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)
94# define MPI_INFO_NULL 0
99#if defined(HAVE_OPENMP)
111#if !defined(__STDC_VERSION__)
112# define __STDC_VERSION__ 1989
120#if (__STDC_VERSION__ < 199901L)
122# if defined(__GNUC__)
123# define inline __inline__
124# define restrict __restrict__
134# ifndef HAVE_RESTRICT
164# include <inttypes.h>
171#if defined(HAVE_SYS_TYPES_H)
172#include <sys/types.h>
182# define _Bool signed char;
190# define __bool_true_false_are_defined 1
195#if !defined(HAVE_INT32_T)
196# if (SIZEOF_INT == 4)
198# elif (SIZEOF_SHORT == 4)
199typedef short int32_t;
207#if !defined(HAVE_INT64_T)
208# if (SIZEOF_INT == 8)
210# elif (SIZEOF_LONG == 8)
212# elif (HAVE_LONG_LONG == 8)
213typedef long long int64_t;
221#if !defined(HAVE_UINT32_T)
222# if (SIZEOF_INT == 4)
223typedef unsigned uint32_t;
224# elif (SIZEOF_SHORT == 4)
225typedef unsigned short uint32_t;
233#if !defined(HAVE_UINT64_T)
234# if (SIZEOF_INT == 8)
235typedef unsigned uint64_t;
236# elif (SIZEOF_LONG == 8)
237typedef unsigned long uint64_t;
238# elif (HAVE_LONG_LONG)
239typedef unsigned long long uint64_t;
284#if defined(HAVE_LONG_GNUM)
285 #if (SIZEOF_LONG == 8)
286 typedef unsigned long cs_gnum_t;
287 #elif (SIZEOF_LONG_LONG == 8)
288 typedef unsigned long long cs_gnum_t;
293 typedef unsigned cs_gnum_t;
353#if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI)
355# define CS_MPI_INT MPI_INT
356# define CS_MPI_REAL MPI_DOUBLE
360# if defined(HAVE_LONG_GNUM)
361# if (SIZEOF_LONG == 8)
362# define CS_MPI_GNUM MPI_UNSIGNED_LONG
363# elif (SIZEOF_LONG_LONG == 8)
364# if defined(MPI_UNSIGNED_LONG_LONG)
365# define CS_MPI_GNUM MPI_UNSIGNED_LONG_LONG
366# elif defined(MPI_LONG_LONG)
367# define CS_MPI_GNUM MPI_LONG_LONG
370# if !defined(CS_MPI_GNUM)
374# define CS_MPI_GNUM MPI_UNSIGNED
377# define CS_MPI_FLAG MPI_UNSIGNED_SHORT
378# define CS_MPI_LNUM MPI_INT
379# define CS_MPI_COORD MPI_DOUBLE
386#if defined(HAVE_LONG_GNUM)
387# define CS_GNUM_TYPE CS_UINT64
388#elif (SIZEOF_INT == 8)
389# define CS_GNUM_TYPE CS_UINT64
391# define CS_GNUM_TYPE CS_UINT32
395# define CS_LNUM_TYPE CS_INT64
397# define CS_LNUM_TYPE CS_INT32
401# define CS_INT_TYPE CS_INT64
403# define CS_INT_TYPE CS_INT32
406#define CS_FLAG_TYPE CS_UINT16
407#define CS_REAL_TYPE CS_DOUBLE
408#define CS_COORD_TYPE CS_DOUBLE
414#if defined(__bgq__) && defined(__xlc__)
415# define CS_THR_MIN 1014
417# define CS_THR_MIN 128
429#define CS_ABS(a) ((a) < 0 ? -(a) : (a))
430#define CS_MIN(a,b) ((a) < (b) ? (a) : (b))
431#define CS_MAX(a,b) ((a) > (b) ? (a) : (b))
453#define CS_UNUSED(x) (void)(x)
454#define CS_NO_WARN_IF_UNUSED(x) (void)(x)
463#if defined(__cplusplus)
464# define BEGIN_C_DECLS extern "C" {
465# define END_C_DECLS }
467# define BEGIN_C_DECLS
481#define CS_PROCF(x, y) x##_
483#define CS_PROCF(x, y) x
493#if defined (__uxpv__)
494#define CS_ARGF_SUPP_CHAINE
496#define CS_ARGF_SUPP_CHAINE , ...
510#if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI)
523#if defined(HAVE_MPI) && !defined(CS_IGNORE_MPI)
548 return ((i > 0) ? ((i-1)/m+1)*m : 0);
int cs_glob_n_ranks
Definition cs_defs.c:177
cs_datatype_t
Definition cs_defs.h:260
@ CS_FLOAT
Definition cs_defs.h:264
@ CS_CHAR
Definition cs_defs.h:263
@ CS_UINT16
Definition cs_defs.h:266
@ CS_INT64
Definition cs_defs.h:268
@ CS_UINT64
Definition cs_defs.h:270
@ CS_DOUBLE
Definition cs_defs.h:265
@ CS_UINT32
Definition cs_defs.h:269
@ CS_INT32
Definition cs_defs.h:267
@ CS_DATATYPE_NULL
Definition cs_defs.h:262
const char * cs_datatype_name[]
Definition cs_defs.c:145
char cs_byte_t
Definition cs_defs.h:303
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
const size_t cs_datatype_size[]
Definition cs_defs.c:135
cs_real_33_t cs_real_332_t[2]
vector of 2 3x3 matrices of floating-point values
Definition cs_defs.h:329
double cs_coord_3_t[3]
Definition cs_defs.h:311
int cs_glob_n_threads
Definition cs_defs.c:174
int cs_int_t
Fortran-compatible integer.
Definition cs_defs.h:301
int cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition cs_defs.h:308
cs_real_t cs_real_4_t[4]
vector of 4 floating-point values
Definition cs_defs.h:316
MPI_Datatype cs_datatype_to_mpi[]
Definition cs_defs.c:159
cs_real_t cs_real_99_t[9][9]
Definition cs_defs.h:323
double cs_coord_t
Definition cs_defs.h:299
cs_real_t cs_real_34_t[3][4]
Definition cs_defs.h:325
cs_real_t cs_real_66_t[6][6]
6x6 matrix of floating-point values
Definition cs_defs.h:322
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition cs_defs.h:315
cs_real_66_t cs_real_662_t[2]
Definition cs_defs.h:331
cs_real_t cs_real_2_t[2]
vector of 2 floating-point values
Definition cs_defs.h:314
cs_interlace_t
Definition cs_defs.h:439
@ CS_INTERLACE
Definition cs_defs.h:441
@ CS_NO_INTERLACE
Definition cs_defs.h:442
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition cs_defs.h:317
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:545
int cs_lnum_3_t[3]
Definition cs_defs.h:309
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition cs_defs.h:321
MPI_Comm cs_glob_mpi_comm
Definition cs_defs.c:181
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:298
cs_real_t cs_real_63_t[6][3]
Definition cs_defs.h:327
cs_real_t cs_real_9_t[9]
Definition cs_defs.h:319
unsigned short int cs_flag_t
Definition cs_defs.h:304
int cs_glob_rank_id
Definition cs_defs.c:176
double val
Definition cs_defs.h:336
int id
Definition cs_defs.h:337
double meas
Definition cs_defs.h:345