|
|
Class: ModuloNumber (private in Integer
This class is only visible from within
Integer.
Object
|
+--Integer::ModuloNumber
- Package:
- stx:libbasic
- Category:
- Magnitude-Numbers
- Owner:
- Integer
- Author:
- Stefan Vogel
This is a helper class to perform fast computation of the modulus.
(with big numbers, this does make a difference)
WARNING: this does only work with numbers which have no common
divisor (which is true for cryptographic applications).
So, use this only if you know what you are doing ...
[instance variables:]
modulus the modulus
reciprocal reciprocal of the modulus
shift shift count to cut off some bits
Integer
SmallInteger
LargeInsteger
instance creation
-
modulus: anInteger
-
accessing
-
modulus
-
return the modulus
-
modulus: n
-
set the modulus
arithmetic
-
modulusOf: aNumber
-
compute the aNumber modulo myself.
The shortcut works only, if aNumber is < modulo * modulo
(When doing arithmethic modulo something).
Otherwise do it the long way
converting
-
asModuloNumber
-
17 asModuloNumber modulusOf:38
|
|