public static BitVector64 clmulr(BitVector64 a, BitVector64 b, BitVector128 poly) { var prod = clmul(a, b); prod = Bits.xor(prod, dinx.clmul(srl(prod, 64), poly, ClMulMask.X00)); prod = Bits.xor(prod, dinx.clmul(srl(prod, 64), poly, ClMulMask.X00)); return((BitVector64)prod); }
public static BitVector128 ToBitVector(this BitString src, N128 n) => BitVector128.FromBitString(src);