Org.BouncyCastle.Math.BinPoly.BinPolyMulBase
Abstract base for IBinPolyMul implementations. Holds the shared state
(m_n, m_size, m_sizeExt, m_reduce) and the squaring
helpers (Square, SquareN). Multiply is abstract and is
supplied by per-(size, ISA) concrete subclasses.
namespace Org.BouncyCastle.Math.BinPoly
{
internal abstract class BinPolyMulBase : IBinPolyMul
{
protected readonly int m_n;
protected readonly int m_size;
protected readonly int m_sizeExt;
protected readonly IReduce m_reduce;
public int N { get; }
public int Size { get; }
protected BinPolyMulBase(int n, IReduce reduce);
public abstract void Multiply(ulong[] x, int xOff, ulong[] y, int yOff, ulong[] z, int zOff);
public void Square(ulong[] x, int xOff, ulong[] z, int zOff);
public void SquareN(ulong[] x, int xOff, int n, ulong[] z, int zOff);
}
}