Time: 12 February 2015, 2:54:16.228 am
Put some higher expectations from #timesTwoPower: fallback code than it can currently handle.
Some of these test will start failing when the primitive is disabled.
Some will fail immediately.
=============== Diff against KernelTests-mt.286 ===============
Item was added:
+ ----- Method: FloatTest>>testTimesTwoPowerGradualUnderflow (in category 'testing - arithmetic') -----
+ "Here is a vicious case where timesTwoPower is inexact because it underflows.
+ And two consecutive inexact operations lead to a different result than a single one.
+ A naive implementation might fail to handle such case correctly."
+ | f |
+ f := 3.0 reciprocal predecessor predecessor predecessor.
+ self deny: ((f timesTwoPower: Float emin) timesTwoPower: -3) = (f timesTwoPower: Float emin - 3)!