Planeshift
|
00001 /***************************************************************************\ 00002 |* Function Parser for C++ v4.5.2 *| 00003 |*-------------------------------------------------------------------------*| 00004 |* Copyright: Juha Nieminen *| 00005 |* *| 00006 |* This library is distributed under the terms of the *| 00007 |* GNU Lesser General Public License version 3. *| 00008 |* (See lgpl.txt and gpl.txt for the license text.) *| 00009 \***************************************************************************/ 00010 00011 // Configuration file 00012 // ------------------ 00013 00014 /* NOTE: 00015 This file is for the internal use of the function parser only. 00016 You don't need to include this file in your source files, just 00017 include "fparser.hh". 00018 */ 00019 00020 00021 /* Uncomment any of these lines or define them in your compiler settings 00022 to enable the correspondent version of the parser. (These are disabled 00023 by default because they rely on C99 functions, and non-standard libraries 00024 in the case pf MPFR and GMP, and they make compiling needlessly slower 00025 and the resulting binary needlessly larger if they are not used in the 00026 program.) 00027 */ 00028 //#define FP_SUPPORT_FLOAT_TYPE 00029 //#define FP_SUPPORT_LONG_DOUBLE_TYPE 00030 //#define FP_SUPPORT_LONG_INT_TYPE 00031 //#define FP_SUPPORT_MPFR_FLOAT_TYPE 00032 //#define FP_SUPPORT_GMP_INT_TYPE 00033 //#define FP_SUPPORT_COMPLEX_DOUBLE_TYPE 00034 //#define FP_SUPPORT_COMPLEX_FLOAT_TYPE 00035 //#define FP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE 00036 00037 /* If you are using FunctionParser_ld or FunctionParser_cld and your compiler 00038 supports the strtold() function, you should uncomment the following line. 00039 */ 00040 //#define FP_USE_STRTOLD 00041 00042 00043 /* Uncomment this line or define it in your compiler settings if you want 00044 to disable compiling the basic double version of the library, in case 00045 one of the above types is used but not the double type. (If the double 00046 type is not used, then disabling it makes compiling faster and the 00047 resulting binary smaller.) 00048 */ 00049 //#define FP_DISABLE_DOUBLE_TYPE 00050 00051 /* Uncomment this line or define it in your compiler settings to make the 00052 parser use C++11 math functions. (Note that these may not be supported 00053 by all compilers.) 00054 */ 00055 //#define FP_SUPPORT_CPLUSPLUS11_MATH_FUNCS 00056 00057 /* 00058 Whether to use shortcut evaluation for the & and | operators: 00059 */ 00060 #ifndef FP_DISABLE_SHORTCUT_LOGICAL_EVALUATION 00061 #define FP_ENABLE_SHORTCUT_LOGICAL_EVALUATION 00062 #endif 00063 00064 /* 00065 Comment out the following lines out if you are not going to use the 00066 optimizer and want a slightly smaller library. The Optimize() method 00067 can still be called, but it will not do anything. 00068 If you are unsure, just leave it. It won't slow down the other parts of 00069 the library. 00070 */ 00071 #ifndef FP_NO_SUPPORT_OPTIMIZER 00072 #define FP_SUPPORT_OPTIMIZER 00073 #endif 00074 00075 #if defined(FP_SUPPORT_COMPLEX_DOUBLE_TYPE) || defined(FP_SUPPORT_COMPLEX_FLOAT_TYPE) || defined(FP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE) 00076 #define FP_SUPPORT_COMPLEX_NUMBERS 00077 #endif 00078 00079 00080 /* 00081 No member function of FunctionParser is thread-safe. Most prominently, 00082 Eval() is not thread-safe. By uncommenting one of these lines the Eval() 00083 function can be made thread-safe at the cost of a possible small overhead. 00084 The second version requires that the compiler supports the alloca() function, 00085 which is not standard, but is faster. 00086 */ 00087 //#define FP_USE_THREAD_SAFE_EVAL 00088 //#define FP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA