Class BigModulusField
- java.lang.Object
-
- com.singularsys.extensions.field.implementations.AbstractComparativeField
-
- com.singularsys.extensions.field.implementations.GenericField<java.math.BigInteger>
-
- com.singularsys.extensions.field.implementations.BigModulusField
-
- All Implemented Interfaces:
FieldI
,IntegerConvertor
,java.io.Serializable
public class BigModulusField extends GenericField<java.math.BigInteger>
A field to work with modulus values of any value, used BigInteger.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BigModulusField(java.math.BigInteger modulus)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigInteger
addG(java.math.BigInteger l, java.math.BigInteger r)
Adds two elements of type E.java.math.BigInteger
cast(java.lang.Object l)
Convert the input to type E.java.lang.Integer
cmpG(java.math.BigInteger l, java.math.BigInteger r)
Not implemented for this field.java.math.BigInteger
convertFromInt(java.lang.Integer l)
Attempt to convert argument from an integerjava.lang.Integer
convertToIntE(java.math.BigInteger l)
If possible convert the argument to an Integer to enable integral powers.java.math.BigInteger
divG(java.math.BigInteger l, java.math.BigInteger r)
Divides two elements of type E.java.lang.Boolean
eq(java.lang.Object lo, java.lang.Object ro)
Equalsjava.lang.Boolean
ge(java.lang.Object l, java.lang.Object r)
Not implemented for this field.java.math.BigInteger
getOne()
Get the multiplicative identity for this field.java.math.BigInteger
getZero()
Get the additive identity for this fieldjava.lang.Boolean
gt(java.lang.Object l, java.lang.Object r)
Not implemented for this field.java.lang.Boolean
le(java.lang.Object l, java.lang.Object r)
Not implemented for this field.java.lang.Boolean
lt(java.lang.Object l, java.lang.Object r)
Not implemented for this field.java.math.BigInteger
modG(java.math.BigInteger l, java.math.BigInteger r)
Modulus of two elements of type E.java.math.BigInteger
mulG(java.math.BigInteger l, java.math.BigInteger r)
Multiplies two elements of type E.java.lang.Boolean
ne(java.lang.Object lo, java.lang.Object ro)
Not Equalsjava.math.BigInteger
negG(java.math.BigInteger l)
Negates an elements of type E.java.math.BigInteger
powG(java.math.BigInteger l, java.math.BigInteger r)
Raises l to the power of rjava.math.BigInteger
subG(java.math.BigInteger l, java.math.BigInteger r)
Subtracts two elements of type E.
-
-
-
Method Detail
-
cast
public java.math.BigInteger cast(java.lang.Object l)
Description copied from class:GenericField
Convert the input to type E.- Specified by:
cast
in classGenericField<java.math.BigInteger>
- Returns:
- l if l is a BigInteger modulo the modulus, null otherwise
-
addG
public java.math.BigInteger addG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Description copied from class:GenericField
Adds two elements of type E.- Specified by:
addG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the sum
- Throws:
EvaluationException
- on error
-
subG
public java.math.BigInteger subG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Description copied from class:GenericField
Subtracts two elements of type E.- Specified by:
subG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the difference
- Throws:
EvaluationException
- on error
-
negG
public java.math.BigInteger negG(java.math.BigInteger l) throws EvaluationException
Description copied from class:GenericField
Negates an elements of type E.- Specified by:
negG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- the argument- Returns:
- the negation
- Throws:
EvaluationException
- on error
-
mulG
public java.math.BigInteger mulG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Description copied from class:GenericField
Multiplies two elements of type E.- Specified by:
mulG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the product
- Throws:
EvaluationException
- on error
-
divG
public java.math.BigInteger divG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Description copied from class:GenericField
Divides two elements of type E.- Specified by:
divG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- numeratorr
- denominator- Returns:
- the division
- Throws:
EvaluationException
- on error
-
modG
public java.math.BigInteger modG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Description copied from class:GenericField
Modulus of two elements of type E.- Specified by:
modG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the modulus
- Throws:
EvaluationException
- on error
-
powG
public java.math.BigInteger powG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Description copied from class:GenericField
Raises l to the power of r- Specified by:
powG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the power
- Throws:
EvaluationException
- on error
-
cmpG
public java.lang.Integer cmpG(java.math.BigInteger l, java.math.BigInteger r) throws EvaluationException
Not implemented for this field.- Specified by:
cmpG
in classGenericField<java.math.BigInteger>
- Parameters:
l
- left argumentr
- right argument- Returns:
- -1, 0, 1 or null
- Throws:
EvaluationException
-
eq
public java.lang.Boolean eq(java.lang.Object lo, java.lang.Object ro) throws EvaluationException
Description copied from interface:FieldI
Equals- Specified by:
eq
in interfaceFieldI
- Overrides:
eq
in classAbstractComparativeField
- Parameters:
lo
- left hand argumentro
- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException
- on error
-
ne
public java.lang.Boolean ne(java.lang.Object lo, java.lang.Object ro) throws EvaluationException
Description copied from interface:FieldI
Not Equals- Specified by:
ne
in interfaceFieldI
- Overrides:
ne
in classAbstractComparativeField
- Parameters:
lo
- left hand argumentro
- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException
- on error
-
gt
public java.lang.Boolean gt(java.lang.Object l, java.lang.Object r) throws EvaluationException
Not implemented for this field.- Specified by:
gt
in interfaceFieldI
- Overrides:
gt
in classAbstractComparativeField
- Parameters:
l
- left hand argumentr
- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException
- on error
-
ge
public java.lang.Boolean ge(java.lang.Object l, java.lang.Object r) throws EvaluationException
Not implemented for this field.- Specified by:
ge
in interfaceFieldI
- Overrides:
ge
in classAbstractComparativeField
- Parameters:
l
- left hand argumentr
- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException
- on error
-
lt
public java.lang.Boolean lt(java.lang.Object l, java.lang.Object r) throws EvaluationException
Not implemented for this field.- Specified by:
lt
in interfaceFieldI
- Overrides:
lt
in classAbstractComparativeField
- Parameters:
l
- left hand argumentr
- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException
- on error
-
le
public java.lang.Boolean le(java.lang.Object l, java.lang.Object r) throws EvaluationException
Not implemented for this field.- Specified by:
le
in interfaceFieldI
- Overrides:
le
in classAbstractComparativeField
- Parameters:
l
- left hand argumentr
- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException
- on error
-
getOne
public java.math.BigInteger getOne()
Description copied from interface:FieldI
Get the multiplicative identity for this field.- Specified by:
getOne
in interfaceFieldI
- Specified by:
getOne
in classGenericField<java.math.BigInteger>
- Returns:
- object representing one or null if undefined for this field
-
getZero
public java.math.BigInteger getZero()
Description copied from interface:FieldI
Get the additive identity for this field- Specified by:
getZero
in interfaceFieldI
- Specified by:
getZero
in classGenericField<java.math.BigInteger>
- Returns:
- object representing zero or null if undefined for this field
-
convertToIntE
public java.lang.Integer convertToIntE(java.math.BigInteger l) throws EvaluationException
Description copied from class:GenericField
If possible convert the argument to an Integer to enable integral powers. If the argument cannot be converted null should be returned and thepowG(E,E)
method will be called.- Specified by:
convertToIntE
in classGenericField<java.math.BigInteger>
- Parameters:
l
- argument to convert.- Returns:
- an integer or null if argument cannot be converted
- Throws:
EvaluationException
-
convertFromInt
public java.math.BigInteger convertFromInt(java.lang.Integer l) throws EvaluationException
Description copied from interface:IntegerConvertor
Attempt to convert argument from an integer- Specified by:
convertFromInt
in interfaceIntegerConvertor
- Specified by:
convertFromInt
in classGenericField<java.math.BigInteger>
- Parameters:
l
- value to convert- Returns:
- corresponding value in this field or null if it cannot be converted
- Throws:
EvaluationException
- probably never
-
-