[squeak-dev] The Trunk: Kernel-eem.1416.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Oct 1 21:37:08 UTC 2021

Eliot Miranda uploaded a new version of Kernel to project The Trunk:

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

Name: Kernel-eem.1416
Author: eem
Time: 1 October 2021, 2:37:05.661504 pm
UUID: 2b78c119-0d77-4333-a40c-efd59f951f13
Ancestors: Kernel-ul.1415

No point wasting time with the isFinite check in fromIEEE64Bit:; multipying nan or infinity by 1.0 yields teh same result.  So save time by always multiplying by 1.0

=============== Diff against Kernel-ul.1415 ===============

Item was changed:
  ----- Method: Float class>>fromIEEE64Bit: (in category 'instance creation') -----
  fromIEEE64Bit: anInteger
  	"Convert the given 64 bit word (which is supposed to be a positive 64-bit value) from
  	  a 64 bit IEEE floating point representation into an actual Squeak float object (being
  	  64 bits wide). Should only be used for conversion in FloatArrays or likewise objects."
  	| value |
  	value := self basicNew: 2.
  		basicAt: 1 put: (anInteger bitShift: -32);
  		basicAt: 2 put: (anInteger bitAnd: 16rFFFFFFFF).
+ 	^value * 1.0 "reduce to SmallFloat64 if possible"!
- 	^value isFinite
- 		ifTrue: [value * 1.0] "reduce to SmallFloat64 if possible"
- 		ifFalse: [value]!

More information about the Squeak-dev mailing list