- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have a problem in fortran format ,
What dose the meaning of "++++++++++++++" , "-----------------------"
and "???????????????????????"
Source Code below:
....
REAL*8, allocatable, save :: fnode(:,:),Fvec_xy(:),
& Fvec_yz(:),Fvec_xz(:),BME(:,:),nen(:),ioindex(:,:),
& BME2(:,:),BME3(:,:),BMR(:,:),BMR2(:,:),BMR3(:,:),
& vdr(:,:),xinlet(:,:)
...
real :: invWid(3),areatt(2),fnumref,dtmref,FND,FSP,AA,VMP,DTM,area
...
write (100,*) 'in-IOBS_1_1',FND,FSP
call flush(100)
write (100,*) 'in-IOBS_1_2',AA,VMP
call flush(100)
write (100,*) 'in-IOBS_1_3',DTM,area
call flush(100)
...
write (100,*) 'in IOBS_1_BME',BME(ncn,L)
call flush(100)
write (100,*) 'in IOBS_1_BME2',BME2(ncn,L)
call flush(100)
write (100,*) 'in IOBS_1_BME3',BME3(ncn,L)
call flush(100)
...
& Fvec_yz(:),Fvec_xz(:),BME(:,:),nen(:),ioindex(:,:),
& BME2(:,:),BME3(:,:),BMR(:,:),BMR2(:,:),BMR3(:,:),
& vdr(:,:),xinlet(:,:)
...
real :: invWid(3),areatt(2),fnumref,dtmref,FND,FSP,AA,VMP,DTM,area
...
write (100,*) 'in-IOBS_1_1',FND,FSP
call flush(100)
write (100,*) 'in-IOBS_1_2',AA,VMP
call flush(100)
write (100,*) 'in-IOBS_1_3',DTM,area
call flush(100)
...
write (100,*) 'in IOBS_1_BME',BME(ncn,L)
call flush(100)
write (100,*) 'in IOBS_1_BME2',BME2(ncn,L)
call flush(100)
write (100,*) 'in IOBS_1_BME3',BME3(ncn,L)
call flush(100)
...
Correct output Result:
in-IOBS_1_1 0.000000E+00 1.000000
in-IOBS_1_2 0.000000E+00 353.4730
in-IOBS_1_3 1.000000 8.256124
in IOBS_1_BME 0.00000000000000D+000
in IOBS_1_BME2 0.00000000000000D+000
in IOBS_1_BME3 0.00000000000000D+000
in-IOBS_1_2 0.000000E+00 353.4730
in-IOBS_1_3 1.000000 8.256124
in IOBS_1_BME 0.00000000000000D+000
in IOBS_1_BME2 0.00000000000000D+000
in IOBS_1_BME3 0.00000000000000D+000
Incorrect output Result:
in-IOBS_1_1 -1.000000 1.000000
in-IOBS_1_2 ++++++++++++++ 353.4730
in-IOBS_1_3 1.000000 8.256124
in IOBS_1_BME -----------------------
in IOBS_1_BME2 -----------------------
in IOBS_1_BME3 -----------------------
in IOBS_1_BME 0.00000000000000D+000
in IOBS_1_BME2 1.00000000000000
in IOBS_1_BME3 ???????????????????????
in-IOBS_1_2 ++++++++++++++ 353.4730
in-IOBS_1_3 1.000000 8.256124
in IOBS_1_BME -----------------------
in IOBS_1_BME2 -----------------------
in IOBS_1_BME3 -----------------------
in IOBS_1_BME 0.00000000000000D+000
in IOBS_1_BME2 1.00000000000000
in IOBS_1_BME3 ???????????????????????
Regards,
Yuhming
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The Intel 6.x and 7.x compilers used these formats to display +Infinity, -Infinity, and NotaNumber results. Those patterns are likely generated by arithmetic exceptions, as specified by IEEE-754 and successor standards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot ...
We will add somemachine epsilon method to avoid.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page