public static void SetEach <T>(this NativeMatrix <T> matrix, T value) where T : struct { for (int i = 0; i < matrix.Nx; i++) { for (int j = 0; j < matrix.Ny; j++) { matrix[i, j] = value; } } }
public static void ForEach <T>(this NativeMatrix <T> matrix, Action <T> func) where T : struct { for (int i = 0; i < matrix.Nx; i++) { for (int j = 0; j < matrix.Ny; j++) { func(matrix[i, j]); } } }
public static void ChangeEach <T>(this NativeMatrix <T> matrix, Func <int, int, T, T> func) where T : struct { for (int i = 0; i < matrix.Nx; i++) { for (int j = 0; j < matrix.Ny; j++) { matrix[i, j] = func(i, j, matrix[i, j]); } } }