> I have an trouble in E edit descriptor of gfortran. > This is a example. > (source file: test.f95) > program test > implicit none > real a,b > a=135.0 > b=1737.5 > write(*,*)a,b > write(*,'(e9.3,a,f7.1)')a,' ',b > write(*,'(1pe9.3,a,f7.1)')a,' ',b > end > (compile) > gfortran test.f95 > (execute) > a.exe > (result) > 135.000000 1737.50000 > 0.135E+03 1737.5 > 1.350E+02 17375.0 ( <--- wrong value ) > > I suppose there are some bugs in the E edit descriptor. IIRC (1) the P ‘modifier’ applies to all the subsequent numeric descriptors, (2) when rP is applied to an F descriptor, the value is ‘multiplied’ by 10**r. write(*,'(e9.3,a,1pf7.1)')a,' ‘,b gives 0.135E+03 17375.0 and write(*,'(1pe9.3,a,e9.3)')a,' ‘,b gives 1.350E+02 1.738E+03 So I think gfortran is right.
> I like Fortran and I wish gfortran of GCC to be better compiler. > best regards. If you want to contribute, discussion about gfortran should go to fort...@gcc.gnu.org and bug should be filed in bugzilla. Cheers, Dominique