Ho provato a utilizzare forall
per allocare gli array dinamici, ma a Gfortran non piaceva. Ho anche scoperto che le istruzioni write
sono proibite in un blocco forall
e ho il sospetto che le istruzioni siano anche read
.Fortran per tutte le restrizioni
Quali altre funzioni/operazioni non sono consentite in un blocco forall
?
Esattamente a cosa serve questo costrutto, oltre a sostituire a volte i cicli do
quando l'ordine non è importante? Ho pensato che avrebbe reso la codifica più leggibile ed elegante, soprattutto mostrando quando l'ordine delle operazioni non è importante, ma sembra abbastanza restrittivo con le operazioni che possono essere eseguite all'interno di uno forall
.
Quali sono le ragioni di queste restrizioni, ovvero cosa proteggono/impediscono all'utente di incasinare? È una buona idea usare forall
? Se sì, a quali scopi?
In questo momento nel codice su cui sto lavorando c'è solo un blocco forall
e, se l'ho tradotto tutto nei cicli do
, fornirebbe quattro cicli annidati. Qual è il modo migliore?
Grazie, lo hai chiarito. –