Doxygen Source Code Documentation
nfconfig.inc
Go to the documentation of this file.00001
00002
00003 #ifndef UD_NETCDF_CPP_INC
00004 #define UD_NETCDF_CPP_INC
00005
00006
00007 #if 0
00008 Do not have C-style comments in here because this file is processed
00009 by both the FORTRAN compiler (for the nf_test/ stuff) and the C
00010 compiler (for the FORTRAN-callable interface routines) and some
00011 FORTRAN preprocessors do not understand the syntax.
00012 #endif
00013
00014
00015 #if 0
00016 The following macros define the supplementary FORTRAN arithmetic
00017 datatypes beyond the standard INTEGER, REAL, and DOUBLEPRECISION --
00018 ostensibly corresponding to 8-bit and 16-bit integers, respectively.
00019 For example:
00020
00021 #define NF_INT1_T byte
00022 #define NF_INT2_T integer*2
00023
00024 These are the types of the relevant arguments in the NF_*_INT1() and
00025 NF_*_INT2() netCDF FORTRAN function calls. The word "ostensibly"
00026 is used advisedly: on some systems an "integer*2" datatype,
00027 nevertheless, occupies 64 bits (we are not making this up).
00028
00029 If your FORTRAN system does not have the respective supplementary
00030 datatype, then do not define the corresponding macro.
00031 #endif
00032 #undef NF_INT1_T
00033 #undef NF_INT2_T
00034
00035
00036 #if 0
00037 Define the following NF_*_IS_C_* macros appropriatly for your system.
00038 The "INT1", "INT2" and "INT" after the "NF_" refer to the NF_INT1_T
00039 FORTRAN datatype, the NF_INT2_T FORTRAN datatype, and the INTEGER
00040 FORTRAN datatype, respectively. If the respective FORTRAN datatype
00041 does not exist, then do not define the corresponding macro.
00042 #endif
00043 #undef NF_INT1_IS_C_SIGNED_CHAR
00044 #undef NF_INT1_IS_C_SHORT
00045 #undef NF_INT1_IS_C_INT
00046 #undef NF_INT1_IS_C_LONG
00047 #undef NF_INT2_IS_C_SHORT
00048 #undef NF_INT2_IS_C_INT
00049 #undef NF_INT2_IS_C_LONG
00050 #undef NF_INT_IS_C_INT
00051 #undef NF_INT_IS_C_LONG
00052 #undef NF_REAL_IS_C_FLOAT
00053 #undef NF_REAL_IS_C_DOUBLE
00054 #undef NF_DOUBLEPRECISION_IS_C_DOUBLE
00055 #undef NF_DOUBLEPRECISION_IS_C_FLOAT
00056
00057
00058 #if 0
00059 Whether the system uses something besides the IEEE floating-point
00060 format to represent floating-point values.
00061 #endif
00062 #undef NO_IEEE_FLOAT
00063
00064
00065 #if 0
00066 END OF CUSTOMIZATION
00067 #endif
00068
00069
00070 #if 0
00071 FORTRAN data types corresponding to netCDF version 2 "byte" and "short"
00072 data types (e.g. INTEGER*1, INTEGER*2). See file "ftest.F" for usage.
00073 #endif
00074 #if !defined(NO_NETCDF_2)
00075 # undef NCBYTE_T
00076 # undef NCSHORT_T
00077 #endif
00078
00079
00080 #endif