OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mumps_c_types.h
Go to the documentation of this file.
1/*
2 *
3 * This file is part of MUMPS 5.5.1, released
4 * on Tue Jul 12 13:17:24 UTC 2022
5 *
6 *
7 * Copyright 1991-2022 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
8 * Mumps Technologies, University of Bordeaux.
9 *
10 * This version of MUMPS is provided to you free of charge. It is
11 * released under the CeCILL-C license
12 * (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
13 * https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
14 *
15 */
16
17
18#ifndef MUMPS_C_TYPES_H
19#define MUMPS_C_TYPES_H
20
21#include <stdint.h>
22
23/* mumps_int_def.h will define either MUMPS_INTSIZE32 (default)
24 or MUMPS_INTSIZE64 (if compilation is with -DINTSIZE64 to
25 match Fortran -i8 or equivalent option). This allows one to
26 test from an external code whether MUMPS_INT is 64bits or not */
27#include "mumps_int_def.h"
28
29#ifdef MUMPS_INTSIZE64
30#define MUMPS_INT int64_t
31#else
32#define MUMPS_INT int
33#endif
34
35#define MUMPS_INT8 int64_t
36
37#define SMUMPS_COMPLEX float
38#define SMUMPS_REAL float
39
40#define DMUMPS_COMPLEX double
41#define DMUMPS_REAL double
42
43/* Complex datatypes */
44typedef struct {float r,i;} mumps_complex;
45typedef struct {double r,i;} mumps_double_complex;
46
47#define CMUMPS_COMPLEX mumps_complex
48#define CMUMPS_REAL float
49
50#define ZMUMPS_COMPLEX mumps_double_complex
51#define ZMUMPS_REAL double
52
53
54#ifndef mumps_ftnlen
55/* When passing a string, what is the type of the extra argument
56 * passed by value ? */
57# define mumps_ftnlen MUMPS_INT
58#endif
59
60
61#define MUMPS_ARITH_s 1
62#define MUMPS_ARITH_d 2
63#define MUMPS_ARITH_c 4
64#define MUMPS_ARITH_z 8
65
66#define MUMPS_ARITH_REAL ( MUMPS_ARITH_s | MUMPS_ARITH_d )
67#define MUMPS_ARITH_CMPLX ( MUMPS_ARITH_c | MUMPS_ARITH_z )
68#define MUMPS_ARITH_SINGLE ( MUMPS_ARITH_s | MUMPS_ARITH_c )
69#define MUMPS_ARITH_DBL ( MUMPS_ARITH_d | MUMPS_ARITH_z )
70
71
72#endif /* MUMPS_C_TYPES_H */