The Trunk: Kernel-nice.1295.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-nice.1295.mcz

commits-2
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.1295.mcz

==================== Summary ====================

Name: Kernel-nice.1295
Author: nice
Time: 17 February 2020, 6:59:12.589583 pm
UUID: 7b8c61b2-fd1d-473e-9536-57f78a6ec152
Ancestors: Kernel-tonyg.1293

Fast-up isAnExactFloat.
Correct a typo in a comment.

=============== Diff against Kernel-tonyg.1293 ===============

Item was changed:
  ----- Method: Integer>>isAnExactFloat (in category 'testing') -----
  isAnExactFloat
  "Answer true if this Integer can be converted exactly to a Float"
  | h |
  (h := self highBitOfMagnitude) <= Float precision
  ifTrue: [^ true].
  ^ h - 1 <= Float emax
+ and: [(self anyBitOfMagnitudeFrom: 1 to: h - Float precision) not]!
- and: [h - self abs lowBit < Float precision]!

Item was changed:
  ----- Method: NumberParser>>makeFloatFromMantissa:exponent:base: (in category 'parsing-private') -----
  makeFloatFromMantissa: m exponent: k base: aRadix
+ "Convert infinite precision arithmetic into limited precision Floating point.
+ This algorithm rely on correct IEEE rounding mode
- "Convert infinite precision arithmetic into Floating point.
- This alogrithm rely on correct IEEE rounding mode
  being implemented in Integer>>asFloat and Fraction>>asFloat"
 
  k = 0 ifTrue: [ ^m asFloat ].
  k > 0 ifTrue: [ ^(m * (aRadix raisedToInteger: k)) asFloat ].
  ^(Fraction numerator: m denominator: (aRadix raisedToInteger: k negated)) asFloat!