Functions | |
void | cs_array_real_copy_sublist (cs_lnum_t n_elts, int stride, const cs_lnum_t elt_ids[], int mode, const cs_real_t ref[], cs_real_t dest[]) |
Copy an array ("ref") into another array ("dest") on possibly only a part of the array(s). Array with stride > 1 are assumed to be interlaced. The sublist of element on which working is defined by "elt_ids" (of size "n_elts"). The way to apply the sublist is set with the parameter "mode" as follows: More... | |
void | cs_array_real_copy (cs_lnum_t n_elts, cs_lnum_t dim, const cs_real_t src[], cs_real_t dest[restrict]) |
Copy real values from an array to another of the same dimensions. More... | |
void | cs_array_real_set_scalar (cs_lnum_t n_elts, cs_real_t ref_val, cs_real_t a[]) |
Assign a constant scalar value to an array. More... | |
void | cs_array_real_set_scalar_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], cs_real_t ref_val, cs_real_t a[]) |
Assign a constant scalar value to an array on a selected subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_scalar. More... | |
void | cs_array_real_set_vector (cs_lnum_t n_elts, const cs_real_t ref_val[3], cs_real_t *a) |
Assign a constant vector to an array of stride 3 which is interlaced. More... | |
void | cs_array_real_set_vector_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t ref_val[3], cs_real_t a[]) |
Assign a constant vector to an interlaced array (of stride 3) on a selected subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_vector. More... | |
void | cs_array_real_set_symm_tensor (cs_lnum_t n_elts, const cs_real_t ref_val[6], cs_real_t *a) |
Assign a constant vector of size 6 (optimized way to define a symmetric tensor) to an array (of stride 6) which is interlaced. More... | |
void | cs_array_real_set_symm_tensor_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t ref_val[6], cs_real_t *a) |
Assign a constant vector of size 6 (optimized way to define a symmetric tensor) to an interlaced array (of stride 6) on a selected subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_symm_tensor. More... | |
void | cs_array_real_set_tensor (cs_lnum_t n_elts, const cs_real_t ref_tens[3][3], cs_real_t *a) |
Assign a constant 3x3 tensor to an array (of stride 9) which is interlaced. More... | |
void | cs_array_real_set_tensor_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t ref_tens[3][3], cs_real_t *a) |
Assign a constant 3x3 tensor to an interlaced array (of stride 9) on a subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_tensor. More... | |
void | cs_array_real_fill_zero (cs_lnum_t size, cs_real_t a[]) |
Assign zero to all elements of an array. More... | |
void | cs_array_set_value_real (cs_lnum_t n_elts, cs_lnum_t dim, cs_real_t v, cs_real_t a[]) |
Assign a constant value to an array (deprecated function). More... | |
Array handling utilities.
void cs_array_real_copy | ( | cs_lnum_t | n_elts, |
cs_lnum_t | dim, | ||
const cs_real_t | src[], | ||
cs_real_t | dest[restrict] | ||
) |
Copy real values from an array to another of the same dimensions.
[in] | n_elts | number of associated elements |
[in] | dim | associated dimension |
[in] | src | source array values (size: n_elts*dim) |
[out] | dest | destination array values (size: n_elts*dim) |
void cs_array_real_copy_sublist | ( | cs_lnum_t | n_elts, |
int | stride, | ||
const cs_lnum_t | elt_ids[], | ||
int | mode, | ||
const cs_real_t | ref[], | ||
cs_real_t | dest[] | ||
) |
Copy an array ("ref") into another array ("dest") on possibly only a part of the array(s). Array with stride > 1 are assumed to be interlaced. The sublist of element on which working is defined by "elt_ids" (of size "n_elts"). The way to apply the sublist is set with the parameter "mode" as follows:
It elt_ids = NULL or mode < 0 (CS_ARRAY_NO_SUBLIST), then the behavior is as cs_array_real_copy
One assumes that all arrays are allocated with a correct size.
[in] | n_elts | number of elements in the array |
[in] | stride | number of values for each element |
[in] | mode | type of indirection to apply |
[in] | elt_ids | sub list of element ids to consider |
[in] | ref | reference values to copy |
[in,out] | dest | array storing values after applying the indirection |
Assign zero to all elements of an array.
[in] | size | total number of elements to set to zero |
[in,out] | a | array to set |
Assign a constant scalar value to an array.
[in] | n_elts | number of elements |
[in] | ref_val | value to assign |
[in,out] | a | array to set |
void cs_array_real_set_scalar_on_subset | ( | cs_lnum_t | n_elts, |
const cs_lnum_t | elt_ids[], | ||
cs_real_t | ref_val, | ||
cs_real_t | a[] | ||
) |
Assign a constant scalar value to an array on a selected subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_scalar.
[in] | n_elts | number of elements |
[in] | elt_ids | list of ids defining the subset or NULL |
[in] | ref_val | value to assign |
[in,out] | a | array to set |
Assign a constant vector of size 6 (optimized way to define a symmetric tensor) to an array (of stride 6) which is interlaced.
[in] | n_elts | number of elements |
[in] | ref_val | vector to assign |
[in,out] | a | array to set |
void cs_array_real_set_symm_tensor_on_subset | ( | cs_lnum_t | n_elts, |
const cs_lnum_t | elt_ids[], | ||
const cs_real_t | ref_val[6], | ||
cs_real_t * | a | ||
) |
Assign a constant vector of size 6 (optimized way to define a symmetric tensor) to an interlaced array (of stride 6) on a selected subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_symm_tensor.
[in] | n_elts | number of elements |
[in] | elt_ids | list of ids defining the subset or NULL |
[in] | ref_val | vector to assign |
[in,out] | a | array to set |
Assign a constant 3x3 tensor to an array (of stride 9) which is interlaced.
[in] | n_elts | number of elements |
[in] | ref_tens | tensor to assign |
[in,out] | a | array to set |
void cs_array_real_set_tensor_on_subset | ( | cs_lnum_t | n_elts, |
const cs_lnum_t | elt_ids[], | ||
const cs_real_t | ref_tens[3][3], | ||
cs_real_t * | a | ||
) |
Assign a constant 3x3 tensor to an interlaced array (of stride 9) on a subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_tensor.
[in] | n_elts | number of elements |
[in] | elt_ids | list of ids defining the subset or NULL |
[in] | ref_tens | tensor to assign |
[in,out] | a | array to set |
Assign a constant vector to an array of stride 3 which is interlaced.
[in] | n_elts | number of elements |
[in] | ref_val | vector to assign |
[in,out] | a | array to set |
void cs_array_real_set_vector_on_subset | ( | cs_lnum_t | n_elts, |
const cs_lnum_t | elt_ids[], | ||
const cs_real_t | ref_val[3], | ||
cs_real_t | a[] | ||
) |
Assign a constant vector to an interlaced array (of stride 3) on a selected subset of elements. If elt_ids = NULL, then one recovers the function cs_array_real_set_vector.
[in] | n_elts | number of elements |
[in] | elt_ids | list of ids defining the subset or NULL |
[in] | ref_val | vector to assign |
[in,out] | a | array to set |