34 #if defined(HAVE_CONFIG_H) 
   35 #  include "cs_config.h" 
   49 #if defined(ENABLE_NLS) && defined(HAVE_GETTEXT) 
   52 #  define _(String) dgettext(PACKAGE, String) 
   54 #    define N_(String) gettext_noop(String) 
   56 #    define N_(String) String 
   66 #  define _(String) (String) 
   67 #  define N_(String) String 
   68 #  define textdomain(String) (String) 
   69 #  define gettext(String) (String) 
   70 #  define dgettext(Domain,String) (String) 
   71 #  define dcgettext(Domain,String,Type) (String) 
   72 #  define bindtextdomain(Domain, Directory) (Domain) 
   84 #if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI) 
   88 #  if !defined(MPI_VERSION)  
   89 #    define MPI_VERSION 1 
   94 #    define MPI_INFO_NULL  0 
   99 #if defined(HAVE_OPENMP) 
  103 #if _OPENMP >= 201307      
  104 #undef HAVE_OPENMP_SIMD 
  105 #define HAVE_OPENMP_SIMD 1 
  112 #if defined(HAVE_CUDA) 
  114 #elif defined(HAVE_SYCL) 
  116 #elif defined(HAVE_OPENMP_TARGET) 
  128 #if !defined(__STDC_VERSION__) 
  129 #  define __STDC_VERSION__ 1989 
  137 #if (__STDC_VERSION__ < 199901L) 
  139 #  if defined(__GNUC__) 
  140 #    define inline __inline__ 
  141 #    define restrict __restrict__ 
  151 #  ifndef HAVE_RESTRICT  
  159 #if defined(__GNUC__) || defined(__clang__) 
  160 #  define DEPRECATED __attribute__((deprecated)) 
  161 #elif defined(_MSC_VER) 
  162 #  define DEPRECATED __declspec(deprecated) 
  190 #elif HAVE_INTTYPES_H 
  191 #  include <inttypes.h> 
  198 #if defined(HAVE_SYS_TYPES_H) 
  199 #include <sys/types.h> 
  205 #  include <stdbool.h> 
  209 #      define _Bool signed char; 
  217 #  define __bool_true_false_are_defined 1 
  222 #if !defined(HAVE_INT32_T) 
  223 #  if (SIZEOF_INT == 4) 
  225 #  elif (SIZEOF_SHORT == 4) 
  226 typedef short int32_t;
 
  234 #if !defined(HAVE_INT64_T) 
  235 #  if (SIZEOF_INT == 8) 
  237 #  elif (SIZEOF_LONG == 8) 
  238 typedef long int64_t;
 
  239 #  elif (HAVE_LONG_LONG == 8)   
  240 typedef long long int64_t;
 
  248 #if !defined(HAVE_UINT32_T) 
  249 #  if (SIZEOF_INT == 4) 
  250 typedef unsigned uint32_t;
 
  251 #  elif (SIZEOF_SHORT == 4) 
  252 typedef unsigned short uint32_t;
 
  260 #if !defined(HAVE_UINT64_T) 
  261 #  if (SIZEOF_INT == 8) 
  262 typedef unsigned uint64_t;
 
  263 #  elif (SIZEOF_LONG == 8) 
  264 typedef unsigned long uint64_t;
 
  265 #  elif (HAVE_LONG_LONG)  
  266 typedef unsigned long long uint64_t;
 
  311 #if defined(HAVE_LONG_GNUM) 
  312   #if (SIZEOF_LONG == 8) 
  314   #elif (SIZEOF_LONG_LONG == 8) 
  325 #if defined(HAVE_LONG_LNUM) 
  399 #if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI) 
  401 #  define CS_MPI_REAL      MPI_DOUBLE       
  405 #  if defined(HAVE_LONG_GNUM) 
  406 #    if (SIZEOF_LONG == 8) 
  407 #      define CS_MPI_GNUM     MPI_UNSIGNED_LONG 
  408 #    elif (SIZEOF_LONG_LONG == 8) 
  409 #      if defined(MPI_UNSIGNED_LONG_LONG) 
  410 #        define CS_MPI_GNUM     MPI_UNSIGNED_LONG_LONG 
  411 #      elif defined(MPI_LONG_LONG) 
  412 #        define CS_MPI_GNUM     MPI_LONG_LONG 
  415 #    if !defined(CS_MPI_GNUM) 
  419 #    define CS_MPI_GNUM       MPI_UNSIGNED 
  424 #  if defined(HAVE_LONG_LNUM) 
  425 #    define CS_MPI_LNUM     MPI_LONG 
  427 #    define CS_MPI_LNUM     MPI_INT 
  430 #  define CS_MPI_EFLAG    MPI_UNSIGNED        
  431 #  define CS_MPI_FLAG     MPI_UNSIGNED_SHORT  
  432 #  define CS_MPI_COORD    MPI_DOUBLE          
  439 #if defined(HAVE_LONG_GNUM) 
  440 # define CS_GNUM_TYPE     CS_UINT64 
  441 #elif (SIZEOF_INT == 8) 
  442 # define CS_GNUM_TYPE     CS_UINT64 
  444 # define CS_GNUM_TYPE     CS_UINT32 
  447 #if defined(HAVE_LONG_LNUM) 
  448 # if (SIZEOF_LONG == 8) 
  449 #  define CS_LNUM_TYPE     CS_INT64 
  451 #  define CS_LNUM_TYPE     CS_INT32 
  454 # if (SIZEOF_INT == 8) 
  455 #  define CS_LNUM_TYPE     CS_INT64 
  457 #  define CS_LNUM_TYPE     CS_INT32 
  461 #if (SIZEOF_INT == 8) 
  462 # define CS_INT_TYPE      CS_INT64 
  464 # define CS_INT_TYPE      CS_INT32 
  467 #if (SIZEOF_INT == 8) 
  468 # define CS_UINT_TYPE     CS_UINT64 
  470 # define CS_UINT_TYPE     CS_UINT32 
  473 #define CS_FLAG_TYPE      CS_UINT16 
  474 #define CS_EFLAG_TYPE     CS_UINT_TYPE 
  475 #define CS_REAL_TYPE      CS_DOUBLE 
  476 #define CS_COORD_TYPE     CS_DOUBLE 
  482 #define CS_THR_MIN 128 
  487 #define CS_CL_SIZE 64 
  493 #define CS_ABS(a)     ((a) <  0  ? -(a) : (a))   
  494 #define CS_MIN(a,b)   ((a) < (b) ?  (a) : (b))   
  495 #define CS_MAX(a,b)   ((a) > (b) ?  (a) : (b))   
  517 #define CS_UNUSED(x) (void)(x) 
  518 #define CS_NO_WARN_IF_UNUSED(x) (void)(x) 
  527 #if defined(__cplusplus) 
  528 #  define BEGIN_C_DECLS  extern "C" {
 
  529 #  define   END_C_DECLS  } 
  531 #  define BEGIN_C_DECLS 
  541 #define CS_F_HOST __host__ 
  542 #define CS_F_DEVICE __device__ 
  543 #define CS_F_HOST_DEVICE __host__ __device__ 
  549 #define CS_F_HOST_DEVICE 
  562 #if !defined (__hpux) 
  563 #define CS_PROCF(x, y) x##_ 
  565 #define CS_PROCF(x, y) x 
  575 #define CS_ARGF_SUPP_CHAINE , ... 
  592 #if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI) 
  609 #if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI) 
  651   return ((i > 0) ? ((i-1)/m+1)*m : 0);
 
  666 #if defined(HAVE_OPENMP) 
  667   return omp_get_thread_num();
 
