2009/10/25 Nicolas Cellier <[email protected]>:
> 2009/10/25 Andres Valloud <[email protected]>:
>>
>> isPrime
>>
>>    | guess guessSquared delta selfSqrtFloor |
>>    self <= 1 ifTrue: [^self error: 'operation undefined'].
>>    self even ifTrue: [^self = 2].
>>    guess := 1 bitShift: self highBit + 1 // 2.
>>    [
>>        guessSquared := guess * guess.
>>        delta := guessSquared - self // (guess bitShift: 1).
>>        delta = 0
>>    ] whileFalse: [guess := guess - delta].
>>    guessSquared = self ifFalse: [guess := guess - 1].
>>    selfSqrtFloor := guess.
>>    3 to: selfSqrtFloor by: 2 do: [:each | self \\ each = 0 ifTrue:
>> [^false]].
>>    ^true
>>
>>
>> Also, the above code can be used to implement sqrtFloor and sqrtRounded
>> in Integer.  I am sure Nicolas Cellier remembers this :).
>
> If http://bugs.squeak.org were not down, I would even provide a link
> with these enhancements
>

google says it should be http://www.google.fr/bugs.squeak.org/view.php?id=7099.
Or go to the source
http://blogten.blogspot.com/2008/06/drove-to-reno-today.html
http://blogten.blogspot.com/2008/06/update-on-sqrtrounded.html


>>
>> Andres.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to