// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.math.raw;

public abstract class Bits
{
    public static int bitPermuteStep(final int n, final int n2, final int n3) {
        final int n4 = (n ^ n >>> n3) & n2;
        return n4 ^ n4 << n3 ^ n;
    }
    
    public static long bitPermuteStep(final long n, final long n2, final int n3) {
        final long n4 = (n ^ n >>> n3) & n2;
        return n4 ^ n4 << n3 ^ n;
    }
    
    public static int bitPermuteStepSimple(final int n, final int n2, final int n3) {
        return (n & n2) << n3 | (n >>> n3 & n2);
    }
    
    public static long bitPermuteStepSimple(final long n, final long n2, final int n3) {
        return (n & n2) << n3 | (n >>> n3 & n2);
    }
}