int cs_glob_n_ranks
Definition: cs_defs.c:175
cs_datatype_t
Definition: cs_defs.h:284
@ CS_FLOAT
Definition: cs_defs.h:288
@ CS_CHAR
Definition: cs_defs.h:287
@ CS_UINT16
Definition: cs_defs.h:290
@ CS_INT64
Definition: cs_defs.h:292
@ CS_UINT64
Definition: cs_defs.h:294
@ CS_DOUBLE
Definition: cs_defs.h:289
@ CS_UINT32
Definition: cs_defs.h:293
@ CS_INT32
Definition: cs_defs.h:291
@ CS_DATATYPE_NULL
Definition: cs_defs.h:286
void *() cs_destructor_t(void *s)
Destroy a given structure.
Definition: cs_defs.h:627
cs_lnum_t cs_lnum_3_t[3]
Definition: cs_defs.h:341
const char * cs_datatype_name[]
Definition: cs_defs.c:143
char cs_byte_t
Definition: cs_defs.h:333
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
const size_t cs_datatype_size[]
Definition: cs_defs.c:133
cs_real_33_t cs_real_332_t[2]
vector of 2 3x3 matrices of floating-point values
Definition: cs_defs.h:368
int cs_glob_node_rank_id
Definition: cs_defs.c:177
cs_real_t cs_real_69_t[6][9]
Definition: cs_defs.h:366
cs_nreal_t cs_nreal_3_t[3]
Definition: cs_defs.h:373
const char cs_empty_string[]
Definition: cs_defs.c:129
int cs_glob_n_threads
Definition: cs_defs.c:172
cs_lnum_t cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition: cs_defs.h:340
static int cs_get_thread_id(void)
Retrieve the associated thread id (0 if no OpenMP or if outside an OpenMP region)
Definition: cs_defs.h:661
int cs_glob_node_n_ranks
Definition: cs_defs.c:178
cs_real_t cs_real_4_t[4]
vector of 4 floating-point values
Definition: cs_defs.h:348
MPI_Datatype cs_datatype_to_mpi[]
Definition: cs_defs.c:157
cs_real_t cs_real_10_t[10]
Definition: cs_defs.h:352
cs_real_t cs_real_99_t[9][9]
Definition: cs_defs.h:358
double cs_coord_t
Definition: cs_defs.h:330
cs_real_t cs_real_34_t[3][4]
Definition: cs_defs.h:362
cs_real_t cs_real_66_t[6][6]
6x6 matrix of floating-point values
Definition: cs_defs.h:357
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:347
cs_coord_t cs_coord_3_t[3]
Definition: cs_defs.h:343
cs_real_66_t cs_real_662_t[2]
Definition: cs_defs.h:370
cs_real_t cs_real_2_t[2]
vector of 2 floating-point values
Definition: cs_defs.h:346
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:310
cs_interlace_t
Definition: cs_defs.h:500
@ CS_INTERLACE
Definition: cs_defs.h:502
@ CS_NO_INTERLACE
Definition: cs_defs.h:503
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:349
static cs_lnum_t cs_align(cs_lnum_t i, cs_lnum_t m)
Given a base index i, return the next index aligned with a size m.
Definition: cs_defs.h:645
cs_real_t cs_real_333_t[3][3][3]
Definition: cs_defs.h:360
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:356
MPI_Comm cs_glob_mpi_comm
Definition: cs_defs.c:183
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:325
cs_real_t cs_real_63_t[6][3]
Definition: cs_defs.h:364
double cs_nreal_t
Definition: cs_defs.h:336
cs_real_t cs_real_9_t[9]
Definition: cs_defs.h:351
cs_real_t cs_real_23_t[2][3]
Definition: cs_defs.h:354
unsigned short int cs_flag_t
Definition: cs_defs.h:334
int cs_glob_rank_id
Definition: cs_defs.c:174
Definition: cs_defs.h:376
Definition: cs_defs.h:386