Ho notato i risultati dell'output di lista write(*,*)
in Fortran dipende dal compilatore.Evita newline nell'output lista-diretto con il compilatore Intel Fortran
Infatti, con il codice:
program one
real(8), dimension(5):: r1
do i=1,5
r1(i)=sqrt(i*10.0)
end do
write(*,*) (r1(i), i =1,5)
end program one
Intel compilatore ifort dà uscita standard interrotta da una nuova riga:
3.16227769851685 4.47213602066040 5.47722530364990
6.32455539703369 7.07106781005859
mentre gfortran dà l'equivalente risultato una riga:
3.1622776601683795 4.4721359549995796 5.4772255750516612 6.3245553203367590 7.0710678118654755
Penso che ifort stia scrivendo al massimo 3 elementi per riga (quando i numeri reali sono fluttuanti). Esiste un modo per rendere l'output ifort come gfrotran, ad esempio evitare la newline? Idealmente, mi piacerebbe mantenere le istruzioni (*,*)
di output diretto alle liste, quindi sto cercando qualcosa come un'opzione per il compilatore o così, se presente.
Nota possono esserci dei problemi http://stackoverflow.com/questions/24492202/iforts-no-wrap-margin-works-only-partially ma resta la migliore risposta – Mark