ReflectedLongCrc(String algorithm, int width, long poly, long init, long xorOut) { super(algorithm, width, init, xorOut); poly = reflect(poly); for (int i = 0; i < 256; ++i) { long crc = i; for (int j = 0; j < 8; ++j) crc = (crc & 1) != 0 ? (crc >>> 1) ^ poly : crc >>> 1; table[i] = crc; } }
@Override public int calculate(long address, long length) { return nativeUnsafe(initial(), address, length, config); }
@Override protected StatelessHash createCacheable(HashParameters params, EnumSet<HashSupport> required) { return new Sse42Crc32C(DEFAULT_CHUNK); } }
ReflectedIntCrc(String algorithm, int width, int poly, int init, int xorOut) { super(algorithm, width, init, xorOut); poly = reflect(poly); for (int i = 0; i < 256; ++i) { int crc = i; for (int j = 0; j < 8; ++j) crc = (crc & 1) != 0 ? (crc >>> 1) ^ poly : crc >>> 1; table[i] = crc; } }
@Override protected void finalize() { if (config != 0) freeConfig(config); }
@Override protected int resumeUnchecked(int current, byte[] input, int index, int length) { return nativeArray(current, input, index, length, config); }
@Override protected long resumeRaw(long crc, byte[] input, int index, int length) { crc = reflect(crc); for (int i = 0; i < length; ++i) crc = table[(int) (crc ^ input[index + i]) & 0xff] ^ (crc >>> 8); return crc; } }
@Override protected StatelessHash createCacheable(HashParameters params, EnumSet<HashSupport> required) { return new Sse42Crc32C(DEFAULT_CHUNK); } }
ReflectedIntCrc(String algorithm, int width, int poly, int init, int xorOut) { super(algorithm, width, init, xorOut); poly = reflect(poly); for (int i = 0; i < 256; ++i) { int crc = i; for (int j = 0; j < 8; ++j) crc = (crc & 1) != 0 ? (crc >>> 1) ^ poly : crc >>> 1; table[i] = crc; } }
@Override protected void finalize() { if (config != 0) freeConfig(config); }
ReflectedLongCrc(String algorithm, int width, long poly, long init, long xorOut) { super(algorithm, width, init, xorOut); poly = reflect(poly); for (int i = 0; i < 256; ++i) { long crc = i; for (int j = 0; j < 8; ++j) crc = (crc & 1) != 0 ? (crc >>> 1) ^ poly : crc >>> 1; table[i] = crc; } }
@Override protected StatelessHash createCacheable(HashParameters params, EnumSet<HashSupport> required) { return new Sse42Crc32C(DEFAULT_CHUNK); } }
ReflectedIntCrc(String algorithm, int width, int poly, int init, int xorOut) { super(algorithm, width, init, xorOut); poly = reflect(poly); for (int i = 0; i < 256; ++i) { int crc = i; for (int j = 0; j < 8; ++j) crc = (crc & 1) != 0 ? (crc >>> 1) ^ poly : crc >>> 1; table[i] = crc; } }
@Override protected void finalize() { if (config != 0) freeConfig(config); }
ReflectedLongCrc(String algorithm, int width, long poly, long init, long xorOut) { super(algorithm, width, init, xorOut); poly = reflect(poly); for (int i = 0; i < 256; ++i) { long crc = i; for (int j = 0; j < 8; ++j) crc = (crc & 1) != 0 ? (crc >>> 1) ^ poly : crc >>> 1; table[i] = crc; } }