76 if (l_id_array_size < 1)
81 cs_lnum_t mid_id = (end_id -start_id) / 2;
82 while (start_id < end_id) {
83 if (l_id_array[mid_id] < l_id)
84 start_id = mid_id + 1;
85 else if (l_id_array[mid_id] > l_id)
89 mid_id = start_id + ((end_id -start_id) / 2);
91 if (l_id_array[mid_id] != l_id)
125 void *tmp_storage =
nullptr);
Definition: cs_dispatch.h:2288
#define CS_F_HOST_DEVICE
Definition: cs_defs.h:555
unsigned cs_gnum_t
global mesh entity number
Definition: cs_defs.h:317
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:325
CS_F_HOST_DEVICE cs_lnum_t l_binary_search(cs_lnum_t l_id_array_size, cs_lnum_t l_id, const cs_lnum_t l_id_array[])
Binary search for a given local id in a given array of ordered local ids, when the id might not be pr...
Definition: cs_algorithm.h:72
void count_to_index(cs_dispatch_context &ctx, cs_lnum_t n, cs_lnum_t a[], size_t tmp_size=0, void *tmp_storage=nullptr)
cs_gnum_t count_reduce_sum(cs_dispatch_context &ctx, cs_lnum_t n, short counter[])
Sum a local counter.
Definition: cs_algorithm.h:51