示例#1
0
 public static ref BlockVector <float> cdfNormInv(BlockVector <float> src, ref BlockVector <float> dst)
 {
     VmlImport.vsCdfNormInv(src.Length, ref head(src), ref head(dst));
     return(ref dst);
 }
示例#2
0
 public static int iamin(BlockVector <float> X)
 => (int)CBLAS.cblas_isamin(X.Length, ref head(X), 1);
示例#3
0
 public static int iamin(BlockVector <double> X)
 => (int)CBLAS.cblas_idamin(X.Length, ref head(X), 1);
示例#4
0
 public static ref BlockVector <double> erfc(BlockVector <double> src, ref BlockVector <double> dst)
 {
     VmlImport.vdErfc(src.Length, ref head(src), ref head(dst));
     return(ref dst);
 }
示例#5
0
文件: mkl.cs 项目: 0xCM/arrows
 public static ref T head <T>(BlockVector <T> src)
     where T : struct
 => ref MemoryMarshal.GetReference <T>(src.Unblocked);
示例#6
0
 public static ref BlockVector <float> sub(BlockVector <float> lhs, BlockVector <float> rhs, ref BlockVector <float> dst)
 {
     VmlImport.vsSub(length(lhs, rhs), ref head(lhs), ref head(rhs), ref head(dst));
     return(ref dst);
 }
示例#7
0
 public static ref BlockVector <double> sub(BlockVector <double> lhs, BlockVector <double> rhs, ref BlockVector <double> dst)
 {
     VmlImport.vdSub(length(lhs, rhs), ref head(lhs), ref head(rhs), ref head(dst));
     return(ref dst);
 }
示例#8
0
 public static ref BlockVector <N, float> mul <N>(BlockVector <N, float> lhs, BlockVector <N, float> rhs, ref BlockVector <N, float> dst)
     where N : ITypeNat, new()
 {
     VmlImport.vsMul(nati <N>(), ref head(lhs), ref head(rhs), ref head(dst));
     return(ref dst);
 }
示例#9
0
 public static ref BlockVector <float> truncRem(BlockVector <float> src, BlockVector <float> trunc, ref BlockVector <float> rem)
 {
     VmlImport.vsModf(length(src, trunc), ref head(src), ref head(trunc), ref head(rem));
     return(ref rem);
 }
示例#10
0
 public static ref BlockVector <float> hypot(BlockVector <float> a, BlockVector <float> b, ref BlockVector <float> dst)
 {
     VmlImport.vsHypot(dst.Length, ref head(a), ref head(b), ref head(dst));
     return(ref dst);
 }
示例#11
0
 public static ref BlockVector <double> hypot(BlockVector <double> a, BlockVector <double> b, ref BlockVector <double> dst)
 {
     VmlImport.vdHypot(dst.Length, ref head(a), ref head(b), ref head(dst));
     return(ref dst);
 }
示例#12
0
 public static ref BlockVector <double> lgamma(BlockVector <double> src, ref BlockVector <double> dst)
 {
     VmlImport.vdLGamma(src.Length, ref head(src), ref head(dst));
     return(ref dst);
 }
示例#13
0
 public static ref BlockVector <float> lgamma(BlockVector <float> src, ref BlockVector <float> dst)
 {
     VmlImport.vsLGamma(src.Length, ref head(src), ref head(dst));
     return(ref dst);
 }
示例#14
0
 public static ref BlockVector <double> cdfNormInv(BlockVector <double> src, ref BlockVector <double> dst)
 {
     VmlImport.vdCdfNormInv(src.Length, ref head(src), ref head(dst));
     return(ref dst);
 }
示例#15
0
 public static ref BlockVector <N, double> add <N>(BlockVector <N, double> lhs, BlockVector <N, double> rhs, ref BlockVector <N, double> dst)
     where N : ITypeNat, new()
 {
     VmlImport.vdAdd(nati <N>(), ref head(lhs), ref head(rhs), ref head(dst));
     return(ref dst);
 }
