Challenge: optimizing isqrt

Christian Gollwitzer auriocus at gmx.de
Sat Nov 1 04:38:12 EDT 2014


Am 01.11.14 09:33, schrieb Chris Angelico:
> On Sat, Nov 1, 2014 at 7:25 PM, Christian Gollwitzer <auriocus at gmx.de> wrote:
>>> Part of the point of that algorithm is that it never uses FP, and is
>>> therefore not limited by FP restrictions.
>>
>>
>> which are???
>
> Most notably, the inability to represent every integer beyond 2**53,
> and the inability to represent any integer beyond 2**1024. This
> algorithm should work fine with any positive integer.
>
  OK so you did not bother to look at my proposed alternative 
implementation. If I understood Steven correctly, he wanted to speed up 
the original isqrt algorithm by using FP when this is possible. I have 
shown how to do it for n<2**1022 (maybe 2**1024, I'm to lean to check 
it). I admit that there is some microoptimizatio left, e.g. the first 
division is done twice, the comparison should be bits>1022, not n>2*1022 
etc.

	Christian




More information about the Python-list mailing list