Zauważyłem, że wyniki listy wyjściowej z listą write(*,*)
w Fortranie zależą od kompilatora.Unikaj nowego wiersza w polecanych listach wyjściowych za pomocą kompilatora Intel Fortran
Rzeczywiście, z kodem:
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 kompilator ifort daje standardową wyjście uszkodzony przez nową linię:
3.16227769851685 4.47213602066040 5.47722530364990
6.32455539703369 7.07106781005859
podczas gfortran daje równoważne wyniki jeden wiersz:
3.1622776601683795 4.4721359549995796 5.4772255750516612 6.3245553203367590 7.0710678118654755
Myślę, że ifort zapisuje maksymalnie 3 elementy w linii (przy pływających liczbach rzeczywistych). Czy istnieje sposób na to, aby wyjście ifort było jak gfrotran, czyli unikanie znaku nowej linii? Idealnie chciałbym zachować instrukcje wyjściowe w postaci listy (*,*)
, więc szukam czegoś w rodzaju opcji kompilatora lub tak, jeśli w ogóle.
Uwaga: mogą występować problemy http://stackoverflow.com/questions/24492202/iforts-no-wrap-margin-works-only-partially, ale wciąż najlepsza odpowiedź – Mark