示例#16
0
 public static ref BlockVector <double> truncRem(BlockVector <double> lhs, BlockVector <double> rhs, ref BlockVector <double> dst)
 {
     VmlImport.vdModf(length(lhs, rhs), ref head(lhs), ref head(rhs), ref head(dst));
     return(ref dst);
 }
示例#17
0
 public static ref BlockVector <float> pow(BlockVector <float> src, float exp, ref BlockVector <float> dst)
 {
     VmlImport.vsPowx(length(src, dst), ref head(src), exp, ref head(dst));
     return(ref dst);
 }
示例#18
0
 public static ref BlockVector <float> minAbs(BlockVector <float> a, BlockVector <float> b, ref BlockVector <float> dst)
 {
     VmlImport.vsMinMag(dst.Length, ref head(a), ref head(b), ref head(dst));
     return(ref dst);
 }
示例#19
0
 public static ref BlockVector <double> pow(BlockVector <double> src, double exp, ref BlockVector <double> dst)
 {
     VmlImport.vdPowx(length(src, dst), ref head(src), exp, ref head(dst));
     return(ref dst);
 }
示例#20
0
 public static ref BlockVector <double> minAbs(BlockVector <double> a, BlockVector <double> b, ref BlockVector <double> dst)
 {
     VmlImport.vdMinMag(dst.Length, ref head(a), ref head(b), ref head(dst));
     return(ref dst);
 }
示例#21
0
 public static ref BlockVector <float> erfc(BlockVector <float> src, ref BlockVector <float> dst)
 {
     VmlImport.vsErfc(src.Length, ref head(src), ref head(dst));
     return(ref dst);
 }
示例#22
0
 public static ref BlockVector <float> copySign(BlockVector <float> a, BlockVector <float> b, ref BlockVector <float> dst)
 {
     VmlImport.vsCopySign(dst.Length, ref head(a), ref head(b), ref head(dst));
     return(ref dst);
 }
示例#23
0
文件: mkl.cs 项目: 0xCM/arrows
 static int length <S, T>(BlockVector <S> lhs, BlockVector <T> rhs, [CallerMemberName] string caller = null,
                          [CallerFilePath] string file = null, [CallerLineNumber] int?line = null)
     where T : struct
     where S : struct
 => lhs.Length == rhs.Length ? lhs.Length
 : throw Errors.LengthMismatch(lhs.Length, rhs.Length, caller, file, line);
示例#24
0
 public static ref BlockVector <double> copySign(BlockVector <double> a, BlockVector <double> b, ref BlockVector <double> dst)
 {
     VmlImport.vdCopySign(dst.Length, ref head(a), ref head(b), ref head(dst));
     return(ref dst);
 }
示例#25
0
文件: mkl.cs 项目: 0xCM/arrows
 static ref T head <N, T>(BlockVector <N, T> src)
     where N : ITypeNat, new()
     where T : struct
 => ref MemoryMarshal.GetReference <T>(src.Unsized);
示例#26
0
 public static ref BlockVector <float> next(BlockVector <float> src, ref BlockVector <float> dst)
 {
     VmlImport.vsNextAfter(dst.Length, ref head(src), ref head(src), ref head(dst));
     return(ref dst);
 }
示例#27
0
 public static float amin(BlockVector <float> X)
 => X[iamin(X)];
示例#28
0
 public static ref BlockVector <double> next(BlockVector <double> src, ref BlockVector <double> dst)
 {
     VmlImport.vdNextAfter(dst.Length, ref head(src), ref head(src), ref head(dst));
     return(ref dst);
 }
示例#29
0
 public static double amin(BlockVector <double> X)
 => X[iamin(X)];
示例#30
0
 public static double asum(BlockVector <double> X)
 => CBLAS.cblas_dasum(X.Length, ref head(X), 1);