qz.java 4.16 KB
import com.google.common.base.Preconditions;
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 java.io.Serializable;
import java.nio.ByteBuffer;
import javax.annotation.Nullable;

public final class qz
  extends AbstractStreamingHashFunction
  implements Serializable
{
  private static final long serialVersionUID = 0L;
  private final int a;
  private final int b;
  private final long c;
  private final long d;
  
  public qz(long paramLong1, long paramLong2)
  {
    Preconditions.checkArgument(true, "The number of SipRound iterations (c=%s) during Compression must be positive.", new Object[] { Integer.valueOf(2) });
    Preconditions.checkArgument(true, "The number of SipRound iterations (d=%s) during Finalization must be positive.", new Object[] { Integer.valueOf(4) });
    this.a = 2;
    this.b = 4;
    this.c = paramLong1;
    this.d = paramLong2;
  }
  
  public final int bits()
  {
    return 64;
  }
  
  public final boolean equals(@Nullable Object paramObject)
  {
    boolean bool2 = false;
    boolean bool1 = bool2;
    if ((paramObject instanceof qz))
    {
      paramObject = (qz)paramObject;
      bool1 = bool2;
      if (this.a == ((qz)paramObject).a)
      {
        bool1 = bool2;
        if (this.b == ((qz)paramObject).b)
        {
          bool1 = bool2;
          if (this.c == ((qz)paramObject).c)
          {
            bool1 = bool2;
            if (this.d == ((qz)paramObject).d) {
              bool1 = true;
            }
          }
        }
      }
    }
    return bool1;
  }
  
  public final int hashCode()
  {
    return (int)(getClass().hashCode() ^ this.a ^ this.b ^ this.c ^ this.d);
  }
  
  public final Hasher newHasher()
  {
    return new qz.a(this.a, this.b, this.c, this.d);
  }
  
  public final String toString()
  {
    int i = this.a;
    int j = this.b;
    long l1 = this.c;
    long l2 = this.d;
    return 81 + "Hashing.sipHash" + i + j + "(" + l1 + ", " + l2 + ")";
  }
  
  static final class a
    extends AbstractStreamingHashFunction.AbstractStreamingHasher
  {
    private final int a;
    private final int b;
    private long c = 8317987319222330741L;
    private long d = 7237128888997146477L;
    private long e = 7816392313619706465L;
    private long f = 8387220255154660723L;
    private long g = 0L;
    private long h = 0L;
    
    a(int paramInt1, int paramInt2, long paramLong1, long paramLong2)
    {
      super();
      this.a = paramInt1;
      this.b = paramInt2;
      this.c ^= paramLong1;
      this.d ^= paramLong2;
      this.e ^= paramLong1;
      this.f ^= paramLong2;
    }
    
    private void a(int paramInt)
    {
      int i = 0;
      while (i < paramInt)
      {
        this.c += this.d;
        this.e += this.f;
        this.d = Long.rotateLeft(this.d, 13);
        this.f = Long.rotateLeft(this.f, 16);
        this.d ^= this.c;
        this.f ^= this.e;
        this.c = Long.rotateLeft(this.c, 32);
        this.e += this.d;
        this.c += this.f;
        this.d = Long.rotateLeft(this.d, 17);
        this.f = Long.rotateLeft(this.f, 21);
        this.d ^= this.e;
        this.f ^= this.c;
        this.e = Long.rotateLeft(this.e, 32);
        i += 1;
      }
    }
    
    private void a(long paramLong)
    {
      this.f ^= paramLong;
      a(this.a);
      this.c ^= paramLong;
    }
    
    public final HashCode a()
    {
      this.h ^= this.g << 56;
      a(this.h);
      this.e ^= 0xFF;
      a(this.b);
      return HashCode.fromLong(this.c ^ this.d ^ this.e ^ this.f);
    }
    
    protected final void process(ByteBuffer paramByteBuffer)
    {
      this.g += 8L;
      a(paramByteBuffer.getLong());
    }
    
    protected final void processRemaining(ByteBuffer paramByteBuffer)
    {
      this.g += paramByteBuffer.remaining();
      int i = 0;
      while (paramByteBuffer.hasRemaining())
      {
        this.h ^= (paramByteBuffer.get() & 0xFF) << i;
        i += 8;
      }
    }
  }
}


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