qx.java 5.14 KB
import com.google.common.hash.AbstractStreamingHashFunction;
import com.google.common.hash.AbstractStreamingHashFunction.AbstractStreamingHasher;
import com.google.common.hash.HashCode;
import com.google.common.hash.Hasher;
import com.google.common.primitives.UnsignedBytes;
import java.io.Serializable;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import javax.annotation.Nullable;

public final class qx
  extends AbstractStreamingHashFunction
  implements Serializable
{
  private static final long serialVersionUID = 0L;
  private final int a;
  
  public qx(int paramInt)
  {
    this.a = paramInt;
  }
  
  public final int bits()
  {
    return 128;
  }
  
  public final boolean equals(@Nullable Object paramObject)
  {
    boolean bool2 = false;
    boolean bool1 = bool2;
    if ((paramObject instanceof qx))
    {
      paramObject = (qx)paramObject;
      bool1 = bool2;
      if (this.a == ((qx)paramObject).a) {
        bool1 = true;
      }
    }
    return bool1;
  }
  
  public final int hashCode()
  {
    return getClass().hashCode() ^ this.a;
  }
  
  public final Hasher newHasher()
  {
    return new qx.a(this.a);
  }
  
  public final String toString()
  {
    int i = this.a;
    return 32 + "Hashing.murmur3_128(" + i + ")";
  }
  
  static final class a
    extends AbstractStreamingHashFunction.AbstractStreamingHasher
  {
    private long a;
    private long b;
    private int c;
    
    a(int paramInt)
    {
      super();
      this.a = paramInt;
      this.b = paramInt;
      this.c = 0;
    }
    
    private static long a(long paramLong)
    {
      paramLong = (paramLong >>> 33 ^ paramLong) * -49064778989728563L;
      paramLong = (paramLong ^ paramLong >>> 33) * -4265267296055464877L;
      return paramLong ^ paramLong >>> 33;
    }
    
    private static long b(long paramLong)
    {
      return Long.rotateLeft(-8663945395140668459L * paramLong, 31) * 5545529020109919103L;
    }
    
    private static long c(long paramLong)
    {
      return Long.rotateLeft(5545529020109919103L * paramLong, 33) * -8663945395140668459L;
    }
    
    public final HashCode a()
    {
      this.a ^= this.c;
      this.b ^= this.c;
      this.a += this.b;
      this.b += this.a;
      this.a = a(this.a);
      this.b = a(this.b);
      this.a += this.b;
      this.b += this.a;
      return HashCode.a(ByteBuffer.wrap(new byte[16]).order(ByteOrder.LITTLE_ENDIAN).putLong(this.a).putLong(this.b).array());
    }
    
    protected final void process(ByteBuffer paramByteBuffer)
    {
      long l1 = paramByteBuffer.getLong();
      long l2 = paramByteBuffer.getLong();
      long l3 = this.a;
      this.a = (b(l1) ^ l3);
      this.a = Long.rotateLeft(this.a, 27);
      this.a += this.b;
      this.a = (this.a * 5L + 1390208809L);
      this.b ^= c(l2);
      this.b = Long.rotateLeft(this.b, 31);
      this.b += this.a;
      this.b = (this.b * 5L + 944331445L);
      this.c += 16;
    }
    
    protected final void processRemaining(ByteBuffer paramByteBuffer)
    {
      this.c += paramByteBuffer.remaining();
      long l1;
      label134:
      label150:
      label166:
      label182:
      label198:
      label211:
      long l2;
      switch (paramByteBuffer.remaining())
      {
      default: 
        throw new AssertionError("Should never get here.");
      case 15: 
        l1 = UnsignedBytes.toInt(paramByteBuffer.get(14)) << 48 ^ 0L;
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(13)) << 40;
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(12)) << 32;
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(11)) << 24;
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(10)) << 16;
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(9)) << 8;
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(8));
        l2 = 0L ^ paramByteBuffer.getLong();
        long l3 = this.a;
        this.a = (b(l2) ^ l3);
        l2 = this.b;
        this.b = (c(l1) ^ l2);
        return;
      case 7: 
        label219:
        l1 = UnsignedBytes.toInt(paramByteBuffer.get(6)) << 48 ^ 0L;
        label271:
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(5)) << 40;
        label286:
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(4)) << 32;
        label301:
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(3)) << 24;
        label316:
        l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(2)) << 16;
      }
      label331:
      for (l1 ^= UnsignedBytes.toInt(paramByteBuffer.get(1)) << 8;; l1 = 0L)
      {
        l2 = l1 ^ UnsignedBytes.toInt(paramByteBuffer.get(0));
        l1 = 0L;
        break label219;
        l1 = 0L;
        break;
        l1 = 0L;
        break label134;
        l1 = 0L;
        break label150;
        l1 = 0L;
        break label166;
        l1 = 0L;
        break label182;
        l1 = 0L;
        break label198;
        l1 = 0L;
        break label211;
        l1 = 0L;
        break label271;
        l1 = 0L;
        break label286;
        l1 = 0L;
        break label301;
        l1 = 0L;
        break label316;
        l1 = 0L;
        break label331;
      }
    }
  }
}


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