Y at-il un bon moyen d'écrire une déclaration Fortran ASSOCIÉ pour activer cetteSyntaxe Fortran ASSOCIATE pour autoriser l'accès indexé?
FORALL (i = 2:n-2)
v(:,i) = v(:,i) + MATMUL(A, &
c(2)*u(:,i-2) + c(1)*u(:,i-1) + c(0)*u(:,i) + c(1)*u(:,i+1) + c(2)*u(:,i+2))
END FORALL
en quelque chose comme le
ASSOCIATE (U => ..., V => ...)
FORALL (i = 2:n-2)
V(i) = V(i) + MATMUL(A, &
c(2)*U(i-2) + c(1)*U(i-1) + c(0)*U(i) + c(1)*U(i+1) + c(2)*U(i+2))
END FORALL
END ASSOCIATE
suivante Je regarde à Adams et al de Le Fortran 2003 section Manuel 8.2, mais je ne vois pas comment écrire la construction associate-name => selector
pour permettre l'accès indexé dans le associate-name
.
De toute évidence, ce que je vais faire est exagéré pour quelques lignes. J'en ai un tas que je voudrais condenser.
Merci pour la réponse Andrew. À moins de jouer à des jeux de préprocesseur, y a-t-il un langage standard pour accomplir ce que je veux? –
@Rhys: Je pense que l'idiome serait d'utiliser des pointeurs vers des sections de tableau, mais je ne pense pas que cela rendra votre code plus compréhensible ou plus net ou plus court, ce qui semble être vos objectifs. –
@Mark: Je suis tout à fait d'accord avec les pointeurs sur les sections de tableau qui ne rendent pas plus agréable. Merci les gars. –