UnsignedInts.java 3.92 KB
package com.google.common.primitives;

import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.Preconditions;
import java.util.Comparator;
import ri;

@Beta
@GwtCompatible
public final class UnsignedInts
{
  public static int compare(int paramInt1, int paramInt2)
  {
    return Ints.compare(paramInt1 ^ 0x80000000, 0x80000000 ^ paramInt2);
  }
  
  public static int decode(String paramString)
  {
    ri localri = ri.a(paramString);
    try
    {
      int i = parseUnsignedInt(localri.a, localri.b);
      return i;
    }
    catch (NumberFormatException localNumberFormatException)
    {
      paramString = String.valueOf(paramString);
      if (paramString.length() == 0) {}
    }
    for (paramString = "Error parsing value: ".concat(paramString);; paramString = new String("Error parsing value: "))
    {
      paramString = new NumberFormatException(paramString);
      paramString.initCause(localNumberFormatException);
      throw paramString;
    }
  }
  
  public static int divide(int paramInt1, int paramInt2)
  {
    return (int)(toLong(paramInt1) / toLong(paramInt2));
  }
  
  public static String join(String paramString, int... paramVarArgs)
  {
    Preconditions.checkNotNull(paramString);
    if (paramVarArgs.length == 0) {
      return "";
    }
    StringBuilder localStringBuilder = new StringBuilder(paramVarArgs.length * 5);
    localStringBuilder.append(toString(paramVarArgs[0]));
    int i = 1;
    while (i < paramVarArgs.length)
    {
      localStringBuilder.append(paramString).append(toString(paramVarArgs[i]));
      i += 1;
    }
    return localStringBuilder.toString();
  }
  
  public static Comparator<int[]> lexicographicalComparator()
  {
    return a.a;
  }
  
  public static int max(int... paramVarArgs)
  {
    int i = 1;
    if (paramVarArgs.length > 0) {}
    int j;
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool);
      int k;
      for (j = paramVarArgs[0] ^ 0x80000000; i < paramVarArgs.length; j = k)
      {
        int m = paramVarArgs[i] ^ 0x80000000;
        k = j;
        if (m > j) {
          k = m;
        }
        i += 1;
      }
    }
    return j ^ 0x80000000;
  }
  
  public static int min(int... paramVarArgs)
  {
    int i = 1;
    if (paramVarArgs.length > 0) {}
    int j;
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool);
      int k;
      for (j = paramVarArgs[0] ^ 0x80000000; i < paramVarArgs.length; j = k)
      {
        int m = paramVarArgs[i] ^ 0x80000000;
        k = j;
        if (m < j) {
          k = m;
        }
        i += 1;
      }
    }
    return j ^ 0x80000000;
  }
  
  public static int parseUnsignedInt(String paramString)
  {
    return parseUnsignedInt(paramString, 10);
  }
  
  public static int parseUnsignedInt(String paramString, int paramInt)
  {
    Preconditions.checkNotNull(paramString);
    long l = Long.parseLong(paramString, paramInt);
    if ((0xFFFFFFFF & l) != l)
    {
      paramString = String.valueOf(String.valueOf(paramString));
      throw new NumberFormatException(paramString.length() + 69 + "Input " + paramString + " in base " + paramInt + " is not in the range of an unsigned integer");
    }
    return (int)l;
  }
  
  public static int remainder(int paramInt1, int paramInt2)
  {
    return (int)(toLong(paramInt1) % toLong(paramInt2));
  }
  
  public static long toLong(int paramInt)
  {
    return paramInt & 0xFFFFFFFF;
  }
  
  public static String toString(int paramInt)
  {
    return toString(paramInt, 10);
  }
  
  public static String toString(int paramInt1, int paramInt2)
  {
    return Long.toString(paramInt1 & 0xFFFFFFFF, paramInt2);
  }
  
  static enum a
    implements Comparator<int[]>
  {
    private a() {}
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/primitives/UnsignedInts.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */