public static void Compute(this VslSSTaskHandle <double> task, VslSSComputeRoutine routine, VslSSComputeMethod method, [CallerFilePath] string file = null, [CallerLineNumber] int?line = null) => VSL.vsldSSCompute(task, routine, method).AutoThrow(file, line);
public static void Compute <T>(this VslSSTaskHandle <T> task, VslSSComputeRoutine routine, VslSSComputeMethod method, [CallerFilePath] string file = null, [CallerLineNumber] int?line = null) where T : unmanaged { if (typeof(T) == typeof(float)) { VSL.vslsSSCompute(task, routine, method).AutoThrow(file, line); } else if (typeof(T) == typeof(double)) { VSL.vsldSSCompute(task, routine, method).AutoThrow(file, line); } else { throw unsupported <T>(); } }
public static extern VslSSStatus vsldSSCompute(IntPtr task, VslSSComputeRoutine routines, VslSSComputeMethod methods);