Cantera  4.0.0a2
Loading...
Searching...
No Matches
config.h
1#ifndef CT_CONFIG_H
2#define CT_CONFIG_H
3
4#include <stddef.h>
5
6//---------------------------- Version Flags ------------------//
7// Cantera version -> this will be a double-quoted string value
8#define CANTERA_VERSION "4.0.0a2"
9
10// Just the major + minor version (that is, 2.2 instead of 2.2.0)
11#define CANTERA_SHORT_VERSION "4.0"
12
13//------------------------ Fortran settings -------------------//
14
15// Define types used for C/C++ interfaces to Fortran and Fortran-derived
16// libraries. The hidden length type used for CHARACTER arguments is not
17// necessarily the same for all ABI boundaries: Cantera's Fortran interface is
18// compiled with the selected Fortran compiler, where GCC 8 and newer pass these
19// lengths as size_t, while LAPACK/BLAS may be an external library with a
20// different ABI.
21
22typedef double doublereal; // Fortran double precision
23typedef int integer; // Fortran integer
24typedef int ftnlen; // LAPACK/f2c hidden CHARACTER length type
25typedef size_t ftnlen_t; // Cantera Fortran hidden CHARACTER length type
26
27// Fortran compilers pass character strings in argument lists by
28// adding a hidden argument with the length of the string. Some
29// compilers add the hidden length argument immediately after the
30// CHARACTER variable being passed, while others put all of the hidden
31// length arguments at the end of the argument list. Define this if
32// the lengths are at the end of the argument list. This is usually the
33// case for most unix Fortran compilers, but is (by default) false for
34// Visual Fortran under Windows.
35#define STRING_LEN_AT_END
36
37// Define this if Fortran adds a trailing underscore to names in object files.
38// For linux and most unix systems, this is the case.
39#define FTN_TRAILING_UNDERSCORE 1
40
41//-------- LAPACK / BLAS ---------
42
43#define LAPACK_FTN_STRING_LEN_AT_END 1
44#define LAPACK_FTN_TRAILING_UNDERSCORE 1
45#define CT_USE_LAPACK 1
46
47/* #undef CT_USE_SYSTEM_EIGEN */
48/* #undef CT_USE_SYSTEM_EIGEN_PREFIXED */
49#define CT_USE_SYSTEM_FMT 1
50/* #undef CT_USE_SYSTEM_YAMLCPP */
51
52//-------------- Optional Cantera Capabilities ----------------------
53
54// Enable Sundials to use an external BLAS/LAPACK library if it was
55// built to use this option
56#define CT_SUNDIALS_USE_LAPACK 1
57
58// Enable export/import of HDF data via C++ HighFive
59#define CT_USE_HDF5 1
60/* #undef CT_USE_SYSTEM_HIGHFIVE */
61
62#endif