24 #include "grass/gmath.h"
25 #include <grass/gis.h>
58 #pragma omp for schedule (static) private(i, j)
59 for (i = rows - 1; i >= 0; i--)
60 for (j = cols - 1; j >= 0; j--)
61 C[i][j] = a * A[i][j];
68 #pragma omp for schedule (static) private(i, j)
69 for (i = rows - 1; i >= 0; i--)
70 for (j = cols - 1; j >= 0; j--)
71 C[i][j] = A[i][j] + B[i][j];
74 #pragma omp for schedule (static) private(i, j)
75 for (i = rows - 1; i >= 0; i--)
76 for (j = cols - 1; j >= 0; j--)
77 C[i][j] = B[i][j] - A[i][j];
80 #pragma omp for schedule (static) private(i, j)
81 for (i = rows - 1; i >= 0; i--)
82 for (j = cols - 1; j >= 0; j--)
83 C[i][j] = a * A[i][j] + B[i][j];
120 #pragma omp for schedule (static) private(i, j)
121 for (i = rows - 1; i >= 0; i--)
122 for (j = cols - 1; j >= 0; j--)
123 C[i][j] = a * A[i][j];
129 #pragma omp for schedule (static) private(i, j)
130 for (i = rows - 1; i >= 0; i--)
131 for (j = cols - 1; j >= 0; j--)
132 C[i][j] = A[i][j] + B[i][j];
134 else if (a == -1.0) {
135 #pragma omp for schedule (static) private(i, j)
136 for (i = rows - 1; i >= 0; i--)
137 for (j = cols - 1; j >= 0; j--)
138 C[i][j] = B[i][j] - A[i][j];
141 #pragma omp for schedule (static) private(i, j)
142 for (i = rows - 1; i >= 0; i--)
143 for (j = cols - 1; j >= 0; j--)
144 C[i][j] = a * A[i][j] + B[i][j];
175 int cols_A,
int rows_B)
179 #pragma omp for schedule (static) private(i, j, k)
180 for (i = 0; i < rows_A; i++) {
181 for (j = 0; j < rows_B; j++) {
183 for (k = cols_A - 1; k >= 0; k--) {
184 C[i][j] += A[i][k] * B[k][j];
216 int cols_A,
int rows_B)
220 #pragma omp for schedule (static) private(i, j, k)
221 for (i = 0; i < rows_A; i++) {
222 for (j = 0; j < rows_B; j++) {
224 for (k = cols_A - 1; k >= 0; k--) {
225 C[i][j] += A[i][k] * B[k][j];
void G_math_f_aA_B(float **A, float **B, float a, float **C, int rows, int cols)
Add two matrices and scale matrix A with the scalar a.
void G_math_f_AB(float **A, float **B, float **C, int rows_A, int cols_A, int rows_B)
Matrix multiplication.
void G_math_d_AB(double **A, double **B, double **C, int rows_A, int cols_A, int rows_B)
Matrix multiplication.
void G_math_d_aA_B(double **A, double **B, double a, double **C, int rows, int cols)
Add two matrices and scale matrix A with the scalar a.