public void reduce(int m, int[] ks) { long[] buf = m_ints; int rLen = reduceInPlace(buf, 0, buf.length, m, ks); if (rLen < buf.length) { m_ints = new long[rLen]; System.arraycopy(buf, 0, m_ints, 0, rLen); } }
public void reduce(int m, int[] ks) { long[] buf = m_ints; int rLen = reduceInPlace(buf, 0, buf.length, m, ks); if (rLen < buf.length) { m_ints = new long[rLen]; System.arraycopy(buf, 0, m_ints, 0, 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); }
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 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 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 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)); }