public final class oadd.com.google.common.primitives.Longs extends java.lang.Object
{
public static final int BYTES;
public static final long MAX_POWER_OF_TWO;
private void <init>()
{
oadd.com.google.common.primitives.Longs v;
v := @this: oadd.com.google.common.primitives.Longs;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static int hashCode(long)
{
long v, v, v;
v := @parameter: long;
v = v >>> 32;
v = v ^ v;
return v;
}
public static int compare(long, long)
{
byte v, v, v;
long v, v;
v := @parameter: long;
v := @parameter: long;
v = v cmp v;
if v >= 0 goto label;
v = -1;
goto label;
label:
v = v cmp v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean contains(long[], long)
{
long[] v;
byte v;
int v, v;
long v, v;
v := @parameter: long[];
v := @parameter: long;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v cmp v;
if v != 0 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
public static int indexOf(long[], long)
{
long[] v;
int v, v;
long v;
v := @parameter: long[];
v := @parameter: long;
v = lengthof v;
v = staticinvoke <oadd.com.google.common.primitives.Longs: int indexOf(long[],long,int,int)>(v, v, 0, v);
return v;
}
private static int indexOf(long[], long, int, int)
{
long v, v;
long[] v;
byte v;
int v, v, v, v;
v := @parameter: long[];
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v = v;
label:
if v >= v goto label;
v = v[v];
v = v cmp v;
if v != 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
public static int indexOf(long[], long[])
{
long v, v;
long[] v, v;
byte v;
int v, v, v, v, v, v, v, v, v, v;
v := @parameter: long[];
v := @parameter: long[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "array");
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "target");
v = lengthof v;
if v != 0 goto label;
return 0;
label:
v = 0;
label:
v = lengthof v;
v = lengthof v;
v = v - v;
v = v + 1;
if v >= v goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + v;
v = v[v];
v = v[v];
v = v cmp v;
if v != 0 goto label;
v = v + 1;
goto label;
label:
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
public static int lastIndexOf(long[], long)
{
long[] v;
int v, v;
long v;
v := @parameter: long[];
v := @parameter: long;
v = lengthof v;
v = staticinvoke <oadd.com.google.common.primitives.Longs: int lastIndexOf(long[],long,int,int)>(v, v, 0, v);
return v;
}
private static int lastIndexOf(long[], long, int, int)
{
long v, v;
long[] v;
byte v;
int v, v, v, v;
v := @parameter: long[];
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v = v - 1;
label:
if v < v goto label;
v = v[v];
v = v cmp v;
if v != 0 goto label;
return v;
label:
v = v - 1;
goto label;
label:
v = (int) -1;
return v;
}
public static transient long min(long[])
{
long v, v;
long[] v;
byte v;
int v, v, v;
boolean v;
v := @parameter: long[];
v = lengthof v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v = v[0];
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v cmp v;
if v >= 0 goto label;
v = v[v];
label:
v = v + 1;
goto label;
label:
return v;
}
public static transient long max(long[])
{
long v, v;
long[] v;
byte v;
int v, v, v;
boolean v;
v := @parameter: long[];
v = lengthof v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v = v[0];
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v cmp v;
if v <= 0 goto label;
v = v[v];
label:
v = v + 1;
goto label;
label:
return v;
}
public static long constrainToRange(long, long, long)
{
byte v;
long v, v, v, v, v;
boolean v;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v = v cmp v;
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,long,long)>(v, "min (%s) must be less than or equal to max (%s)", v, v);
v = staticinvoke <java.lang.Math: long max(long,long)>(v, v);
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
return v;
}
public static transient long[] concat(long[][])
{
long[][] v;
long[] v, v, v;
int v, v, v, v, v, v, v, v, v;
v := @parameter: long[][];
v = 0;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = lengthof v;
v = v + v;
v = v + 1;
goto label;
label:
v = newarray (long)[v];
v = 0;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, v, v);
v = lengthof v;
v = v + v;
v = v + 1;
goto label;
label:
return v;
}
public static byte[] toByteArray(long)
{
byte[] v;
int v, v;
long v;
v := @parameter: long;
v = newarray (byte)[8];
v = 7;
label:
if v < 0 goto label;
v[v] = v;
v = v - 1;
goto label;
label:
return v;
}
public static long fromByteArray(byte[])
{
byte[] v;
long v;
byte v, v, v, v, v, v, v, v;
int v, v;
boolean v;
v := @parameter: byte[];
v = lengthof v;
if v < 8 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,int,int)>(v, "array too small: %s < %s", v, 8);
v = v[0];
v = v[1];
v = v[2];
v = v[3];
v = v[4];
v = v[5];
v = v[6];
v = v[7];
v = staticinvoke <oadd.com.google.common.primitives.Longs: long fromBytes(byte,byte,byte,byte,byte,byte,byte,byte)>(v, v, v, v, v, v, v, v);
return v;
}
public static long fromBytes(byte, byte, byte, byte, byte, byte, byte, byte)
{
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
byte v, v, v, v, v, v, v, v;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: byte;
v := @parameter: byte;
v = v & 255L;
v = v << 56;
v = v & 255L;
v = v << 48;
v = v | v;
v = v & 255L;
v = v << 40;
v = v | v;
v = v & 255L;
v = v << 32;
v = v | v;
v = v & 255L;
v = v << 24;
v = v | v;
v = v & 255L;
v = v << 16;
v = v | v;
v = v & 255L;
v = v << 8;
v = v | v;
v = v & 255L;
v = v | v;
return v;
}
public static java.lang.Long tryParse(java.lang.String)
{
java.lang.String v;
java.lang.Long v;
v := @parameter: java.lang.String;
v = staticinvoke <oadd.com.google.common.primitives.Longs: java.lang.Long tryParse(java.lang.String,int)>(v, 10);
return v;
}
public static java.lang.Long tryParse(java.lang.String, int)
{
long v, v, v, v;
byte v, v, v, v;
java.lang.Long v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
char v, v, v;
java.lang.IllegalArgumentException v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
return null;
label:
if v < 2 goto label;
if v <= 36 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(65);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("radix must be between MIN_RADIX and MAX_RADIX but was \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 45 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v != v goto label;
return null;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <oadd.com.google.common.primitives.Longs$AsciiDigits: int digit(char)>(v);
if v < 0 goto label;
if v < v goto label;
label:
return null;
label:
v = neg v;
v = -9223372036854775808L / v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <oadd.com.google.common.primitives.Longs$AsciiDigits: int digit(char)>(v);
if v < 0 goto label;
if v >= v goto label;
v = v cmp v;
if v >= 0 goto label;
label:
return null;
label:
v = v * v;
v = -9223372036854775808L + v;
v = v cmp v;
if v >= 0 goto label;
return null;
label:
v = v - v;
goto label;
label:
if v == 0 goto label;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v cmp -9223372036854775808L;
if v != 0 goto label;
return null;
label:
v = neg v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
}
public static oadd.com.google.common.base.Converter stringConverter()
{
oadd.com.google.common.primitives.Longs$LongConverter v;
v = <oadd.com.google.common.primitives.Longs$LongConverter: oadd.com.google.common.primitives.Longs$LongConverter INSTANCE>;
return v;
}
public static long[] ensureCapacity(long[], int, int)
{
long[] v, v;
int v, v, v, v;
boolean v, v;
v := @parameter: long[];
v := @parameter: int;
v := @parameter: int;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,int)>(v, "Invalid minLength: %s", v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,int)>(v, "Invalid padding: %s", v);
v = lengthof v;
if v >= v goto label;
v = v + v;
v = staticinvoke <java.util.Arrays: long[] copyOf(long[],int)>(v, v);
goto label;
label:
v = v;
label:
return v;
}
public static transient java.lang.String join(java.lang.String, long[])
{
long v, v;
long[] v;
int v, v, v, v, v;
java.lang.StringBuilder v, v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: long[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
if v != 0 goto label;
return "";
label:
v = new java.lang.StringBuilder;
v = lengthof v;
v = v * 10;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = v[0];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.util.Comparator lexicographicalComparator()
{
oadd.com.google.common.primitives.Longs$LexicographicalComparator v;
v = <oadd.com.google.common.primitives.Longs$LexicographicalComparator: oadd.com.google.common.primitives.Longs$LexicographicalComparator INSTANCE>;
return v;
}
public static void sortDescending(long[])
{
int v;
long[] v;
v := @parameter: long[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.primitives.Longs: void sortDescending(long[],int,int)>(v, 0, v);
return;
}
public static void sortDescending(long[], int, int)
{
long[] v;
int v, v, v;
v := @parameter: long[];
v := @parameter: int;
v := @parameter: int;
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.base.Preconditions: void checkPositionIndexes(int,int,int)>(v, v, v);
staticinvoke <java.util.Arrays: void sort(long[],int,int)>(v, v, v);
staticinvoke <oadd.com.google.common.primitives.Longs: void reverse(long[],int,int)>(v, v, v);
return;
}
public static void reverse(long[])
{
int v;
long[] v;
v := @parameter: long[];
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.primitives.Longs: void reverse(long[],int,int)>(v, 0, v);
return;
}
public static void reverse(long[], int, int)
{
long v, v;
long[] v;
int v, v, v, v, v;
v := @parameter: long[];
v := @parameter: int;
v := @parameter: int;
staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = lengthof v;
staticinvoke <oadd.com.google.common.base.Preconditions: void checkPositionIndexes(int,int,int)>(v, v, v);
v = v;
v = v - 1;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v[v] = v;
v[v] = v;
v = v + 1;
v = v - 1;
goto label;
label:
return;
}
public static long[] toArray(java.util.Collection)
{
java.lang.Object[] v;
java.util.Collection v;
long v;
long[] v, v;
int v, v;
java.lang.Object v, v;
boolean v;
v := @parameter: java.util.Collection;
v = v instanceof oadd.com.google.common.primitives.Longs$LongArrayAsList;
if v == 0 goto label;
v = virtualinvoke v.<oadd.com.google.common.primitives.Longs$LongArrayAsList: long[] toLongArray()>();
return v;
label:
v = interfaceinvoke v.<java.util.Collection: java.lang.Object[] toArray()>();
v = lengthof v;
v = newarray (long)[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public static transient java.util.List asList(long[])
{
java.util.List v;
long[] v;
oadd.com.google.common.primitives.Longs$LongArrayAsList v;
int v;
v := @parameter: long[];
v = lengthof v;
if v != 0 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = new oadd.com.google.common.primitives.Longs$LongArrayAsList;
specialinvoke v.<oadd.com.google.common.primitives.Longs$LongArrayAsList: void <init>(long[])>(v);
return v;
}
}