gfxgfx
 
Please login or register.

Login with username, password and session length
 
gfx gfx
gfx
1617 Posts in 535 Topics by 779 Members - Latest Member: rhoronjeff@comcast.net November 27, 2022, 09:10:31 PM
*
gfx* Home | Help | Search | Login | Register | gfx
gfx
Absoft User Forum  |  Support  |  General  |  Isn't it problematic that spacing(1.0) is not equal to epsilon(1.0) in quadrupl
gfx
gfxgfx
 

Author Topic: Isn't it problematic that spacing(1.0) is not equal to epsilon(1.0) in quadrupl  (Read 4897 times)

kengo

  • Newbie
  • *
  • Posts: 6
Both of the values of spacing(1.0) and epsilon(1.0) is 0.5**23 in single precision, and 0.5**52 in double precision.

The value of spacing(1.0) is however not equal to that of epsilon(1.0) in quadruple precision.
The value of epsilon(1.0) is close to 0.5**112 (but not equal to), whereas that of spacing(1.0) is 0.5**109.

Isn't it problematic that spacing(1.0) is not equal to epsilon(1.0) in quadruple precision?

How many bits is the length of the mantissa in quadruple precision?

If Absoft Pro FORTRAN adopts double_double precision, I suppose it should be 105 bits, and the values of spacing(1.0) and epsilon(1.0) should be 0.5**105.
In the case of that the compiler adopts the binary128 format defined in IEEE754-2008, it should be 112 bits, and the values of them should be 0.5**112.

« Last Edit: August 16, 2011, 03:19:06 AM by kengo »

forumadmin

  • Administrator
  • Sr. Member
  • *****
  • Posts: 333
128-bit reals are maintained in IBM format as a pair of double precision IEEE values. The "upper" value contains the exponent and the most significant portion of the mantissa. The "lower" value contains the rest of the mantissa. This representation provides the best performance on architectures that so not support 128-bit floating point in hardware.

kengo

  • Newbie
  • *
  • Posts: 6
Thank you for your responding.

According to the following URL, the value of epsilon(1.0_16) is 2**(-105)=0.24651903288156618919116517665087070E-31 in the IBM format.
On the other hand, Absoft Pro FORTRAN on OSX10.7Lion returns 2**(-112)=0.192592994438723585305597794258498000E-33 as the value of epsilon(1.0_16).

I could be wrong, but I think there might be any problems.

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/128bit_long_double_floating-point_datatype.htm
« Last Edit: August 16, 2011, 10:42:37 AM by kengo »

kengo

  • Newbie
  • *
  • Posts: 6
The values of tiny(1.0_16) and huge(1.0_16) in Absoft Pro FORTRAN on OSX10.7Lion are as follows.

  Tiny:  2.22507385850720140751946019008756E-308
 Huge:  1.79769313486231570814527423731730E+308

The lower 18 digits of the value of tiny aren't coincide with the lower bound of the range of quad precision values on the Absoft Fortran Language Reference Manual.

The lower 18 digits of the value of huge aren't coincide with the Maximum Long Double Value on the following IBM's document, whereas it is equal to the upper bound of the range of quad precision values on the Absoft Fortran Language Reference Manual.

If Absoft Pro Fortran adopts the IBM format, the range of the quad precision values should be coincide with that of IBM.

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/128bit_long_double_floating-point_datatype.htm

I could be wrong, but I think there might be any problems in quadruple precision arithmetics of Absoft Pro Fortran.

How do you think about this issue?
« Last Edit: August 16, 2011, 10:41:45 AM by kengo »

Mike Linacre

  • Sr. Member
  • ****
  • Posts: 259
Kengo, please email this comparison to Absoft software support.

Absoft User Forum  |  Support  |  General  |  Isn't it problematic that spacing(1.0) is not equal to epsilon(1.0) in quadrupl
 

gfxgfx
gfx gfx
Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!