Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java')
-rw-r--r--core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java b/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java
new file mode 100644
index 00000000..cff9fa74
--- /dev/null
+++ b/core/src/test/java/org/spongycastle/pqc/math/ntru/polynomial/test/LongPolynomial2Test.java
@@ -0,0 +1,60 @@
+package org.spongycastle.pqc.math.ntru.polynomial.test;
+
+import java.util.Random;
+
+import junit.framework.TestCase;
+import org.spongycastle.pqc.math.ntru.polynomial.IntegerPolynomial;
+import org.spongycastle.pqc.math.ntru.polynomial.LongPolynomial2;
+import org.spongycastle.util.Arrays;
+
+public class LongPolynomial2Test
+ extends TestCase
+{
+ public void testMult()
+ {
+ IntegerPolynomial i1 = new IntegerPolynomial(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608});
+ IntegerPolynomial i2 = new IntegerPolynomial(new int[]{1729, 1924, 806, 179, 1530, 1381, 1695, 60});
+ LongPolynomial2 a = new LongPolynomial2(i1);
+ LongPolynomial2 b = new LongPolynomial2(i2);
+ IntegerPolynomial c1 = i1.mult(i2, 2048);
+ IntegerPolynomial c2 = a.mult(b).toIntegerPolynomial();
+ assertTrue(Arrays.areEqual(c1.coeffs, c2.coeffs));
+
+ // test 10 random polynomials
+ Random rng = new Random();
+ for (int i = 0; i < 10; i++)
+ {
+ int N = 2 + rng.nextInt(2000);
+ i1 = PolynomialGenerator.generateRandom(N, 2048);
+ i2 = PolynomialGenerator.generateRandom(N, 2048);
+ a = new LongPolynomial2(i1);
+ b = new LongPolynomial2(i2);
+ c1 = i1.mult(i2);
+ c1.modPositive(2048);
+ c2 = a.mult(b).toIntegerPolynomial();
+ assertTrue(Arrays.areEqual(c1.coeffs, c2.coeffs));
+ }
+ }
+
+ public void testSubAnd()
+ {
+ IntegerPolynomial i1 = new IntegerPolynomial(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608});
+ IntegerPolynomial i2 = new IntegerPolynomial(new int[]{1729, 1924, 806, 179, 1530, 1381, 1695, 60});
+ LongPolynomial2 a = new LongPolynomial2(i1);
+ LongPolynomial2 b = new LongPolynomial2(i2);
+ a.subAnd(b, 2047);
+ i1.sub(i2);
+ i1.modPositive(2048);
+ assertTrue(Arrays.areEqual(a.toIntegerPolynomial().coeffs, i1.coeffs));
+ }
+
+ public void testMult2And()
+ {
+ IntegerPolynomial i1 = new IntegerPolynomial(new int[]{1368, 2047, 672, 871, 1662, 1352, 1099, 1608});
+ LongPolynomial2 i2 = new LongPolynomial2(i1);
+ i2.mult2And(2047);
+ i1.mult(2);
+ i1.modPositive(2048);
+ assertTrue(Arrays.areEqual(i1.coeffs, i2.toIntegerPolynomial().coeffs));
+ }
+} \ No newline at end of file