-- ----------------------------------------------------------------------- -- Title: float_types -- Last Mod: Wed May 16 07:50:44 1990 -- Author: Vincent Broman -- Visibility: -- Withed only by packages implementing the generic floating -- point math functions. -- Description: -- Mostly portable names for floating point types. -- -- Functions in generic packages are implemented in terms of the -- types defined below and generic bodies convert arguments and -- function values to/from these types in order to avoid -- problems caused by a possible constraint on the -- generic actual floating point type supplied by the user. -- The type conversions should generate no run-time code, -- and the tests dispatching to handlers of the different -- precisions and formats should be constant-folded at compile -- time by a decent optimizer. -- -- Exceptions: None. -- ----------------------------------------------------------------------- with system; package float_types is -- -- 21 to 24 bits, but generally 24. type single is digits 6; -- 51 to 56 bits, but usually 53, which is digits 15. -- However, we want to include vax d_float, which has 56 bits, -- only the dynamic range limits the model numbers to digits 9. type double is digits 9; -- 52 to 113 bits. -- max_digits usually does not exceed 15, but vax h_float gives 33, -- so longest_float is not always the same as double. type longest_float is digits system.max_digits; end float_types; -- $Header: float_types_s.a,v 3.15 90/05/16 14:55:43 broman Exp $