60template<
size_t str
ide>
65template<
size_t str
ide>
72template<
size_t str
ide>
104template<
size_t str
ide>
111template<
size_t str
ide>
202template<
size_t str
ide>
208 for (
size_t i = 0; i < stride; i++)
214 for (
size_t i = 0; i < stride; i++)
221template<
size_t str
ide>
227 for (
size_t i = 0; i < stride; i++)
233 for (
size_t i = 0; i < stride; i++)
240template<
size_t str
ide>
246 for (
size_t i = 0; i < stride; i++) {
254 for (
size_t i = 0; i < stride; i++) {
256 a.
r[stride + i] =
cs::max(a.
r[stride + i], b.
r[stride + i]);
263template<
size_t str
ide>
269 for (
size_t i = 0; i < stride; i++) {
272 a.
r[2*stride + i] = 0.;
278 for (
size_t i = 0; i < stride; i++) {
280 a.
r[stride + i] =
cs::max(a.
r[stride + i], b.
r[stride + i]);
281 a.
r[2*stride + i] += b.
r[2*stride + i];
350template<
size_t str
ide>
356 const size_t _stride = stride + 1;
357 for (
size_t i = 0; i < _stride; i++) {
360 a.
r[2*_stride + i] = 0.;
367 const size_t _stride = stride + 1;
369 for (
size_t i = 0; i < stride; i++) {
371 a.
r[_stride + i] =
cs::max(a.
r[_stride + i], b.
r[_stride + i]);
372 a.
r[2*_stride + i] += b.
r[2*_stride + i];
374 a.
r[_stride - 1] =
cs::min(a.
r[_stride - 1], b.
r[_stride - 1]);
375 a.
r[2*_stride - 1] =
cs::max(a.
r[2*_stride - 1], b.
r[2*_stride - 1]);
376 a.
r[3*_stride - 1] += b.
r[3*_stride - 1];
380template<
size_t str
ide>
386 for (
size_t i = 0; i < stride; i++) {
389 a.
r[2*stride + i] = 0.;
390 a.
r[3*stride + i] = 0.;
396 for (
size_t i = 0; i < stride; i++) {
398 a.
r[stride + i] =
cs::max(a.
r[stride + i], b.
r[stride + i]);
399 a.
r[2*stride + i] += b.
r[2*stride + i];
400 a.
r[3*stride + i] += b.
r[3*stride + i];
406template<
size_t str
ide>
412 const size_t _stride = stride + 1;
413 for (
size_t i = 0; i < _stride; i++) {
416 a.
r[2*_stride + i] = 0.;
417 a.
r[3*_stride + i] = 0.;
424 const size_t _stride = stride + 1;
425 for (
size_t i = 0; i < stride; i++) {
427 a.
r[_stride + i] =
cs::max(a.
r[_stride + i], b.
r[_stride + i]);
428 a.
r[2*_stride + i] += b.
r[2*_stride + i];
429 a.
r[3*_stride + i] += b.
r[3*_stride + i];
431 a.
r[_stride - 1] =
cs::min(a.
r[_stride - 1], b.
r[_stride - 1]);
432 a.
r[2*_stride - 1] =
cs::max(a.
r[2*_stride - 1], b.
r[2*_stride - 1]);
433 a.
r[3*_stride - 1] += b.
r[3*_stride - 1];
434 a.
r[4*_stride - 1] += b.
r[4*_stride - 1];
452 if (a.
r[3] < b.
r[3]) {
468template<
size_t str
ide>
474 for (
size_t i = 0; i < stride; i++) {
482 for (
size_t i = 0; i < stride; i++) {
485 a.
r[stride+i] =
cs::max(a.
r[stride+i], b.
r[stride+i]);
492template<
size_t str
ide>
498 for (
size_t i = 0; i < stride; i++) {
505 for (
size_t i = 0; i < stride; i++) {
513template<
size_t str
ide>
519 for (
size_t i = 0; i < stride; i++) {
523 a.
i[stride + i] = -1.;
529 for (
size_t i = 0; i < stride; i++) {
530 if (a.
r[i] > b.
r[i]) {
534 if (a.
r[stride + i] < b.
r[stride + i]) {
535 a.
r[stride + i] = b.
r[stride + i];
536 a.
i[stride + i] = b.
i[stride + i];
#define CS_F_HOST_DEVICE
Definition: cs_defs.h:585
double cs_real_t
Floating-point value.
Definition: cs_defs.h:357
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:350
const cs_real_t cs_math_infinite_r
CS_F_HOST_DEVICE T max(const T a, const T b)
Definition: cs_defs.h:769
CS_F_HOST_DEVICE T min(const T a, const T b)
Definition: cs_defs.h:746
Definition: cs_reducers.h:94
double d[1]
Definition: cs_reducers.h:95
float r[2]
Definition: cs_reducers.h:96
Definition: cs_reducers.h:79
float r[1]
Definition: cs_reducers.h:81
cs_lnum_t i[1]
Definition: cs_reducers.h:80
Definition: cs_reducers.h:84
cs_lnum_t i[1]
Definition: cs_reducers.h:85
float r[2]
Definition: cs_reducers.h:86
Definition: cs_reducers.h:89
cs_lnum_t i[2]
Definition: cs_reducers.h:90
float r[2]
Definition: cs_reducers.h:91
Definition: cs_reducers.h:99
float r1[3]
Definition: cs_reducers.h:100
float r2[3]
Definition: cs_reducers.h:101
Definition: cs_reducers.h:112
double r[stride]
Definition: cs_reducers.h:113
cs_lnum_t i[stride]
Definition: cs_reducers.h:114
Definition: cs_reducers.h:105
double r[stride]
Definition: cs_reducers.h:106
Definition: cs_reducers.h:66
double r[stride]
Definition: cs_reducers.h:67
Definition: cs_reducers.h:61
float r[stride]
Definition: cs_reducers.h:62
Definition: cs_reducers.h:73
cs_lnum_t i[stride]
Definition: cs_reducers.h:74
Definition: cs_reducers.h:438
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:442
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:451
Definition: cs_reducers.h:158
CS_F_HOST_DEVICE void combine(volatile cs_real_t &a, volatile const cs_real_t &b) const
Definition: cs_reducers.h:166
CS_F_HOST_DEVICE void identity(cs_real_t &a) const
Definition: cs_reducers.h:161
Definition: cs_reducers.h:288
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:292
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:299
Definition: cs_reducers.h:308
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:312
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:320
Definition: cs_reducers.h:120
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:124
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:132
Definition: cs_reducers.h:173
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:177
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:189
Definition: cs_reducers.h:241
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:245
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:253
Definition: cs_reducers.h:351
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:355
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:365
Definition: cs_reducers.h:264
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:268
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:277
Definition: cs_reducers.h:407
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:411
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:422
Definition: cs_reducers.h:381
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:385
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:395
Definition: cs_reducers.h:493
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:497
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:504
Definition: cs_reducers.h:469
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:473
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:481
Definition: cs_reducers.h:514
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:518
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:528
Definition: cs_reducers.h:330
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:334
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:342
Definition: cs_reducers.h:140
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:144
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:150
Definition: cs_reducers.h:222
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:226
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:232
Definition: cs_reducers.h:203
CS_F_HOST_DEVICE void identity(T &a) const
Definition: cs_reducers.h:207
CS_F_HOST_DEVICE void combine(volatile T &a, volatile const T &b) const
Definition: cs_reducers.h:213