21 #ifndef __FMS_PLATFORM_
22 #define __FMS_PLATFORM_
27 use,
intrinsic :: iso_fortran_env, only: real128
28 use,
intrinsic :: iso_c_binding, only: c_double,c_float,c_int64_t, &
29 c_int32_t,c_int16_t,c_intptr_t
30 #define QUAD_KIND real128
31 #define DOUBLE_KIND c_double
32 #define FLOAT_KIND c_float
33 #define LONG_KIND c_int64_t
34 #define INT_KIND c_int32_t
35 #define SHORT_KIND c_int16_t
36 #define POINTER_KIND c_intptr_t
45 #define POINTER_KIND 8
60 #define _ALLOCATABLE pointer
61 #define _NULL =>null()
62 #define _ALLOCATED associated
65 #define _ALLOCATABLE allocatable
67 #define _ALLOCATED allocated
73 #ifdef NO_CRAY_POINTERS
74 #undef use_CRI_pointers
77 #define use_CRI_pointers
82 #ifdef no_8byte_integers
83 #define LONG_KIND INT_KIND
87 #ifndef ENABLE_QUAD_PRECISION
88 #define QUAD_KIND DOUBLE_KIND
92 #ifndef FMS_MAX_PATH_LEN
93 #define FMS_MAX_PATH_LEN 1024
95 #ifndef FMS_MAX_FILE_LEN
96 #define FMS_MAX_FILE_LEN 255