Package org.jscience.mathematics.number
Class ModuloInteger
- All Implemented Interfaces:
Serializable,Comparable<ModuloInteger>,javolution.lang.Immutable,javolution.lang.Realtime,javolution.lang.ValueType,javolution.xml.XMLSerializable,Field<ModuloInteger>,GroupAdditive<ModuloInteger>,GroupMultiplicative<ModuloInteger>,Ring<ModuloInteger>,Structure<ModuloInteger>
This class represents a modulo integer. It can be used in conjonction
with the Matrix
class to resolve modulo equations (ref. number theory).
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ModuloIntegerThe modulo integer representing the multiplicative identity.static final ModuloIntegerThe modulo integer representing the additive identity. -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(ModuloInteger that) Compares this number with the specified number for order.copy()Returns a copy of this numberallocatedby the calling thread (possibly on the stack).doubleReturns the value of this number as adouble.booleanCompares this modulo integer against the specified object independently of the current modulus.static LargeIntegerReturns thelocalmodulus for modular arithmetic ornullif the arithmetic operations are non-modular (default).inthashCode()Returns the hash code for this large integer number.inverse()Returns the multiplicative inverse of this object.booleanisLargerThan(ModuloInteger that) Compares the magnitude of this number with that number.longReturns the value of this number as along.Returns the current modulo value of this number.opposite()Returns the additive inverse of this object.plus(ModuloInteger that) Returns the sum of this object with the one specified.static voidsetModulus(LargeInteger modulus) Sets thelocalmodulus for modular arithmetic.times(ModuloInteger that) Returns the product of this object with the one specified.javolution.text.TexttoText()Returns the text representation of the current modulo value of this number.static ModuloIntegervalueOf(CharSequence chars) Returns the modulo integer for the specified character sequence in decimal number.static ModuloIntegervalueOf(LargeInteger value) Returns the modulo integer having the specified value (independently of the current modulo).Methods inherited from class org.jscience.mathematics.number.Number
byteValue, floatValue, intValue, isGreaterThan, isLessThan, minus, pow, shortValue, toString
-
Field Details
-
ZERO
The modulo integer representing the additive identity. -
ONE
The modulo integer representing the multiplicative identity.
-
-
Method Details
-
valueOf
Returns the modulo integer having the specified value (independently of the current modulo).- Parameters:
value- the modulo integer intrinsic value.- Returns:
- the corresponding modulo number.
-
valueOf
Returns the modulo integer for the specified character sequence in decimal number.- Parameters:
chars- the character sequence.- Returns:
- the corresponding modulo number.
-
getModulus
Returns thelocalmodulus for modular arithmetic ornullif the arithmetic operations are non-modular (default).- Returns:
- the local modulus or
nullif none. - See Also:
-
setModulus
Sets thelocalmodulus for modular arithmetic.- Parameters:
modulus- the new modulus ornullto unset the modulus.- Throws:
IllegalArgumentException- ifmodulus <= 0
-
moduloValue
Returns the current modulo value of this number. If the modulus issettonullthe intrinsic value (the creation value) is returned.- Returns:
- the positive number equals to this number modulo modulus or this modulo creation value.
-
toText
public javolution.text.Text toText()Returns the text representation of the current modulo value of this number.- Specified by:
toTextin interfacejavolution.lang.Realtime- Specified by:
toTextin classNumber<ModuloInteger>- Returns:
- the representation of its modulo value.
-
equals
Compares this modulo integer against the specified object independently of the current modulus.- Specified by:
equalsin classNumber<ModuloInteger>- Parameters:
that- the object to compare with.- Returns:
trueif that is a modulo number with the same intrinsic value;falseotherwise.
-
hashCode
public int hashCode()Returns the hash code for this large integer number.- Specified by:
hashCodein classNumber<ModuloInteger>- Returns:
- the hash code value.
-
isLargerThan
Description copied from class:NumberCompares the magnitude of this number with that number.- Specified by:
isLargerThanin classNumber<ModuloInteger>- Returns:
|this| > |that|
-
longValue
public long longValue()Description copied from class:NumberReturns the value of this number as along.- Specified by:
longValuein classNumber<ModuloInteger>- Returns:
- the numeric value represented by this object after conversion
to type
long.
-
doubleValue
public double doubleValue()Description copied from class:NumberReturns the value of this number as adouble.- Specified by:
doubleValuein classNumber<ModuloInteger>- Returns:
- the numeric value represented by this object after conversion
to type
double.
-
compareTo
Description copied from class:NumberCompares this number with the specified number for order. Returns a negative integer, zero, or a positive integer as this number is less than, equal to, or greater than the specified number. Implementation must ensure that this method is consistent with equals(x.compareTo(y)==0) == (x.equals(y)),- Specified by:
compareToin interfaceComparable<ModuloInteger>- Specified by:
compareToin classNumber<ModuloInteger>- Parameters:
that- the number to be compared.- Returns:
- a negative integer, zero, or a positive integer as this number is less than, equal to, or greater than the specified number.
-
times
Description copied from interface:RingReturns the product of this object with the one specified.- Specified by:
timesin interfaceGroupMultiplicative<ModuloInteger>- Specified by:
timesin interfaceRing<ModuloInteger>- Parameters:
that- the object multiplier.- Returns:
this ยท that.
-
plus
Description copied from interface:GroupAdditiveReturns the sum of this object with the one specified.- Specified by:
plusin interfaceGroupAdditive<ModuloInteger>- Parameters:
that- the object to be added.- Returns:
this + that.
-
opposite
Description copied from interface:GroupAdditiveReturns the additive inverse of this object. It is the object such asthis.plus(this.opposite()) == ZERO, withZERObeing the additive identity.- Specified by:
oppositein interfaceGroupAdditive<ModuloInteger>- Returns:
-this.
-
inverse
Description copied from interface:GroupMultiplicativeReturns the multiplicative inverse of this object. It it the object such asthis.times(this.inverse()) == ONE, withONEbeing the multiplicative identity.- Specified by:
inversein interfaceGroupMultiplicative<ModuloInteger>- Returns:
ONE / this.
-
copy
Description copied from class:NumberReturns a copy of this numberallocatedby the calling thread (possibly on the stack).- Specified by:
copyin interfacejavolution.lang.ValueType- Specified by:
copyin classNumber<ModuloInteger>- Returns:
- an identical and independant copy of this number.
-