mercredi 29 novembre 2017

Avoid IF statements in a Fortran DO loops

In my Fortran program I have something similar to this do loop

do i = 1,imax
    if(period) then
        call g_period()
    else
        call g()
    endif
 enddo

I have this several places and sometimes several If loops within a do loop which checks whether I should call function X or Y. What is common for all this is that period is defined in the input file, and it is unchanged during the whole run time. Is there a way to avoid the if statements - because my speed is killed by all the checking stuff? Although, I want to maintain the generic why of being able to run the program one time with period = true and other times with period=false.

Aucun commentaire:

Enregistrer un commentaire