diff options
Diffstat (limited to 'core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java')
-rw-r--r-- | core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java b/core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java new file mode 100644 index 00000000..73be7685 --- /dev/null +++ b/core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java @@ -0,0 +1,42 @@ +package org.bouncycastle.math.field; + +import org.bouncycastle.util.Arrays; + +class GF2Polynomial implements Polynomial +{ + protected final int[] exponents; + + GF2Polynomial(int[] exponents) + { + this.exponents = Arrays.clone(exponents); + } + + public int getDegree() + { + return exponents[exponents.length - 1]; + } + + public int[] getExponentsPresent() + { + return Arrays.clone(exponents); + } + + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + } + if (!(obj instanceof GF2Polynomial)) + { + return false; + } + GF2Polynomial other = (GF2Polynomial)obj; + return Arrays.areEqual(exponents, other.exponents); + } + + public int hashCode() + { + return Arrays.hashCode(exponents); + } +} |