Go to the source code of this file.
Enumerations | |
enum | cs_blas_reduce_t { CS_BLAS_REDUCE_SUPERBLOCK , CS_BLAS_REDUCE_KAHAN } |
Functions | |
void | cs_blas_library_info (cs_log_t log_type) |
Print information on BLAS libraries used. More... | |
void | cs_blas_set_reduce_algorithm (cs_blas_reduce_t mode) |
Set the preferred BLAS reduction algorithm family. More... | |
void | cs_axpy (cs_lnum_t n, double a, const cs_real_t *x, cs_real_t *y) |
double | cs_sum (cs_lnum_t n, const cs_real_t *x) |
double | cs_weighted_sum (cs_lnum_t n, const cs_real_t *w, const cs_real_t *x) |
double | cs_dot (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y) |
Return the dot product of 2 vectors: x.y. More... | |
double | cs_dot_xx (cs_lnum_t n, const cs_real_t *x) |
Return dot products of a vector with itself: x.x. More... | |
double | cs_dot_wxx (cs_lnum_t n, const cs_real_t *w, const cs_real_t *x) |
void | cs_dot_xx_xy (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y, double *xx, double *xy) |
void | cs_dot_xy_yz (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y, const cs_real_t *z, double *xx, double *xy) |
void | cs_dot_xx_xy_yz (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y, const cs_real_t *z, double *xx, double *xy, double *yz) |
void | cs_dot_xx_yy_xy_xz_yz (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y, const cs_real_t *z, double *xx, double *yy, double *xy, double *xz, double *yz) |
double | cs_gdot (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y) |
Return the global dot product of 2 vectors: x.y. More... | |
double | cs_gdot_xx (cs_lnum_t n, const cs_real_t *x) |
void | cs_gdot_xx_xy (cs_lnum_t n, const cs_real_t *x, const cs_real_t *y, double *xx, double *xy) |
double | cs_gres (cs_lnum_t n, const cs_real_t *vol, const cs_real_t *x, const cs_real_t *y) |
Return the global residual of 2 intensive vectors: 1/sum(vol) . sum(x.y.vol) More... | |
double | cs_gmean (cs_lnum_t n, const cs_real_t *vol, const cs_real_t *x) |
Return the global spacial average of an intensive vectors: 1/sum(vol) . sum(x.vol) More... | |
enum cs_blas_reduce_t |
void cs_blas_library_info | ( | cs_log_t | log_type | ) |
Print information on BLAS libraries used.
[in] | log_type | log type |
void cs_blas_set_reduce_algorithm | ( | cs_blas_reduce_t | mode | ) |
Set the preferred BLAS reduction algorithm family.
This may not be enforced for all algorithms, though it should at least be enforced for the most general functions such as cs_dot.
[in] | mode | BLAS mode to use |
Return the dot product of 2 vectors: x.y.
[in] | n | size of arrays x and y |
[in] | x | array of floating-point values |
[in] | y | array of floating-point values |
Return dot products of a vector with itself: x.x.
For better precision, a superblock algorithm is used.
[in] | n | size of array x |
[in] | x | array of floating-point values |
void cs_dot_xx_xy | ( | cs_lnum_t | n, |
const cs_real_t * | x, | ||
const cs_real_t * | y, | ||
double * | xx, | ||
double * | xy | ||
) |
void cs_dot_xx_xy_yz | ( | cs_lnum_t | n, |
const cs_real_t * | x, | ||
const cs_real_t * | y, | ||
const cs_real_t * | z, | ||
double * | xx, | ||
double * | xy, | ||
double * | yz | ||
) |
void cs_dot_xx_yy_xy_xz_yz | ( | cs_lnum_t | n, |
const cs_real_t * | x, | ||
const cs_real_t * | y, | ||
const cs_real_t * | z, | ||
double * | xx, | ||
double * | yy, | ||
double * | xy, | ||
double * | xz, | ||
double * | yz | ||
) |
void cs_dot_xy_yz | ( | cs_lnum_t | n, |
const cs_real_t * | x, | ||
const cs_real_t * | y, | ||
const cs_real_t * | z, | ||
double * | xx, | ||
double * | xy | ||
) |
Return the global dot product of 2 vectors: x.y.
In parallel mode, the local results are summed on the default global communicator.
For better precision, a superblock algorithm is used.
[in] | n | size of arrays x and y |
[in] | x | array of floating-point values |
[in] | y | array of floating-point values |
void cs_gdot_xx_xy | ( | cs_lnum_t | n, |
const cs_real_t * | x, | ||
const cs_real_t * | y, | ||
double * | xx, | ||
double * | xy | ||
) |
Return the global spacial average of an intensive vectors: 1/sum(vol) . sum(x.vol)
In parallel mode, the local results are summed on the default global communicator.
[in] | n | size of arrays x |
[in] | vol | array of floating-point values |
[in] | x | array of floating-point values |
Return the global residual of 2 intensive vectors: 1/sum(vol) . sum(x.y.vol)
In parallel mode, the local results are summed on the default global communicator.
[in] | n | size of arrays x and y |
[in] | vol | array of floating-point values |
[in] | x | array of floating-point values |
[in] | y | array of floating-point values |