Doubt Branchless code

matheus matheus at gmail.com
Mon Apr 6 19:08:53 UTC 2026


Hello,

Back in C days I used to write code with function pointer to 
avoid writing branches inside loops,

To avoid this:

for(;;){
   if(opt == 1){ func_1(); }else{func_2()};
}
Or maybe using switch if there were more options...

So I used to do:

if(opt == 1){ fp  = &func_1(); }else{ fp = &func_2()};

for(;;){
  fp();
}


I would like to know if there is a different way of doing that in 
D during RT execution and dynamic change of function execution 
before the loops?

Thanks in advance,

Matheus.


More information about the Digitalmars-d-learn mailing list