| P. N. Hilfinger. Implementing Ada Fixed-Point Types Having Arbitrary Scales. Computer Science Report No. 582, Univ. of California at Berkeley, June 1990. |
....combinations of source and target smalls, that many vendors prohibited representation clauses for nonbinary smalls, or perhaps for smalls not decomposable as products of powers of two and five. Algorithms for arbitrary smalls that made only modest assumptions about the hardware were published [5] but were never widely implemented. In Ada 9X, we have abandoned the application of the model of real arithmetic to fixed point types. There no longer are model numbers, safe numbers, and machine numbers of fixed point types. The values of a fixed point type are, simply, integer multiples of the ....
P. N. Hilfinger. Implementing Ada Fixed-Point Types Having Arbitrary Scales. Computer Science Report No. 582, Univ. of California at Berkeley, June 1990.
....difficulty of dealing accurately with multiplications and divisions having incompatible smalls as well as fixed point G 16 Numerics Ada 95 Rationale: Annexes multiplications, divisions, and conversions yielding a result of an integer or floating point type. Algorithms have been published in [Hilfinger 90] but these are somewhat complicated and do not quite cover all cases, leading to implementations that do not support representation clauses for Small and that, therefore, only support binary smalls. The solution adopted in Ada 95 is to remove some of the freedoms of the interval based accuracy ....
....division, with an error no worse than one rounding error. In cases where the smalls are incompatible, the accuracy requirements are relaxed, in support of Requirement R2.2 A(1) in fact, they are left implementation defined. Implementations need not go so far as to use the Hilfinger algorithms [Hilfinger 90] though they may of course do so. An Ada 95 implementation could, for instance, perform all necessary scaling on the result of a Ada 95 Rationale: Annexes Numerics: G 17 multiplication or division by a single integer multiplication or division (or shifting) That is, the efficiency for the ....
[Article contains additional citation context not shown here]
P. N. Hilfinger. Implementing Ada Fixed-point Types Having Arbitrary Scales. Technical Report Report No. UCB/CSD 90/#582, University of California, Berkeley, CA, June, 1990.
....In the case where all three have the same base for the smalls (e.g. all powers of 2 or all powers of 10) there are no difficulties. This is why COBOL has no problems in allowing the general case. However, if different smalls are mixed, then the computations are more complex. Jean Pierre Rosen [2, 3] has described the treatment of the case where smalls are allowed to be any combination of powers of 2 and powers of 5, and Paul Hilfinger [1] has treated the more general case. The conclusion is that it is possible to deal with the general case without undue computational inefficiency (only ....
....performs a floating point division of the numerator by the denominator. More on this, especially accuracy considerations, will be found in section B.3.3. Conversion from floating point to fixed point requires special care to guarantee the required 6 This was written before P. Hilfinger s papers [2]. 30 CMU SEI 90 SR 2 accuracy, especially when the resulting fixed point value is equal to or near a model number of the floating point type. First, note that a value of a floating point type is defined (RM exponent 3.5.7) as sign mantissa 2 . This can be interpreted as a fixed point value ....
Hilfinger, P. Implementing Ada Fixed-Point Types Having Arbitrary Scales. University of California, Berkeley, March, 1990.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC