23 #include <grass/gmath.h>
25 #if defined(HAVE_ATLAS)
46 #if defined(HAVE_ATLAS)
47 return cblas_ddot(rows, x, 1, y, 1);
74 #if defined(HAVE_ATLAS)
75 return cblas_sdsdot(rows, a, x, 1, y, 1);
99 #if defined(HAVE_ATLAS)
100 return cblas_dnrm2(rows, x, 1);
124 #if defined(HAVE_ATLAS)
125 return cblas_dasum(rows, x, 1);
149 #if defined(HAVE_ATLAS)
150 return cblas_idamax(rows, x, 1);
174 #if defined(HAVE_ATLAS)
175 cblas_dscal(rows, a, x, 1);
197 #if defined(HAVE_ATLAS)
198 cblas_dcopy(rows, x, 1, y, 1);
226 #if defined(HAVE_ATLAS)
227 cblas_daxpy(rows, a, x, 1, y, 1);
257 #if defined(HAVE_ATLAS)
258 return cblas_sdot(rows, x, 1, y, 1);
282 #if defined(HAVE_ATLAS)
283 return cblas_snrm2(rows, x, 1);
307 #if defined(HAVE_ATLAS)
308 return cblas_sasum(rows, x, 1);
332 #if defined(HAVE_ATLAS)
333 return cblas_isamax(rows, x, 1);
357 #if defined(HAVE_ATLAS)
358 cblas_sscal(rows, a, x, 1);
381 #if defined(HAVE_ATLAS)
382 cblas_scopy(rows, x, 1, y, 1);
410 #if defined(HAVE_ATLAS)
411 cblas_saxpy(rows, a, x, 1, y, 1);
void G_math_f_x_dot_y(float *x, float *y, float *value, int rows)
Compute the dot product of vector x and y.
void G_math_daxpy(double *x, double *y, double a, int rows)
Scale vector x with scalar a and add it to y.
void G_math_dcopy(double *x, double *y, int rows)
Copy vector x to vector y.
void G_math_dscal(double *x, double a, int rows)
Scale vector x with scalar a using the ATLAS routine cblas_dscal.
void G_math_f_ax_by(float *x, float *y, float *z, float a, float b, int rows)
Scales vectors x and y with the scalars a and b and adds them.
void G_math_d_max_norm(double *x, double *value, int rows)
Compute the maximum norm of vector x.
double G_math_dnrm2(double *x, int rows)
Compute the euclidean norm of vector x using the ATLAS routine cblas_dnrm2.
float G_math_sdsdot(float *x, float *y, float a, int rows)
Compute the dot product of vector x and y using the ATLAS routine cblas_sdsdot.
void G_math_d_x_dot_y(double *x, double *y, double *value, int rows)
Compute the dot product of vector x and y.
void G_math_scopy(float *x, float *y, int rows)
Copy vector x to vector y.
double G_math_idamax(double *x, int rows)
Compute the maximum norm of vector x using the ATLAS routine cblas_idamax.
void G_math_f_copy(float *x, float *y, int rows)
Copy the vector x to y.
void G_math_saxpy(float *x, float *y, float a, int rows)
Scale vector x with scalar a and add it to y.
void G_math_f_max_norm(float *x, float *value, int rows)
Compute the maximum norm of vector x.
void G_math_f_asum_norm(float *x, float *value, int rows)
Compute the asum norm of vector x.
float G_math_sasum(float *x, int rows)
Compute the absolute sum norm of vector x using the ATLAS routine cblas_dasum.
void G_math_d_euclid_norm(double *x, double *value, int rows)
Compute the euclid norm of vector x.
double G_math_dasum(double *x, int rows)
Compute the absolute sum norm of vector x using the ATLAS routine cblas_dasum.
void G_math_d_copy(double *x, double *y, int rows)
Copy the vector x to y.
void G_math_d_asum_norm(double *x, double *value, int rows)
Compute the asum norm of vector x.
double G_math_ddot(double *x, double *y, int rows)
Compute the dot product of vector x and y using the ATLAS routine cblas_ddot.
void G_math_sscal(float *x, float a, int rows)
Scale vector x with scalar a using the ATLAS routine cblas_dscal.
float G_math_snrm2(float *x, int rows)
Compute the euclidean norm of vector x using the ATLAS routine cblas_dnrm2.
void G_math_f_euclid_norm(float *x, float *value, int rows)
Compute the euclid norm of vector x.
void G_math_d_ax_by(double *x, double *y, double *z, double a, double b, int rows)
Scales vectors x and y with the scalars a and b and adds them.
float G_math_isamax(float *x, int rows)
Compute the maximum norm of vector x using the ATLAS routine cblas_idamax.
float G_math_sdot(float *x, float *y, int rows)
Compute the dot product of vector x and y using the ATLAS routine cblas_sdot.