/// <summary> /// Returns the max-norm of this vector. /// </summary> public static double NormMax(long3 v) => v.NormMax;
/// <summary> /// Returns the inner product (dot product, scalar product) of the two vectors. /// </summary> public static long Dot(long3 lhs, long3 rhs) => long3.Dot(lhs, rhs);
/// <summary> /// Returns the sum of all components. /// </summary> public static long Sum(long3 v) => v.Sum;
/// <summary> /// Returns the one-norm of this vector. /// </summary> public static double Norm1(long3 v) => v.Norm1;
/// <summary> /// Returns the minimal component of this vector. /// </summary> public static long MinElement(long3 v) => v.MinElement;
/// <summary> /// Returns the euclidean length of this vector. /// </summary> public static double Length(long3 v) => v.Length;
/// <summary> /// Returns a long3 from component-wise application of Fma (a * b + c). /// </summary> public static long3 Fma(long3 a, long3 b, long3 c) => long3.Fma(a, b, c);
/// <summary> /// Returns a long3 from component-wise application of LeftShift (lhs << rhs). /// </summary> public static long3 LeftShift(long3 lhs, int3 rhs) => long3.LeftShift(lhs, rhs);
/// <summary> /// Returns an enumerator that iterates through all components. /// </summary> public static IEnumerator <long> GetEnumerator(long3 v) => v.GetEnumerator();
/// <summary> /// Returns a long3 from component-wise application of Smootherstep (((v - edge0) / (edge1 - edge0)).Clamp().HermiteInterpolationOrder5()). /// </summary> public static long3 Smootherstep(long3 edge0, long3 edge1, long3 v) => long3.Smootherstep(edge0, edge1, v);
/// <summary> /// Returns a long3 from component-wise application of Lerp (min * (1-a) + max * a). /// </summary> public static long3 Lerp(long3 min, long3 max, long3 a) => long3.Lerp(min, max, a);
/// <summary> /// Returns a long3 from component-wise application of Mix (min * (1-a) + max * a). /// </summary> public static long3 Mix(long3 min, long3 max, long3 a) => long3.Mix(min, max, a);
/// <summary> /// Returns a long3 from component-wise application of Clamp (System.Math.Min(System.Math.Max(v, min), max)). /// </summary> public static long3 Clamp(long3 v, long3 min, long3 max) => long3.Clamp(v, min, max);
/// <summary> /// Returns a long3 from component-wise application of Log ((long)System.Math.Log((double)lhs, (double)rhs)). /// </summary> public static long3 Log(long3 lhs, long3 rhs) => long3.Log(lhs, rhs);
/// <summary> /// OuterProduct treats the first parameter c as a column vector (matrix with one column) and the second parameter r as a row vector (matrix with one row) and does a linear algebraic matrix multiply c * r, yielding a matrix whose number of rows is the number of components in c and whose number of columns is the number of components in r. /// </summary> public static long4x3 OuterProduct(long3 c, long4 r) => long3.OuterProduct(c, r);
/// <summary> /// Returns a string representation of this vector using a provided seperator. /// </summary> public static string ToString(long3 v, string sep) => v.ToString(sep);
/// <summary> /// Returns a long3 from component-wise application of Add (lhs + rhs). /// </summary> public static long3 Add(long3 lhs, long3 rhs) => long3.Add(lhs, rhs);
/// <summary> /// Returns a long3 from component-wise application of RightShift (lhs >> rhs). /// </summary> public static long3 RightShift(long3 lhs, int3 rhs) => long3.RightShift(lhs, rhs);
/// <summary> /// Returns a long3 from component-wise application of Sub (lhs - rhs). /// </summary> public static long3 Sub(long3 lhs, long3 rhs) => long3.Sub(lhs, rhs);
/// <summary> /// Returns the maximal component of this vector. /// </summary> public static long MaxElement(long3 v) => v.MaxElement;
/// <summary> /// Returns a string representation of this vector using ', ' as a seperator. /// </summary> public static string ToString(long3 v) => v.ToString();
/// <summary> /// Returns the squared euclidean length of this vector. /// </summary> public static double LengthSqr(long3 v) => v.LengthSqr;
/// <summary> /// Returns a long3 from component-wise application of Mul (lhs * rhs). /// </summary> public static long3 Mul(long3 lhs, long3 rhs) => long3.Mul(lhs, rhs);
/// <summary> /// Returns a string representation of this vector using a provided seperator and a format provider for each component. /// </summary> public static string ToString(long3 v, string sep, IFormatProvider provider) => v.ToString(sep, provider);
/// <summary> /// Returns a long3 from component-wise application of Div (lhs / rhs). /// </summary> public static long3 Div(long3 lhs, long3 rhs) => long3.Div(lhs, rhs);
/// <summary> /// Returns the two-norm (euclidean length) of this vector. /// </summary> public static double Norm2(long3 v) => v.Norm2;
/// <summary> /// Returns a long3 from component-wise application of Xor (lhs ^ rhs). /// </summary> public static long3 Xor(long3 lhs, long3 rhs) => long3.Xor(lhs, rhs);
/// <summary> /// Returns the p-norm of this vector. /// </summary> public static double NormP(long3 v, double p) => v.NormP(p);
/// <summary> /// Returns a long3 from component-wise application of BitwiseAnd (lhs & rhs). /// </summary> public static long3 BitwiseAnd(long3 lhs, long3 rhs) => long3.BitwiseAnd(lhs, rhs);
public static extern CUResult cuMemcpyDtoH_v2(ref long3 dstHost, CUdeviceptr srcDevice, SizeT ByteCount);
/// <summary> /// Returns an array with all values /// </summary> public static long[] Values(long3 v) => v.Values;