public class it.unimi.dsi.fastutil.HashCommon
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: it.unimi.dsi.fastutil.HashCommon
  super_class: java.lang.Object
{
  private static final int INT_PHI;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1640531527

  private static final int INV_INT_PHI;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 340573321

  private static final long LONG_PHI;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -7046029254386353131

  private static final long INV_LONG_PHI;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1018231460777725123

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.HashCommon this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // it.unimi.dsi.fastutil.HashCommon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lit/unimi/dsi/fastutil/HashCommon;

  public static int murmurHash3(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int x
         0: .line 44
            iload 0 /* x */
            iload 0 /* x */
            bipush 16
            iushr
            ixor
            istore 0 /* x */
         1: .line 45
            iload 0 /* x */
            ldc -2048144789
            imul
            istore 0 /* x */
         2: .line 46
            iload 0 /* x */
            iload 0 /* x */
            bipush 13
            iushr
            ixor
            istore 0 /* x */
         3: .line 47
            iload 0 /* x */
            ldc -1028477387
            imul
            istore 0 /* x */
         4: .line 48
            iload 0 /* x */
            iload 0 /* x */
            bipush 16
            iushr
            ixor
            istore 0 /* x */
         5: .line 49
            iload 0 /* x */
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     x  I
    MethodParameters:
      Name  Flags
      x     

  public static long murmurHash3(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long x
         0: .line 62
            lload 0 /* x */
            lload 0 /* x */
            bipush 33
            lushr
            lxor
            lstore 0 /* x */
         1: .line 63
            lload 0 /* x */
            ldc -49064778989728563
            lmul
            lstore 0 /* x */
         2: .line 64
            lload 0 /* x */
            lload 0 /* x */
            bipush 33
            lushr
            lxor
            lstore 0 /* x */
         3: .line 65
            lload 0 /* x */
            ldc -4265267296055464877
            lmul
            lstore 0 /* x */
         4: .line 66
            lload 0 /* x */
            lload 0 /* x */
            bipush 33
            lushr
            lxor
            lstore 0 /* x */
         5: .line 67
            lload 0 /* x */
            lreturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     x  J
    MethodParameters:
      Name  Flags
      x     

  public static int mix(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int x
         0: .line 82
            iload 0 /* x */
            ldc -1640531527
            imul
            istore 1 /* h */
        start local 1 // int h
         1: .line 83
            iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     x  I
            1    2     1     h  I
    MethodParameters:
      Name  Flags
      x     final

  public static int invMix(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int x
         0: .line 92
            iload 0 /* x */
            iload 0 /* x */
            bipush 16
            iushr
            ixor
            ldc 340573321
            imul
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
    MethodParameters:
      Name  Flags
      x     final

  public static long mix(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // long x
         0: .line 106
            lload 0 /* x */
            ldc -7046029254386353131
            lmul
            lstore 2 /* h */
        start local 2 // long h
         1: .line 107
            lload 2 /* h */
            lload 2 /* h */
            bipush 32
            lushr
            lxor
            lstore 2 /* h */
         2: .line 108
            lload 2 /* h */
            lload 2 /* h */
            bipush 16
            lushr
            lxor
            lreturn
        end local 2 // long h
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  J
            1    3     2     h  J
    MethodParameters:
      Name  Flags
      x     final

  public static long invMix(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long x
         0: .line 117
            lload 0 /* x */
            lload 0 /* x */
            bipush 32
            lushr
            lxor
            lstore 0 /* x */
         1: .line 118
            lload 0 /* x */
            lload 0 /* x */
            bipush 16
            lushr
            lxor
            lstore 0 /* x */
         2: .line 119
            lload 0 /* x */
            lload 0 /* x */
            bipush 32
            lushr
            lxor
            ldc -1018231460777725123
            lmul
            lreturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  J
    MethodParameters:
      Name  Flags
      x     

  public static int float2int(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 130
            fload 0 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            ireturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     final

  public static int double2int(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // double d
         0: .line 140
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 2 /* l */
        start local 2 // long l
         1: .line 141
            lload 2 /* l */
            lload 2 /* l */
            bipush 32
            lushr
            lxor
            l2i
            ireturn
        end local 2 // long l
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
            1    2     2     l  J
    MethodParameters:
      Name  Flags
      d     final

  public static int long2int(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long l
         0: .line 150
            lload 0 /* l */
            lload 0 /* l */
            bipush 32
            lushr
            lxor
            l2i
            ireturn
        end local 0 // long l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  J
    MethodParameters:
      Name  Flags
      l     final

  public static int nextPowerOfTwo(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int x
         0: .line 161
            iload 0 /* x */
            ifne 1
            iconst_1
            ireturn
         1: .line 162
      StackMap locals:
      StackMap stack:
            iinc 0 /* x */ -1
         2: .line 163
            iload 0 /* x */
            iload 0 /* x */
            iconst_1
            ishr
            ior
            istore 0 /* x */
         3: .line 164
            iload 0 /* x */
            iload 0 /* x */
            iconst_2
            ishr
            ior
            istore 0 /* x */
         4: .line 165
            iload 0 /* x */
            iload 0 /* x */
            iconst_4
            ishr
            ior
            istore 0 /* x */
         5: .line 166
            iload 0 /* x */
            iload 0 /* x */
            bipush 8
            ishr
            ior
            istore 0 /* x */
         6: .line 167
            iload 0 /* x */
            iload 0 /* x */
            bipush 16
            ishr
            ior
            iconst_1
            iadd
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     x  I
    MethodParameters:
      Name  Flags
      x     

  public static long nextPowerOfTwo(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long x
         0: .line 178
            lload 0 /* x */
            lconst_0
            lcmp
            ifne 1
            lconst_1
            lreturn
         1: .line 179
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            lconst_1
            lsub
            lstore 0 /* x */
         2: .line 180
            lload 0 /* x */
            lload 0 /* x */
            iconst_1
            lshr
            lor
            lstore 0 /* x */
         3: .line 181
            lload 0 /* x */
            lload 0 /* x */
            iconst_2
            lshr
            lor
            lstore 0 /* x */
         4: .line 182
            lload 0 /* x */
            lload 0 /* x */
            iconst_4
            lshr
            lor
            lstore 0 /* x */
         5: .line 183
            lload 0 /* x */
            lload 0 /* x */
            bipush 8
            lshr
            lor
            lstore 0 /* x */
         6: .line 184
            lload 0 /* x */
            lload 0 /* x */
            bipush 16
            lshr
            lor
            lstore 0 /* x */
         7: .line 185
            lload 0 /* x */
            lload 0 /* x */
            bipush 32
            lshr
            lor
            lconst_1
            ladd
            lreturn
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     x  J
    MethodParameters:
      Name  Flags
      x     

  public static int maxFill(int, float);
    descriptor: (IF)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int n
        start local 1 // float f
         0: .line 198
            iload 0 /* n */
            i2f
            fload 1 /* f */
            fmul
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            iload 0 /* n */
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 1 // float f
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  I
            0    1     1     f  F
    MethodParameters:
      Name  Flags
      n     final
      f     final

  public static long maxFill(long, float);
    descriptor: (JF)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long n
        start local 2 // float f
         0: .line 210
            lload 0 /* n */
            l2f
            fload 2 /* f */
            fmul
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2l
            lload 0 /* n */
            lconst_1
            lsub
            invokestatic java.lang.Math.min:(JJ)J
            lreturn
        end local 2 // float f
        end local 0 // long n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  J
            0    1     2     f  F
    MethodParameters:
      Name  Flags
      n     final
      f     final

  public static int arraySize(int, float);
    descriptor: (IF)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int expected
        start local 1 // float f
         0: .line 221
            ldc 2
            iload 0 /* expected */
            i2f
            fload 1 /* f */
            fdiv
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2l
            invokestatic it.unimi.dsi.fastutil.HashCommon.nextPowerOfTwo:(J)J
            invokestatic java.lang.Math.max:(JJ)J
            lstore 2 /* s */
        start local 2 // long s
         1: .line 222
            lload 2 /* s */
            ldc 1073741824
            lcmp
            ifle 2
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Too large ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* expected */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " expected elements with load factor "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            fload 1 /* f */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 223
      StackMap locals: long
      StackMap stack:
            lload 2 /* s */
            l2i
            ireturn
        end local 2 // long s
        end local 1 // float f
        end local 0 // int expected
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  expected  I
            0    3     1         f  F
            1    3     2         s  J
    MethodParameters:
          Name  Flags
      expected  final
      f         final

  public static long bigArraySize(long, float);
    descriptor: (JF)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // long expected
        start local 2 // float f
         0: .line 233
            lload 0 /* expected */
            l2f
            fload 2 /* f */
            fdiv
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2l
            invokestatic it.unimi.dsi.fastutil.HashCommon.nextPowerOfTwo:(J)J
            lreturn
        end local 2 // float f
        end local 0 // long expected
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  expected  J
            0    1     2         f  F
    MethodParameters:
          Name  Flags
      expected  final
      f         final
}
SourceFile: "HashCommon.java"