summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/pqc/math/linearalgebra/GFElement.java
diff options
context:
space:
mode:
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/pqc/math/linearalgebra/GFElement.java')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/pqc/math/linearalgebra/GFElement.java158
1 files changed, 0 insertions, 158 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/math/linearalgebra/GFElement.java b/bcprov/src/main/java/org/bouncycastle/pqc/math/linearalgebra/GFElement.java
deleted file mode 100644
index 1e93e15..0000000
--- a/bcprov/src/main/java/org/bouncycastle/pqc/math/linearalgebra/GFElement.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.bouncycastle.pqc.math.linearalgebra;
-
-import java.math.BigInteger;
-
-
-/**
- * This interface defines a finite field element. It is implemented by the
- * classes {@link GFPElement} and {@link GF2nElement}.
- *
- * @see GFPElement
- * @see GF2nElement
- */
-public interface GFElement
-{
-
- /**
- * @return a copy of this GFElement
- */
- Object clone();
-
- // /////////////////////////////////////////////////////////////////
- // comparison
- // /////////////////////////////////////////////////////////////////
-
- /**
- * Compare this curve with another object.
- *
- * @param other the other object
- * @return the result of the comparison
- */
- boolean equals(Object other);
-
- /**
- * @return the hash code of this element
- */
- int hashCode();
-
- /**
- * Checks whether this element is zero.
- *
- * @return <tt>true</tt> if <tt>this</tt> is the zero element
- */
- boolean isZero();
-
- /**
- * Checks whether this element is one.
- *
- * @return <tt>true</tt> if <tt>this</tt> is the one element
- */
- boolean isOne();
-
- // /////////////////////////////////////////////////////////////////////
- // arithmetic
- // /////////////////////////////////////////////////////////////////////
-
- /**
- * Compute the sum of this element and the addend.
- *
- * @param addend the addend
- * @return <tt>this + other</tt> (newly created)
- * @throws DifferentFieldsException if the elements are of different fields.
- */
- GFElement add(GFElement addend)
- throws RuntimeException;
-
- /**
- * Compute the sum of this element and the addend, overwriting this element.
- *
- * @param addend the addend
- * @throws DifferentFieldsException if the elements are of different fields.
- */
- void addToThis(GFElement addend)
- throws RuntimeException;
-
- /**
- * Compute the difference of this element and <tt>minuend</tt>.
- *
- * @param minuend the minuend
- * @return <tt>this - minuend</tt> (newly created)
- * @throws DifferentFieldsException if the elements are of different fields.
- */
- GFElement subtract(GFElement minuend)
- throws RuntimeException;
-
- /**
- * Compute the difference of this element and <tt>minuend</tt>,
- * overwriting this element.
- *
- * @param minuend the minuend
- * @throws DifferentFieldsException if the elements are of different fields.
- */
- void subtractFromThis(GFElement minuend);
-
- /**
- * Compute the product of this element and <tt>factor</tt>.
- *
- * @param factor the factor
- * @return <tt>this * factor</tt> (newly created)
- * @throws DifferentFieldsException if the elements are of different fields.
- */
- GFElement multiply(GFElement factor)
- throws RuntimeException;
-
- /**
- * Compute <tt>this * factor</tt> (overwrite <tt>this</tt>).
- *
- * @param factor the factor
- * @throws DifferentFieldsException if the elements are of different fields.
- */
- void multiplyThisBy(GFElement factor)
- throws RuntimeException;
-
- /**
- * Compute the multiplicative inverse of this element.
- *
- * @return <tt>this<sup>-1</sup></tt> (newly created)
- * @throws ArithmeticException if <tt>this</tt> is the zero element.
- */
- GFElement invert()
- throws ArithmeticException;
-
- // /////////////////////////////////////////////////////////////////////
- // conversion
- // /////////////////////////////////////////////////////////////////////
-
- /**
- * Returns this element as FlexiBigInt. The conversion is <a
- * href="http://grouper.ieee.org/groups/1363/">P1363</a>-conform.
- *
- * @return this element as BigInt
- */
- BigInteger toFlexiBigInt();
-
- /**
- * Returns this element as byte array. The conversion is <a href =
- * "http://grouper.ieee.org/groups/1363/">P1363</a>-conform.
- *
- * @return this element as byte array
- */
- byte[] toByteArray();
-
- /**
- * Return a String representation of this element.
- *
- * @return String representation of this element
- */
- String toString();
-
- /**
- * Return a String representation of this element. <tt>radix</tt>
- * specifies the radix of the String representation.
- *
- * @param radix specifies the radix of the String representation
- * @return String representation of this element with the specified radix
- */
- String toString(int radix);
-
-}