Org.BouncyCastle.Math.Raw.Nat256
namespace Org.BouncyCastle.Math.Raw
{
internal static class Nat256
{
public static uint Add(uint[] x, uint[] y, uint[] z);
public static uint Add(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff);
public static uint AddBothTo(uint[] x, uint[] y, uint[] z);
public static uint AddBothTo(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff);
public static uint AddTo(uint[] x, uint[] z, uint cIn);
public static uint AddTo(uint[] x, int xOff, uint[] z, int zOff, uint cIn);
public static uint AddToEachOther(uint[] u, int uOff, uint[] v, int vOff);
public static void Copy(uint[] x, uint[] z);
public static void Copy(uint[] x, int xOff, uint[] z, int zOff);
public static void Copy64(ulong[] x, ulong[] z);
public static void Copy64(ulong[] x, int xOff, ulong[] z, int zOff);
public static uint[] Create();
public static ulong[] Create64();
public static uint[] CreateExt();
public static ulong[] CreateExt64();
public static bool Diff(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff);
public static bool Eq(uint[] x, uint[] y);
public static bool Eq64(ulong[] x, ulong[] y);
public static uint GetBit(uint[] x, int bit);
public static bool Gte(uint[] x, uint[] y);
public static bool Gte(uint[] x, int xOff, uint[] y, int yOff);
public static bool IsOne(uint[] x);
public static bool IsOne64(ulong[] x);
public static bool IsZero(uint[] x);
public static bool IsZero64(ulong[] x);
public static void Mul(uint[] x, uint[] y, uint[] zz);
public static void Mul(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff);
public static void Mul128(uint[] x, uint[] y128, uint[] zz);
public static uint MulAddTo(uint[] x, uint[] y, uint[] zz);
public static uint MulAddTo(uint[] x, int xOff, uint[] y, int yOff, uint[] zz, int zzOff);
public static ulong Mul33Add(uint w, uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff);
public static uint MulByWord(uint x, uint[] z);
public static uint MulByWordAddTo(uint x, uint[] y, uint[] z);
public static uint MulWordAddTo(uint x, uint[] y, int yOff, uint[] z, int zOff);
public static uint Mul33DWordAdd(uint x, ulong y, uint[] z, int zOff);
public static uint Mul33WordAdd(uint x, uint y, uint[] z, int zOff);
public static uint MulWordDwordAdd(uint x, ulong y, uint[] z, int zOff);
public static uint MulWord(uint x, uint[] y, uint[] z, int zOff);
public static void Square(uint[] x, uint[] zz);
public static void Square(uint[] x, int xOff, uint[] zz, int zzOff);
public static int Sub(uint[] x, uint[] y, uint[] z);
public static int Sub(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff);
public static int SubBothFrom(uint[] x, uint[] y, uint[] z);
public static int SubFrom(uint[] x, uint[] z, int cIn);
public static int SubFrom(uint[] x, int xOff, uint[] z, int zOff, int cIn);
public static BigInteger ToBigInteger(uint[] x);
public static BigInteger ToBigInteger64(ulong[] x);
public static void Xor(uint[] x, int xOff, uint[] y, int yOff, uint[] z, int zOff);
public static void Zero(uint[] z);
}
}