#include <string.h>#include "base/cs_defs.h"#include "base/cs_base_accel.h"#include "base/cs_dispatch.h"#include "base/cs_mdspan.h"#include "base/cs_parall.h"
Include dependency graph for cs_array.h:Go to the source code of this file.
Classes | |
| class | array< T, N, L > |
Namespaces | |
| namespace | cs |
Macros | |
| #define | CS_ARRAY_SUBSET_NULL -1 |
| #define | CS_ARRAY_SUBSET_IN 0 |
| #define | CS_ARRAY_SUBSET_OUT 1 |
| #define | CS_ARRAY_SUBSET_INOUT 2 |
Typedefs | |
| template<class T > | |
| using | cs_array = cs::array< T, 1, cs::layout::right > |
| template<class T , cs::layout L = cs::layout::right> | |
| using | cs_array_2d = cs::array< T, 2, L > |
| template<class T , cs::layout L = cs::layout::right> | |
| using | cs_array_3d = cs::array< T, 3, L > |
| template<class T , cs::layout L = cs::layout::right> | |
| using | cs_array_4d = cs::array< T, 4, L > |
| template<class T , int N, cs::layout L = cs::layout::right> | |
| using | cs_mdarray = cs::array< T, N, L > |
| template<class T , int N> | |
| using | cs_mdarray_r = cs::array< T, N, cs::layout::right > |
| template<class T , int N> | |
| using | cs_mdarray_l = cs::array< T, N, cs::layout::left > |
Functions | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_value (const cs_lnum_t n_elts, const T *ref_val, Arrays &&... arrays) |
| Assign values to all elements of multiple arrays. ref_val is input as a pointer or an array. More... | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_value (const cs_lnum_t n_elts, const T ref_val, Arrays &&... arrays) |
| Assign values to all elements of multiple arrays. ref_val is input as a scalar. More... | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_value (cs_dispatch_context &ctx, const cs_lnum_t n_elts, const T *ref_val, Arrays &&... arrays) |
| Assign values to all elements of multiple arrays. ref_val is input as a pointer or an array. More... | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_value (cs_dispatch_context &ctx, const cs_lnum_t n_elts, const T ref_val, Arrays &&... arrays) |
| Assign values to all elements of multiple arrays. ref_val is input as a scalar. More... | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_zero (cs_dispatch_context &ctx, const cs_lnum_t n_elts, Arrays &&... arrays) |
| Assign zero value to all elements of multiple arrays. More... | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_value_on_subset (const cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const T *ref_val, Arrays &&... arrays) |
| Assign values on a selected subset of elements to multiple arrays. ref_val is input as a pointer or an array. More... | |
| template<typename T , size_t stride, typename... Arrays> | |
| void | cs_arrays_set_value_on_subset (const cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const T ref_val, Arrays &&... arrays) |
| Assign values on a selected subset of elements to multiple arrays. ref_val is input as a scalar. More... | |
| template<typename T > | |
| void | cs_array_copy (const cs_lnum_t size, const T *src, T *dest) |
| Copy values from an array to another of the same dimensions. More... | |
| template<typename T > | |
| void | cs_array_difference (cs_lnum_t size, const T *x, const T *y, T *diff) |
| Compute the difference diff = x - y. All arrays have the same dimension. More... | |
| void | cs_array_bool_fill_true (cs_lnum_t size, bool a[]) |
| Assign true to all elements of an array. Case of an array of booleans. More... | |
| void | cs_array_bool_fill_false (cs_lnum_t size, bool a[]) |
| Assign false to all elements of an array. Case of an array of booleans. More... | |
| void | cs_array_flag_fill_zero (cs_lnum_t size, cs_flag_t a[]) |
| Assign zero to all elements of an array. Case of a cs_flag_t array. More... | |
| void | cs_array_lnum_fill_zero (cs_lnum_t size, cs_lnum_t a[]) |
| Assign zero to all elements of an array. Case of a cs_lnum_t array. More... | |
| void | cs_array_lnum_copy (cs_lnum_t size, const cs_lnum_t src[], cs_lnum_t dest[]) |
| Copy values from an array of cs_lnum_t type to another of the same dimensions. More... | |
| void | cs_array_lnum_set_value (cs_lnum_t size, cs_lnum_t num, cs_lnum_t a[]) |
| Assign the value "num" to all elements of an array. Case of a cs_lnum_t array. More... | |
| void | cs_array_lnum_set_value_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], cs_lnum_t num, cs_lnum_t a[]) |
| Assign the value "num" to an array on a selected subset of elements. if elt_ids is null, then one recovers the function cs_array_lnum_set_value. More... | |
| void | cs_array_int_fill_zero (cs_lnum_t size, int a[]) |
| Assign zero to all elements of an array. Case of a int array. More... | |
| void | cs_array_int_set_value (cs_lnum_t size, int num, int a[]) |
| Assign the value "num" to all elements of an array. Case of a int array. More... | |
| void | cs_array_int_set_value_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], int num, int a[]) |
| Assign the value "num" to an array on a selected subset of elements. if elt_ids is null, then one recovers the function cs_array_int_set_value. More... | |
| void | cs_array_real_copy_subset (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 subset of elements on which working is defined by "elt_ids". The way to apply the subset is defined with the parameter "mode" as follows: More... | |
| void | cs_array_real_copy (cs_lnum_t size, const cs_real_t src[], cs_real_t dest[]) |
| Copy real values from an array to another of the same dimensions. More... | |
| void | cs_array_real_scale (cs_lnum_t n_elts, int stride, const cs_lnum_t *elt_ids, cs_real_t scaling_factor, cs_real_t dest[]) |
| Multiply each value by a scaling factor s.t. dest *= scaling_factor If elt_ids is non-null, one applies an indirection. A stride can also be applied. One assumes an interlaced array. More... | |
| void | cs_array_real_padd (cs_lnum_t n_elts, const cs_real_t l_add[], cs_real_t r[]) |
| Add in place an array s.t. r += l_add. More... | |
| void | cs_array_real_set_value (cs_lnum_t n_elts, int stride, const cs_real_t ref_val[], cs_real_t a[]) |
| Assign a constant value of dim "stride" to an interlaced array sharing the same stride. More... | |
| void | cs_array_real_set_wvalue (cs_lnum_t n_elts, int stride, const cs_real_t ref_val[], const cs_real_t weight[], cs_real_t a[]) |
| Assign a weighted constant value of dim "stride" to an interlaced array sharing the same stride. Apply a weight for each element. This weight is constant for each component of an element. More... | |
| void | cs_array_real_set_value_on_subset (cs_lnum_t n_elts, int stride, const cs_lnum_t elt_ids[], const cs_real_t ref_val[], cs_real_t a[]) |
| Assign a constant value of dim "stride" to an interlaced array sharing the same stride. Only a subset of elements are considered. If elt_ids is null, then one recovers the function cs_array_real_set_value. More... | |
| void | cs_array_real_set_wvalue_on_subset (cs_lnum_t n_elts, int stride, const cs_lnum_t elt_ids[], const cs_real_t ref_val[], const cs_real_t weight[], cs_real_t a[]) |
| Assign a weighted constant value of dim "stride" to an interlaced array sharing the same stride. Only a subset of elements are considered. If elt_ids is null, then one recovers the function cs_array_real_set_wvalue Apply a weight for each element. This weight is constant for each component of an element. 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_wscalar (cs_lnum_t n_elts, cs_real_t ref_val, const cs_real_t weight[], cs_real_t a[]) |
| Assign a weighted constant scalar value to an array. The weight array has the same size as the array "a". 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 is null, then one recovers the function cs_array_real_set_scalar. More... | |
| void | cs_array_real_set_wscalar_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], cs_real_t ref_val, const cs_real_t weight[], cs_real_t a[]) |
| Assign a weighted constant scalar value to an array on a selected subset of elements. If elt_ids is null, then one recovers the function cs_array_real_set_wscalar. 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_wvector (cs_lnum_t n_elts, const cs_real_t ref_val[3], const cs_real_t weight[], cs_real_t a[]) |
| Assign a weighted constant vector value to an interlaced array (of stride 3). The array of weights has the same size as the array "a". 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 is null, then one recovers the function cs_array_real_set_vector. More... | |
| void | cs_array_real_set_wvector_on_subset (cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t ref_val[3], const cs_real_t weight[], cs_real_t a[]) |
| Assign a weighted constant vector value to an interlaced array (of stride 3). The subset selection is given by elt_ids. If null, then one recovers the function cs_array_real_set_wvector The array of weights has the same size as the array "a". 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 is 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... | |
| #define CS_ARRAY_SUBSET_IN 0 |
| #define CS_ARRAY_SUBSET_INOUT 2 |
| #define CS_ARRAY_SUBSET_NULL -1 |
| #define CS_ARRAY_SUBSET_OUT 1 |
| using cs_array = cs::array<T,1,cs::layout::right> |
| using cs_array_2d = cs::array<T,2,L> |
| using cs_array_3d = cs::array<T,3,L> |
| using cs_array_4d = cs::array<T,4,L> |
| using cs_mdarray = cs::array<T,N,L> |
| using cs_mdarray_l = cs::array<T,N,cs::layout::left> |
| using cs_mdarray_r = cs::array<T,N,cs::layout::right> |
| void cs_array_bool_fill_false | ( | cs_lnum_t | size, |
| bool | a[] | ||
| ) |
Assign false to all elements of an array. Case of an array of booleans.
| [in] | size | total number of elements to set |
| [in,out] | a | array to set |
| void cs_array_bool_fill_true | ( | cs_lnum_t | size, |
| bool | a[] | ||
| ) |
Assign true to all elements of an array. Case of an array of booleans.
| [in] | size | total number of elements to set |
| [in,out] | a | array to set |
| void cs_array_copy | ( | const cs_lnum_t | size, |
| const T * | src, | ||
| T * | dest | ||
| ) |
Copy values from an array to another of the same dimensions.
Template parmeters. T type name
| [in] | size | number of elements * dimension |
| [in] | src | source array values |
| [out] | dest | destination array values |
| void cs_array_difference | ( | cs_lnum_t | size, |
| const T * | x, | ||
| const T * | y, | ||
| T * | diff | ||
| ) |
Compute the difference diff = x - y. All arrays have the same dimension.
Template parmeters. T type name
| [in] | size | number of elements * dimension |
| [in] | x | x array values |
| [in] | y | y array values |
| [out] | diff | difference array values |
Assign zero to all elements of an array. Case of a cs_flag_t array.
| [in] | size | total number of elements to set to zero |
| [in,out] | a | array of flags to set |
| void cs_array_int_fill_zero | ( | cs_lnum_t | size, |
| int | a[] | ||
| ) |
Assign zero to all elements of an array. Case of a int array.
| [in] | size | total number of elements to set to zero |
| [in,out] | a | array to set |
| void cs_array_int_set_value | ( | cs_lnum_t | size, |
| int | num, | ||
| int | a[] | ||
| ) |
Assign the value "num" to all elements of an array. Case of a int array.
| [in] | size | total number of elements to set |
| [in] | num | value to set |
| [in,out] | a | array to set |
| void cs_array_int_set_value_on_subset | ( | cs_lnum_t | n_elts, |
| const cs_lnum_t | elt_ids[], | ||
| int | num, | ||
| int | a[] | ||
| ) |
Assign the value "num" to an array on a selected subset of elements. if elt_ids is null, then one recovers the function cs_array_int_set_value.
| [in] | n_elts | number of elements |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | num | value to set |
| [in,out] | a | array to set |
Copy values from an array of cs_lnum_t type to another of the same dimensions.
| [in] | size | number of elements * dimension |
| [in] | src | source array values (size: n_elts*dim) |
| [out] | dest | destination array values (size: n_elts*dim) |
Assign zero to all elements of an array. Case of a cs_lnum_t array.
| [in] | size | total number of elements to set to zero |
| [in,out] | a | array to set |
Assign the value "num" to all elements of an array. Case of a cs_lnum_t array.
| [in] | size | total number of elements to set |
| [in] | num | value to set |
| [in,out] | a | array to set |
| void cs_array_lnum_set_value_on_subset | ( | cs_lnum_t | n_elts, |
| const cs_lnum_t | elt_ids[], | ||
| cs_lnum_t | num, | ||
| cs_lnum_t | a[] | ||
| ) |
Assign the value "num" to an array on a selected subset of elements. if elt_ids is null, then one recovers the function cs_array_lnum_set_value.
| [in] | n_elts | number of elements |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | num | value to set |
| [in,out] | a | array to set |
Copy real values from an array to another of the same dimensions.
| [in] | size | number of elements * dimension |
| [in] | src | source array values (size: n_elts*dim) |
| [out] | dest | destination array values (size: n_elts*dim) |
| void cs_array_real_copy_subset | ( | 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 subset of elements on which working is defined by "elt_ids". The way to apply the subset is defined with the parameter "mode" as follows:
It elt_ids is null or mode < 0 (CS_ARRAY_SUBSET_NULL), 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 | apply the subset ids to which array(s) |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [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 |
Add in place an array s.t. r += l_add.
| [in] | n_elts | number of elements |
| [in] | l_add | array to add |
| [out] | r | destination array values |
| void cs_array_real_scale | ( | cs_lnum_t | n_elts, |
| int | stride, | ||
| const cs_lnum_t * | elt_ids, | ||
| cs_real_t | scaling_factor, | ||
| cs_real_t | dest[] | ||
| ) |
Multiply each value by a scaling factor s.t. dest *= scaling_factor If elt_ids is non-null, one applies an indirection. A stride can also be applied. One assumes an interlaced array.
| [in] | n_elts | number of elements |
| [in] | stride | number of values for each element |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | scaling_factor | value of the scaling factor |
| [out] | dest | destination array values |
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 is null, then one recovers the function cs_array_real_set_scalar.
| [in] | n_elts | number of elements |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | value 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 is 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 nullptr |
| [in] | ref_tens | tensor to assign |
| [in,out] | a | array to set |
| void cs_array_real_set_value | ( | cs_lnum_t | n_elts, |
| int | stride, | ||
| const cs_real_t | ref_val[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a constant value of dim "stride" to an interlaced array sharing the same stride.
| [in] | n_elts | number of elements |
| [in] | stride | number of values for each element |
| [in] | ref_val | list of values to assign (size: stride) |
| [in,out] | a | array to set (size: n_elts*stride) |
| void cs_array_real_set_value_on_subset | ( | cs_lnum_t | n_elts, |
| int | stride, | ||
| const cs_lnum_t | elt_ids[], | ||
| const cs_real_t | ref_val[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a constant value of dim "stride" to an interlaced array sharing the same stride. Only a subset of elements are considered. If elt_ids is null, then one recovers the function cs_array_real_set_value.
| [in] | n_elts | number of elements |
| [in] | stride | number of values for each element |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | list of values to assign (size: stride) |
| [in,out] | a | array to set (size >= n_elts * stride) |
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 is null, then one recovers the function cs_array_real_set_vector.
| [in] | n_elts | number of elements |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | vector to assign |
| [in,out] | a | array to set |
| void cs_array_real_set_wscalar | ( | cs_lnum_t | n_elts, |
| cs_real_t | ref_val, | ||
| const cs_real_t | weight[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a weighted constant scalar value to an array. The weight array has the same size as the array "a".
| [in] | n_elts | number of elements |
| [in] | ref_val | value to assign |
| [in] | weight | values of the weight to apply |
| [in,out] | a | array to set |
| void cs_array_real_set_wscalar_on_subset | ( | cs_lnum_t | n_elts, |
| const cs_lnum_t | elt_ids[], | ||
| cs_real_t | ref_val, | ||
| const cs_real_t | weight[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a weighted constant scalar value to an array on a selected subset of elements. If elt_ids is null, then one recovers the function cs_array_real_set_wscalar.
| [in] | n_elts | number of elements |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | value to assign |
| [in] | weight | values of weights to apply |
| [in,out] | a | array to set |
| void cs_array_real_set_wvalue | ( | cs_lnum_t | n_elts, |
| int | stride, | ||
| const cs_real_t | ref_val[], | ||
| const cs_real_t | weight[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a weighted constant value of dim "stride" to an interlaced array sharing the same stride. Apply a weight for each element. This weight is constant for each component of an element.
| [in] | n_elts | number of elements |
| [in] | stride | number of values for each element |
| [in] | ref_val | list of values to assign (size: stride) |
| [in] | weight | values of the weight to apply (size: n_elts) |
| [in,out] | a | array to set (size: n_elts*stride) |
| void cs_array_real_set_wvalue_on_subset | ( | cs_lnum_t | n_elts, |
| int | stride, | ||
| const cs_lnum_t | elt_ids[], | ||
| const cs_real_t | ref_val[], | ||
| const cs_real_t | weight[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a weighted constant value of dim "stride" to an interlaced array sharing the same stride. Only a subset of elements are considered. If elt_ids is null, then one recovers the function cs_array_real_set_wvalue Apply a weight for each element. This weight is constant for each component of an element.
| [in] | n_elts | number of elements |
| [in] | stride | number of values for each element |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | list of values to assign (size: stride) |
| [in] | weight | values of the weight to apply (size >= n_elts) |
| [in,out] | a | array to set (size >= n_elts*stride) |
| void cs_array_real_set_wvector | ( | cs_lnum_t | n_elts, |
| const cs_real_t | ref_val[3], | ||
| const cs_real_t | weight[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a weighted constant vector value to an interlaced array (of stride 3). The array of weights has the same size as the array "a".
| [in] | n_elts | number of elements |
| [in] | ref_val | vector to assign |
| [in] | weight | values of the weight to apply |
| [in,out] | a | array to set |
| void cs_array_real_set_wvector_on_subset | ( | cs_lnum_t | n_elts, |
| const cs_lnum_t | elt_ids[], | ||
| const cs_real_t | ref_val[3], | ||
| const cs_real_t | weight[], | ||
| cs_real_t | a[] | ||
| ) |
Assign a weighted constant vector value to an interlaced array (of stride 3). The subset selection is given by elt_ids. If null, then one recovers the function cs_array_real_set_wvector The array of weights has the same size as the array "a".
| [in] | n_elts | number of elements |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | vector to assign |
| [in] | weight | values of the weight to apply |
| [in,out] | a | array to set |
Assign a constant value to an array (deprecated function).
| [in] | n_elts | number of associated elements |
| [in] | dim | associated dimension |
| [in] | v | value to assign |
| [out] | a | array values (size: n_elts*dim) |
| void cs_arrays_set_value | ( | const cs_lnum_t | n_elts, |
| const T * | ref_val, | ||
| Arrays &&... | arrays | ||
| ) |
Assign values to all elements of multiple arrays. ref_val is input as a pointer or an array.
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
Function parameters:
| [in] | n_elts | total number of elements to set |
| [in] | ref_val | value to assign |
| [out] | arrays | arrays to set |
| void cs_arrays_set_value | ( | const cs_lnum_t | n_elts, |
| const T | ref_val, | ||
| Arrays &&... | arrays | ||
| ) |
Assign values to all elements of multiple arrays. ref_val is input as a scalar.
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
Function parameters:
| [in] | n_elts | total number of elements to set |
| [in] | ref_val | value to assign |
| [out] | arrays | arrays to set |
| void cs_arrays_set_value | ( | cs_dispatch_context & | ctx, |
| const cs_lnum_t | n_elts, | ||
| const T * | ref_val, | ||
| Arrays &&... | arrays | ||
| ) |
Assign values to all elements of multiple arrays. ref_val is input as a pointer or an array.
In the case of asynchronous task launches (such as on GPUs), this function returns immediately after scheduling the assignement. To guarantee the operation is finished, use ctx.wait().
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
| [in,out] | ctx | reference to dispatch context |
| [in] | n_elts | total number of elements to set |
| [in] | ref_val | value to assign |
| [out] | arrays | arrays to set |
| void cs_arrays_set_value | ( | cs_dispatch_context & | ctx, |
| const cs_lnum_t | n_elts, | ||
| const T | ref_val, | ||
| Arrays &&... | arrays | ||
| ) |
Assign values to all elements of multiple arrays. ref_val is input as a scalar.
In the case of asynchronous task launches (such as on GPUs), this function returns immediately after scheduling the assignement. To guarantee the operation is finished, use ctx.wait().
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
| [in,out] | ctx | reference to dispatch context |
| [in] | n_elts | total number of elements to set |
| [in] | ref_val | value to assign |
| [out] | arrays | arrays to set |
| void cs_arrays_set_value_on_subset | ( | const cs_lnum_t | n_elts, |
| const cs_lnum_t * | elt_ids, | ||
| const T * | ref_val, | ||
| Arrays &&... | arrays | ||
| ) |
Assign values on a selected subset of elements to multiple arrays. ref_val is input as a pointer or an array.
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
Function parameters:
| [in] | n_elts | total number of elements to set |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | value to assign |
| [out] | arrays | arrays to set |
| void cs_arrays_set_value_on_subset | ( | const cs_lnum_t | n_elts, |
| const cs_lnum_t * | elt_ids, | ||
| const T | ref_val, | ||
| Arrays &&... | arrays | ||
| ) |
Assign values on a selected subset of elements to multiple arrays. ref_val is input as a scalar.
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
Function parameters:
| [in] | n_elts | total number of elements to set |
| [in] | elt_ids | list of ids in the subset or null (size: n_elts) |
| [in] | ref_val | value to assign |
| [out] | arrays | arrays to set |
| void cs_arrays_set_zero | ( | cs_dispatch_context & | ctx, |
| const cs_lnum_t | n_elts, | ||
| Arrays &&... | arrays | ||
| ) |
Assign zero value to all elements of multiple arrays.
In the case of asynchronous task launches (such as on GPUs), this function returns immediately after scheduling the assignement. To guarantee the operation is finished, use ctx.wait().
Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack
| [in,out] | ctx | reference to dispatch context |
| [in] | n_elts | total number of elements to set |
| [out] | arrays | arrays to set |