Compare with the Cray C90 table, the Cray T3E table, the Digital Alpha table, and the NAG table.
INTEGER default KIND number = 4 digits = 31 radix = 2 range = 9 huge = 2147483647 bit_size = 32 INTEGER int15 int31 int63 KIND number = 2 4 8 digits = 15 31 63 radix = 2 2 2 range = 4 9 18 huge = 32767 2147483647 9223372036854775807 bit_size = 16 32 64 LOGICAL default byte halfword word double KIND number = 4 1 2 4 8 REAL single double quad default KIND number = 4 8 16 4 digits = 24 53 107 24 maxexponent = 128 1024 1023 128 minexponent = -125 -1021 -915 -125 precision = 6 15 31 6 radix = 2 2 2 2 range = 37 307 275 37 epsilon = 0.11920929E-06 0.22204460E-15 0.12325952E-31 0.11920929E-06 tiny = 0.11754944E-37 0.22250739-307 0.18051944-275 0.11754944E-37 huge = 0.34028235E+39 0.17976931+309 0.89884657+308 0.34028235E+39 COMPLEX single double quad KIND number = 4 8 16 precision = 6 15 31 range = 37 307 275Note. According to the SGI man models the value of minexponent in quad precision should be -967 instead of -915.
The small exponent range in quad precision is astonishing! Working with the methods from the introductory course in Numerical Methods, and with Fortran 90 but avoiding the intrinsics, I find that the exponent parameters maxexponent, minexponent, and range seem to be the same in quad precision as in double precision, but we do not get full quad precision outside the parameters above. The above table is therefore verified!
The SGI quad precision is very different from the Digital Alpha quad precision, which has a very large range. The reason is that with SGI the quad variables are represented as the sum or difference of two doubles, normalized so that the smaller double is <= 0.5 units in the last position of the larger.