Intenté usar forall
para asignar matrices dinámicas, pero a gfortran no le gustó eso. También descubrí que las declaraciones write
están prohibidas en un bloque forall
, y sospecho que las declaraciones read
también lo están.Fortran forall restrictions
¿Qué otras funciones/operaciones no están permitidas en un bloque forall
?
¿Para qué sirve esta construcción, además de reemplazar algunas veces los lazos do
cuando el orden no importa? Pensé que haría la codificación más legible y elegante, especialmente cuando el orden de las operaciones no es importante, pero parece bastante restrictivo con las operaciones que se pueden hacer dentro de un forall
.
¿Cuáles son los motivos de estas restricciones, es decir, qué protegen/evitan que el usuario se equivoque? ¿Es una buena idea usar forall
? Si es así, ¿para qué?
En este momento en el código que estoy trabajando sólo hay un bloque de forall
, y si lo traduje todo en do
bucles que le daría cuatro bucles anidados. ¿Qué camino es mejor?
Gracias, lo has dejado bastante claro. –