/// <summary> /// Checks if all elements along the specified axis are true. /// </summary> /// <param name="axis">The axis to check along.</param> /// <param name="source">The NdArray containing the source values.</param> /// <returns>A new NdArray containing the result of this operation.</returns> public static NdArray <bool> AllAxis(int axis, NdArray <bool> source) { var(preparedTargt, preparedSource) = NdArray <bool> .PrepareAxisReduceTarget <bool, bool>(axis, source); FillAllAxis(preparedTargt, axis, preparedSource); return(preparedTargt); }
/// <summary> /// Calculates the minimum value of the elements along the specified axis. /// </summary> /// <param name="axis">The axis to calculate the minimum along.</param> /// <param name="source">The NdArray containing the source values.</param> /// <returns>A new NdArray containing the result of this operation.</returns> public static NdArray <T> MinAxis(int axis, NdArray <T> source) { var(preparedTarget, preparedSource) = NdArray <T> .PrepareAxisReduceTarget <T, T>(axis, source); FillMinAxis(preparedTarget, axis, preparedSource); return(preparedTarget); }
/// <summary> /// Finds the index of the maximum value along the specified axis. /// </summary> /// <param name="axis">The axis to calculate the maximum along.</param> /// <param name="source">The NdArray containing the source values.</param> /// <returns>A new NdArray containing the result of this operation.</returns> public static NdArray <int> ArgMaxAxis(int axis, NdArray <T> source) { var(preparedTargt, preparedSource) = NdArray <T> .PrepareAxisReduceTarget <int, T>(axis, source); FillArgMaxAxis(preparedTargt, axis, preparedSource); return(preparedTargt); }
/// <summary> /// Finds the first occurence of the specfied value along the specified axis and returns its index. /// </summary> /// <param name="value">The value to find.</param> /// <param name="axis">The axis to find the value along.</param> /// <param name="source">The NdArray containing the source values.</param> /// <returns>A new NdArray containing the indices of the first occurence of <paramref name="value"/>.</returns> public static NdArray <int> FindAxis(T value, int axis, NdArray <T> source) { var(preparedTargt, preparedSource) = NdArray <T> .PrepareAxisReduceTarget <int, T>(axis, source); FillFindAxis(preparedTargt, value, axis, preparedSource); return(preparedTargt); }
/// <summary> /// Calculates the product of the elements along the specified axis. /// </summary> /// <param name="axis">The axis to calculate the product along.</param> /// <param name="source">The NdArray containing the source values.</param> /// <returns>A new NdArray containing the result of this operation.</returns> public static NdArray <T> ProductAxis(int axis, NdArray <T> source) { var(result, src) = NdArray <T> .PrepareAxisReduceTarget <T, T>(axis, source); var(src1, _) = NdArray <T> .PrepareAxisReduceSources(result, axis, source, null); result.Backend.ProductLastAxis(result, src1); return(result); }
/// <summary> /// Counts the elements being true along the specified axis. /// </summary> /// <param name="axis">The axis the count along.</param> /// <param name="source">The NdArray containing the source values.</param> public static NdArray <int> CountTrueAxis(int axis, NdArray <bool> source) { var(preparedTarget, preparedSource) = NdArray <int> .PrepareAxisReduceTarget <int, bool>(axis, source); preparedTarget.AssertInt(); FillCountTrueAxis(preparedTarget, axis, preparedSource); return(preparedTarget); }