public static Scalar128 <ulong> clmulr(Scalar128 <ulong> a, Scalar128 <ulong> b, Vec128 <ulong> poly) { var prod = dinx.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(prod); }
public static ref Scalar128 <float> rcp(ref Scalar128 <float> src) { src = ReciprocalScalar(src); return(ref src); }
public static Scalar128 <float> rcp(Scalar128 <float> src) => ReciprocalScalar(src);
public static unsafe ref Scalar128 <double> load(double src, out Scalar128 <double> dst) { dst = LoadScalarVector128(pfloat64(ref src)); return(ref dst); }
public static unsafe ref Scalar128 <float> load(float src, out Scalar128 <float> dst) { dst = LoadScalarVector128(pfloat32(ref src)); return(ref dst); }
public static ref Scalar128 <double> ceil(ref Scalar128 <double> src) { src = CeilingScalar(src); return(ref src); }
public static ref Scalar128 <float> ceil(ref Scalar128 <float> src) { src = CeilingScalar(src); return(ref src); }
public static Vec128 <ulong> clmul(Scalar128 <ulong> a, Scalar128 <ulong> b) => CarrylessMultiply(a, b, 0x00);