Macro-adaptive algorithms