Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2014-March/006981.html
Name: Kernel-nice.843 Ancestors: Kernel-nice.842
Correct the bug I introduced for large integer sqrtFloor.
If receiver was of the form 2^2n*u we did answer 2^n *E(sqrt(u))
But sqrt(u) = E(sqrt(u)) + residue where 0<=residue<1 And result is rather E(2^n*sqrt(u)) = E( 2^n*(E(sqrt(u)) + residue)) = 2^n*E(sqrt(u)) + E(2^n*residue)
As 2^n * residue can be big (superior to 1), we miss the correct value by default.
If we want to correct this, an approximation of residue is (u-E(sqrt(u))^2) / 2 E(sqrt(u)) This is more or less like super Newton-Raphson inner loop... It would be possible to duplicate super work, but I feel like it's adding too much complexity for small reward, so I prefer to remove offending code for now
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2014-March/006982.html
Name: KernelTests-nice.264 Ancestors: KernelTests-nice.263
A non regression test for just found sqrtFloor bug.
=============================================
squeak-dev@lists.squeakfoundation.org