private static void weakHashLength32WithSeeds(
      byte[] bytes, int offset, long seedA, long seedB, long[] output) {
    long part1 = load64(bytes, offset);
    long part2 = load64(bytes, offset + 8);
    long part3 = load64(bytes, offset + 16);
    long part4 = load64(bytes, offset + 24);

    seedA += part1;
    seedB = rotateRight(seedB + seedA + part4, 21);
    long c = seedA;
    seedA += part2;
    seedA += part3;
    seedB += rotateRight(seedA, 44);
    output[0] = seedA + part4;
    output[1] = seedB + c;
  }
private static void weakHashLength32WithSeeds(
      byte[] bytes, int offset, long seedA, long seedB, long[] output) {
    long part1 = load64(bytes, offset);
    long part2 = load64(bytes, offset + 8);
    long part3 = load64(bytes, offset + 16);
    long part4 = load64(bytes, offset + 24);

    seedA += part1;
    seedB = rotateRight(seedB + seedA + part4, 21);
    long c = seedA;
    seedA += part2;
    seedA += part3;
    seedB += rotateRight(seedA, 44);
    output[0] = seedA + part4;
    output[1] = seedB + c;
  }
private static void weakHashLength32WithSeeds ( byte [ ] bytes , int offset , long seedA , long seedB , long [ ] output ) { long part1 = load64 ( bytes , offset ) ; long part2 = load64 ( bytes , offset + 8 ) ; long part3 = load64 ( bytes , offset + 16 ) ; long part4 = load64 ( bytes , offset + 24 ) ; seedA += part1 ; seedB = rotateRight ( seedB + seedA + part4 , 21 ) ; long c = seedA ; seedA += part2 ; seedA += part3 ; seedB += rotateRight ( seedA , 44 ) ; output [ 0 ] = seedA + part4 ; output [ 1 ] = seedB + c ; }
Computes intermediate hash of 32 bytes of byte array from the given offset. Results are
returned in the output array because when we last measured, this was 12% faster than allocating
new arrays every time.
Computes intermediate hash of 32 bytes of byte array from the given offset . Results are returned in the output array because when we last measured this was 12% faster than allocating new arrays every time .