Class ModulusField
- java.lang.Object
-
- com.singularsys.extensions.field.implementations.AbstractComparativeField
-
- com.singularsys.extensions.field.implementations.GenericField<java.lang.Integer>
-
- com.singularsys.extensions.field.implementations.ModulusField
-
- All Implemented Interfaces:
FieldI
,IntegerConvertor
,java.io.Serializable
public class ModulusField extends GenericField<java.lang.Integer>
A field to work with small modulus values < 46341.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ModulusField(int modulus)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Integer
addG(java.lang.Integer l, java.lang.Integer r)
Adds two elements of type E.java.lang.Integer
cast(java.lang.Object l)
Convert input to an integer in the range [0,modulus)java.lang.Integer
cmpG(java.lang.Integer l, java.lang.Integer r)
Not implemented for this field.java.lang.Integer
convertFromInt(java.lang.Integer l)
Attempt to convert argument from an integerjava.lang.Integer
convertToIntE(java.lang.Integer l)
If possible convert the argument to an Integer to enable integral powers.java.lang.Integer
divG(java.lang.Integer l, java.lang.Integer r)
Not implemented for this field.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.lang.Integer
getOne()
Get the multiplicative identity for this field.java.lang.Integer
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.lang.Integer
modG(java.lang.Integer l, java.lang.Integer r)
Modulus of two elements of type E.java.lang.Integer
mulG(java.lang.Integer l, java.lang.Integer r)
Multiplies two elements of type E.java.lang.Boolean
ne(java.lang.Object lo, java.lang.Object ro)
Not Equalsjava.lang.Integer
negG(java.lang.Integer l)
Negates an elements of type E.java.lang.Integer
powG(java.lang.Integer l, java.lang.Integer r)
Raises l to the power of rjava.lang.Integer
subG(java.lang.Integer l, java.lang.Integer r)
Subtracts two elements of type E.
-
-
-
Method Detail
-
cast
public java.lang.Integer cast(java.lang.Object l)
Convert input to an integer in the range [0,modulus)- Specified by:
cast
in classGenericField<java.lang.Integer>
- Parameters:
l
- input- Returns:
- value in range or null if it cannot be converted
-
addG
public java.lang.Integer addG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Description copied from class:GenericField
Adds two elements of type E.- Specified by:
addG
in classGenericField<java.lang.Integer>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the sum
- Throws:
EvaluationException
- on error
-
subG
public java.lang.Integer subG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Description copied from class:GenericField
Subtracts two elements of type E.- Specified by:
subG
in classGenericField<java.lang.Integer>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the difference
- Throws:
EvaluationException
- on error
-
negG
public java.lang.Integer negG(java.lang.Integer l) throws EvaluationException
Description copied from class:GenericField
Negates an elements of type E.- Specified by:
negG
in classGenericField<java.lang.Integer>
- Parameters:
l
- the argument- Returns:
- the negation
- Throws:
EvaluationException
- on error
-
mulG
public java.lang.Integer mulG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Description copied from class:GenericField
Multiplies two elements of type E.- Specified by:
mulG
in classGenericField<java.lang.Integer>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the product
- Throws:
EvaluationException
- on error
-
divG
public java.lang.Integer divG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Not implemented for this field.- Specified by:
divG
in classGenericField<java.lang.Integer>
- Parameters:
l
- numeratorr
- denominator- Returns:
- the division
- Throws:
EvaluationException
- on error
-
modG
public java.lang.Integer modG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Description copied from class:GenericField
Modulus of two elements of type E.- Specified by:
modG
in classGenericField<java.lang.Integer>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the modulus
- Throws:
EvaluationException
- on error
-
powG
public java.lang.Integer powG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Description copied from class:GenericField
Raises l to the power of r- Specified by:
powG
in classGenericField<java.lang.Integer>
- Parameters:
l
- lhs argumentr
- rhs argument- Returns:
- the power
- Throws:
EvaluationException
- on error
-
cmpG
public java.lang.Integer cmpG(java.lang.Integer l, java.lang.Integer r) throws EvaluationException
Not implemented for this field.- Specified by:
cmpG
in classGenericField<java.lang.Integer>
- 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.lang.Integer getOne()
Description copied from interface:FieldI
Get the multiplicative identity for this field.- Specified by:
getOne
in interfaceFieldI
- Specified by:
getOne
in classGenericField<java.lang.Integer>
- Returns:
- object representing one or null if undefined for this field
-
getZero
public java.lang.Integer getZero()
Description copied from interface:FieldI
Get the additive identity for this field- Specified by:
getZero
in interfaceFieldI
- Specified by:
getZero
in classGenericField<java.lang.Integer>
- Returns:
- object representing zero or null if undefined for this field
-
convertToIntE
public java.lang.Integer convertToIntE(java.lang.Integer 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.lang.Integer>
- Parameters:
l
- argument to convert.- Returns:
- an integer or null if argument cannot be converted
- Throws:
EvaluationException
-
convertFromInt
public java.lang.Integer 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.lang.Integer>
- Parameters:
l
- value to convert- Returns:
- corresponding value in this field or null if it cannot be converted
- Throws:
EvaluationException
- probably never
-
-