Org.BouncyCastle.Math.BinPoly.BinPolys
Static entry point for binary-polynomial helpers. Reducer-independent ops
( Size, Create, Add, AddTo) sit at the
top level; IBinPolyMul factories classified by reduction
polynomial shape live under the nested Mul sub-class, and inversion
factories under Inv (Itoh-Tsujii today; safegcd a possible future sibling).
namespace Org.BouncyCastle.Math.BinPoly
{
internal static class BinPolys
{
public static class Mul
{
public static IBinPolyMul Binomial(int n);
public static IBinPolyMul Trinomial(int n, int k);
public static IBinPolyMul Pentanomial(int n, int k1, int k2, int k3);
}
public static class Inv
{
public static IBinPolyInv ItohTsujii(IBinPolyMul mul);
}
public static int Size(int n);
public static ulong[] Create(int size);
public static void Add(int size, ulong[] x, int xOff, ulong[] y, int yOff, ulong[] z, int zOff);
public static void Add(int size, ReadOnlySpan<ulong> x, ReadOnlySpan<ulong> y, Span<ulong> z);
public static void AddTo(int size, ulong[] x, int xOff, ulong[] z, int zOff);
public static void AddTo(int size, ReadOnlySpan<ulong> x, Span<ulong> z);
public static void Copy(int size, ulong[] x, int xOff, ulong[] z, int zOff);
public static void Copy(int size, ReadOnlySpan<ulong> x, Span<ulong> z);
public static void Zero(int size, ulong[] z, int zOff);
public static void Zero(int size, Span<ulong> z);
public static void Clear(int size, ulong[] z, int zOff);
public static void Clear(int size, Span<ulong> z);
public static void One(int size, ulong[] z, int zOff);
public static void One(int size, Span<ulong> z);
public static ulong EqualTo(int size, ulong[] x, int xOff, ulong[] y, int yOff);
public static ulong EqualTo(int size, ReadOnlySpan<ulong> x, ReadOnlySpan<ulong> y);
public static ulong EqualToOne(int size, ulong[] x, int xOff);
public static ulong EqualToOne(int size, ReadOnlySpan<ulong> x);
public static ulong EqualToZero(int size, ulong[] x, int xOff);
public static ulong EqualToZero(int size, ReadOnlySpan<ulong> x);
public static int BitLengthVar(int size, ulong[] x, int xOff);
public static int BitLengthVar(int size, ReadOnlySpan<ulong> x);
}
}