示例#1
0
文件: clmul.cs 项目: 0xCM/arrows
        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);
        }
示例#2
0
 public static ref Scalar128 <float> rcp(ref Scalar128 <float> src)
 {
     src = ReciprocalScalar(src);
     return(ref src);
 }
示例#3
0
 public static Scalar128 <float> rcp(Scalar128 <float> src)
 => ReciprocalScalar(src);
示例#4
0
文件: Num128.api.cs 项目: 0xCM/arrows
 public static unsafe ref Scalar128 <double> load(double src, out Scalar128 <double> dst)
 {
     dst = LoadScalarVector128(pfloat64(ref src));
     return(ref dst);
 }
示例#5
0
文件: Num128.api.cs 项目: 0xCM/arrows
 public static unsafe ref Scalar128 <float> load(float src, out Scalar128 <float> dst)
 {
     dst = LoadScalarVector128(pfloat32(ref src));
     return(ref dst);
 }
示例#6
0
文件: ceil.cs 项目: 0xCM/arrows
 public static ref Scalar128 <double> ceil(ref Scalar128 <double> src)
 {
     src = CeilingScalar(src);
     return(ref src);
 }
示例#7
0
文件: ceil.cs 项目: 0xCM/arrows
 public static ref Scalar128 <float> ceil(ref Scalar128 <float> src)
 {
     src = CeilingScalar(src);
     return(ref src);
 }
示例#8
0
文件: clmul.cs 项目: 0xCM/arrows
 public static Vec128 <ulong> clmul(Scalar128 <ulong> a, Scalar128 <ulong> b)
 => CarrylessMultiply(a, b, 0x00);