Operating System - OpenVMS
1828370 Members
2852 Online
109976 Solutions
New Discussion

Re: 128 bit floating point real

 
SOLVED
Go to solution
Neil Roberts
Occasional Advisor

128 bit floating point real

Hi,

I've had a user come to me asking about whether Alpha has support for 128 bit floating point reals (H-floating on VAX).

Any help on this would be appreciated.

thanks

Neil
9 REPLIES 9
Ian Miller.
Honored Contributor
Solution

Re: 128 bit floating point real

According to the migration manual
http://h71000.www7.hp.com/doc/73final/documentation/pdf/OVMS_MIGR_APPL.pdf

H float is not supported. Consider using X float which is IEEE extended double precision and has a similar range. There are compiler qualifers (depending on the language used) to select this and conversion routines to convert to various formats.

VAX code translated to Alpha using DECmigration can use H Float.
____________________
Purely Personal Opinion
Kris Clippeleyr
Honored Contributor

Re: 128 bit floating point real

Neil,
The FORTRAN compiler supports REAL*16.
On VAX processors, H_floating format is used to implement REAL*16. On Alpha processors, IEEE X_floating format is used to implement REAL*16.
Regards,
Kris (aka Qkcl)

I'm gonna hit the highway like a battering ram on a silver-black phantom bike...
Joseph Huber_1
Honored Contributor

Re: 128 bit floating point real

I don't know off-hand what floating type it is (depending on compile /FLOAT switches ?), but this quick test shows:

create f128.for
program f128
* test if we have real*16
real*16 test
test=1.1234567899999999
print *, ' ',test
print *, ' ',test/test
end Exit
fortran f128.for
link f128
run f128
1.12345683574676513671875000000000
1.00000000000000000000000000000000
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: 128 bit floating point real


In addition on Alphas, the DOUBLE PRECISION (F90 REAL(KIND=16)) can be made by default 128 bit (X-floating), with the /DOUBLE_SIZE=128 Fortran compiler switch.
http://www.mpp.mpg.de/~huber
Neil Roberts
Occasional Advisor

Re: 128 bit floating point real

Thanks for all the responses.

Unfortunately we're using ADA rather than Fortran, which doesn't have the X or H switches available. Does anyone have any thoughts on the ADA side?

Neil
Kris Clippeleyr
Honored Contributor

Re: 128 bit floating point real

Neil,
AFAIK, on Alpha, the FORTRAN, the HP C, the HP Pascal compilers support 128-bit floating points (IEEE X_float); the ADA compiler does not.
Regards,
Kris (aka Qkcl)


I'm gonna hit the highway like a battering ram on a silver-black phantom bike...
Ian Miller.
Honored Contributor

Re: 128 bit floating point real

The manual I referenced has info on ADA. Search it for 128.
____________________
Purely Personal Opinion
Neil Roberts
Occasional Advisor

Re: 128 bit floating point real

Thank you all for your assistance. Looks like a Fortran licence may be in the offing!!

Neil
Neil Roberts
Occasional Advisor

Re: 128 bit floating point real

No solution for problem. Time to look at Fortran.