31#ifndef FORTRAN_TYPES_H
32#define FORTRAN_TYPES_H
48#ifndef complex_float_real
49 #define complex_float_real(z) (crealf(z))
51#ifndef complex_float_imag
52 #define complex_float_imag(z) (cimagf(z))
54#ifndef complex_double_real
55 #define complex_double_real(z) (creal(z))
57#ifndef complex_double_imag
58 #define complex_double_imag(z) (cimag(z))
64 #define FORTRAN_IFMT PRId64
67 #define FORTRAN_IFMT PRId32
79#define REAL fortran_real
80#define DOUBLE fortran_double
81#define COMPLEX fortran_complex
82#define DOUBLE_COMPLEX fortran_double_complex
83#define INTEGER fortran_int
84#define LOGICAL fortran_logical
96#define SUBROUTINE inline void
99 #define fortran extern "C" void
101 #define fortran extern void
fortran_logical(* SELECT_COMPLEX_1)(const fortran_complex *)
std::complex< double > complex_double
std::complex< float > complex_float
fortran_logical(* SELECT_REAL_3)(const fortran_real *, const fortran_real *, const fortran_real *)
fortran_logical(* SELECT_DOUBLE_3)(const fortran_double *, const fortran_double *, const fortran_double *)
fortran_logical(* SELECT_COMPLEX_2)(const fortran_complex *, const fortran_complex *)
fortran_logical(* SELECT_DOUBLE_2)(const fortran_double *, const fortran_double *)
fortran_logical(* SELECT_DOUBLE_COMPLEX_1)(const fortran_double_complex *)
complex_float fortran_complex
complex_double fortran_double_complex
fortran_logical(* SELECT_DOUBLE_COMPLEX_2)(const fortran_double_complex *, const fortran_double_complex *)
fortran_int fortran_logical
fortran_logical(* SELECT_REAL_2)(const fortran_real *, const fortran_real *)