- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am porting fortran code from fortran power station(version 4.0) to fortran 11(2003) version. old compiler(power station) is a 53-bit precision. While porting into new compiler 11, it is not giving proprer/exact values to real/float variables. I hope the new compiler is 64-bit precision. So I need to change fpu(floating point unit) from 53-bit to 64-bit precision. Is this correct? If so please tell me how to change 53-bit to 64-bit precision from properties of new compiler?
otherwise tell me how to do it for new compiler(11).
Thanks in adavance.
I am porting fortran code from fortran power station(version 4.0) to fortran 11(2003) version. old compiler(power station) is a 53-bit precision. While porting into new compiler 11, it is not giving proprer/exact values to real/float variables. I hope the new compiler is 64-bit precision. So I need to change fpu(floating point unit) from 53-bit to 64-bit precision. Is this correct? If so please tell me how to change 53-bit to 64-bit precision from properties of new compiler?
otherwise tell me how to do it for new compiler(11).
Thanks in adavance.
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The new compiler is giving you proper and exact values - Microsoft Fortran PowerStation gave you more precision, sometimes, than you asked for. This is not predictable and a program that depends on it is, in my view, broken.
You can try adding the /arch:ia32 option (Use extended instruction set > No extended instructions) and you should get closer to the Microaoft compiler, with a tradeoff of performance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
The new compiler is giving you proper and exact values - Microsoft Fortran PowerStation gave you more precision, sometimes, than you asked for. This is not predictable and a program that depends on it is, in my view, broken.
You can try adding the /arch:ia32 option (Use extended instruction set > No extended instructions) and you should get closer to the Microaoft compiler, with a tradeoff of performance.
If your program uses parentheses carefully, /fp:source will require the compiler to heed them, and removes some optimizations which may give different numerical results from your previous expectation. It's possible this option will help reconcile your results without setting /arch:ia32

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