public final class it.unimi.dsi.fastutil.SafeMath
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: it.unimi.dsi.fastutil.SafeMath
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.SafeMath this
         0: .line 20
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // it.unimi.dsi.fastutil.SafeMath this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lit/unimi/dsi/fastutil/SafeMath;

  public static char safeIntToChar(int);
    descriptor: (I)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int value
         0: .line 23
            iload 0 /* value */
            iflt 1
            ldc 65535
            iload 0 /* value */
            if_icmpge 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 0 /* value */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be represented as char"
            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 24
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            i2c
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  final

  public static byte safeIntToByte(int);
    descriptor: (I)B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int value
         0: .line 28
            iload 0 /* value */
            bipush -128
            if_icmplt 1
            bipush 127
            iload 0 /* value */
            if_icmpge 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 0 /* value */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be represented as byte (out of range)"
            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 29
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            i2b
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  final

  public static short safeIntToShort(int);
    descriptor: (I)S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int value
         0: .line 33
            iload 0 /* value */
            sipush -32768
            if_icmplt 1
            sipush 32767
            iload 0 /* value */
            if_icmpge 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 0 /* value */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be represented as short (out of range)"
            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 34
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            i2s
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  final

  public static int safeLongToInt(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long value
         0: .line 38
            lload 0 /* value */
            ldc -2147483648
            lcmp
            iflt 1
            ldc 2147483647
            lload 0 /* value */
            lcmp
            ifge 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            lload 0 /* value */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be represented as int (out of range)"
            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 39
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            l2i
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  J
    MethodParameters:
       Name  Flags
      value  final

  public static float safeDoubleToFloat(double);
    descriptor: (D)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // double value
         0: .line 43
            dload 0 /* value */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 1
            ldc NaN
            freturn
         1: .line 44
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 4
            dload 0 /* value */
            dconst_0
            dcmpg
            ifge 2
            ldc -Infinity
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc Infinity
      StackMap locals:
      StackMap stack: float
         3: freturn
         4: .line 45
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            ldc 1.401298464324817E-45
            dcmpg
            iflt 5
            ldc 3.4028234663852886E38
            dload 0 /* value */
            dcmpg
            ifge 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            dload 0 /* value */
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be represented as float (out of range)"
            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
         6: .line 46
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            d2f
            fstore 2 /* floatValue */
        start local 2 // float floatValue
         7: .line 47
            fload 2 /* floatValue */
            f2d
            dload 0 /* value */
            dcmpl
            ifeq 8
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            dload 0 /* value */
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be represented as float (imprecise)"
            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
         8: .line 48
      StackMap locals: float
      StackMap stack:
            fload 2 /* floatValue */
            freturn
        end local 2 // float floatValue
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0       value  D
            7    9     2  floatValue  F
    MethodParameters:
       Name  Flags
      value  final
}
SourceFile: "SafeMath.java"