UnsignedInteger.java 4.41 KB
package com.google.common.primitives;

import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.base.Preconditions;
import java.math.BigInteger;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nullable;

@GwtCompatible(emulated=true)
public final class UnsignedInteger
  extends Number
  implements Comparable<UnsignedInteger>
{
  public static final UnsignedInteger MAX_VALUE = fromIntBits(-1);
  public static final UnsignedInteger ONE;
  public static final UnsignedInteger ZERO = fromIntBits(0);
  private final int a;
  
  static
  {
    ONE = fromIntBits(1);
  }
  
  private UnsignedInteger(int paramInt)
  {
    this.a = (paramInt & 0xFFFFFFFF);
  }
  
  public static UnsignedInteger fromIntBits(int paramInt)
  {
    return new UnsignedInteger(paramInt);
  }
  
  public static UnsignedInteger valueOf(long paramLong)
  {
    if ((0xFFFFFFFF & paramLong) == paramLong) {}
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool, "value (%s) is outside the range for an unsigned integer value", new Object[] { Long.valueOf(paramLong) });
      return fromIntBits((int)paramLong);
    }
  }
  
  public static UnsignedInteger valueOf(String paramString)
  {
    return valueOf(paramString, 10);
  }
  
  public static UnsignedInteger valueOf(String paramString, int paramInt)
  {
    return fromIntBits(UnsignedInts.parseUnsignedInt(paramString, paramInt));
  }
  
  public static UnsignedInteger valueOf(BigInteger paramBigInteger)
  {
    Preconditions.checkNotNull(paramBigInteger);
    if ((paramBigInteger.signum() >= 0) && (paramBigInteger.bitLength() <= 32)) {}
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool, "value (%s) is outside the range for an unsigned integer value", new Object[] { paramBigInteger });
      return fromIntBits(paramBigInteger.intValue());
    }
  }
  
  public final BigInteger bigIntegerValue()
  {
    return BigInteger.valueOf(longValue());
  }
  
  public final int compareTo(UnsignedInteger paramUnsignedInteger)
  {
    Preconditions.checkNotNull(paramUnsignedInteger);
    return UnsignedInts.compare(this.a, paramUnsignedInteger.a);
  }
  
  @CheckReturnValue
  public final UnsignedInteger dividedBy(UnsignedInteger paramUnsignedInteger)
  {
    return fromIntBits(UnsignedInts.divide(this.a, ((UnsignedInteger)Preconditions.checkNotNull(paramUnsignedInteger)).a));
  }
  
  public final double doubleValue()
  {
    return longValue();
  }
  
  public final boolean equals(@Nullable Object paramObject)
  {
    boolean bool2 = false;
    boolean bool1 = bool2;
    if ((paramObject instanceof UnsignedInteger))
    {
      paramObject = (UnsignedInteger)paramObject;
      bool1 = bool2;
      if (this.a == ((UnsignedInteger)paramObject).a) {
        bool1 = true;
      }
    }
    return bool1;
  }
  
  public final float floatValue()
  {
    return (float)longValue();
  }
  
  public final int hashCode()
  {
    return this.a;
  }
  
  public final int intValue()
  {
    return this.a;
  }
  
  public final long longValue()
  {
    return UnsignedInts.toLong(this.a);
  }
  
  @CheckReturnValue
  public final UnsignedInteger minus(UnsignedInteger paramUnsignedInteger)
  {
    return fromIntBits(this.a - ((UnsignedInteger)Preconditions.checkNotNull(paramUnsignedInteger)).a);
  }
  
  @CheckReturnValue
  public final UnsignedInteger mod(UnsignedInteger paramUnsignedInteger)
  {
    return fromIntBits(UnsignedInts.remainder(this.a, ((UnsignedInteger)Preconditions.checkNotNull(paramUnsignedInteger)).a));
  }
  
  @CheckReturnValue
  public final UnsignedInteger plus(UnsignedInteger paramUnsignedInteger)
  {
    int i = this.a;
    return fromIntBits(((UnsignedInteger)Preconditions.checkNotNull(paramUnsignedInteger)).a + i);
  }
  
  @CheckReturnValue
  @GwtIncompatible("Does not truncate correctly")
  public final UnsignedInteger times(UnsignedInteger paramUnsignedInteger)
  {
    int i = this.a;
    return fromIntBits(((UnsignedInteger)Preconditions.checkNotNull(paramUnsignedInteger)).a * i);
  }
  
  public final String toString()
  {
    return toString(10);
  }
  
  public final String toString(int paramInt)
  {
    return UnsignedInts.toString(this.a, paramInt);
  }
}


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