private static LongArray reduceResult(long[] buf, int off, int len, int m, int[] ks) { int rLen = reduceInPlace(buf, off, len, m, ks); return new LongArray(buf, off, rLen); }
private static LongArray reduceResult(long[] buf, int off, int len, int m, int[] ks) { int rLen = reduceInPlace(buf, off, len, m, ks); return new LongArray(buf, off, rLen); }
public Object clone() { return new LongArray(Arrays.clone(m_ints)); }
public Object clone() { return new LongArray(Arrays.clone(m_ints)); }
this.x = new LongArray(x);
public ECPoint lookup(int index) { long[] x = Nat.create64(FE_LONGS), y = Nat.create64(FE_LONGS); int pos = 0; for (int i = 0; i < len; ++i) { long MASK = ((i ^ index) - 1) >> 31; for (int j = 0; j < FE_LONGS; ++j) { x[j] ^= table[pos + j] & MASK; y[j] ^= table[pos + FE_LONGS + j] & MASK; } pos += (FE_LONGS * 2); } return createRawPoint(new ECFieldElement.F2m(m, ks, new LongArray(x)), new ECFieldElement.F2m(m, ks, new LongArray(y)), false); } };
this.x = new LongArray(x);
public LongArray modReduce(int m, int[] ks) { long[] buf = Arrays.clone(m_ints); int rLen = reduceInPlace(buf, 0, buf.length, m, ks); return new LongArray(buf, 0, rLen); }
public LongArray modReduce(int m, int[] ks) { long[] buf = Arrays.clone(m_ints); int rLen = reduceInPlace(buf, 0, buf.length, m, ks); return new LongArray(buf, 0, rLen); }
public static BigInteger inverse(int m, int[] ks, BigInteger x) { return new LongArray(x).modInverse(m, ks).toBigInteger(); }
public LongArray modSquareN(int n, int m, int[] ks) { int len = getUsedLength(); if (len == 0) { return this; } int mLen = (m + 63) >>> 6; long[] r = new long[mLen << 1]; System.arraycopy(m_ints, 0, r, 0, len); while (--n >= 0) { squareInPlace(r, len, m, ks); len = reduceInPlace(r, 0, r.length, m, ks); } return new LongArray(r, 0, len); }
public LongArray modSquareN(int n, int m, int[] ks) { int len = getUsedLength(); if (len == 0) { return this; } int mLen = (m + 63) >>> 6; long[] r = new long[mLen << 1]; System.arraycopy(m_ints, 0, r, 0, len); while (--n >= 0) { squareInPlace(r, len, m, ks); len = reduceInPlace(r, 0, r.length, m, ks); } return new LongArray(r, 0, len); }
public LongArray square(int m, int[] ks) { int len = getUsedLength(); if (len == 0) { return this; } int _2len = len << 1; long[] r = new long[_2len]; int pos = 0; while (pos < _2len) { long mi = m_ints[pos >>> 1]; r[pos++] = interleave2_32to64((int)mi); r[pos++] = interleave2_32to64((int)(mi >>> 32)); } return new LongArray(r, 0, r.length); }
public LongArray square(int m, int[] ks) { int len = getUsedLength(); if (len == 0) { return this; } int _2len = len << 1; long[] r = new long[_2len]; int pos = 0; while (pos < _2len) { long mi = m_ints[pos >>> 1]; r[pos++] = interleave2_32to64((int)mi); r[pos++] = interleave2_32to64((int)(mi >>> 32)); } return new LongArray(r, 0, r.length); }
public LongArray modSquare(int m, int[] ks) { int len = getUsedLength(); if (len == 0) { return this; } int _2len = len << 1; long[] r = new long[_2len]; int pos = 0; while (pos < _2len) { long mi = m_ints[pos >>> 1]; r[pos++] = interleave2_32to64((int)mi); r[pos++] = interleave2_32to64((int)(mi >>> 32)); } return new LongArray(r, 0, reduceInPlace(r, 0, r.length, m, ks)); }
public LongArray modSquare(int m, int[] ks) { int len = getUsedLength(); if (len == 0) { return this; } int _2len = len << 1; long[] r = new long[_2len]; int pos = 0; while (pos < _2len) { long mi = m_ints[pos >>> 1]; r[pos++] = interleave2_32to64((int)mi); r[pos++] = interleave2_32to64((int)(mi >>> 32)); } return new LongArray(r, 0, reduceInPlace(r, 0, r.length, m, ks)); }