All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fpconfig.h
Go to the documentation of this file.
1 /*
2  -------------------------------------------------------------------
3 
4  This header file for the Function Parser library (from
5  http://warp.povusers.org/FunctionParser/fparser.html) is distributed
6  within O2scl (http://o2scl.sourceforge.net). Function Parser is
7  distributed under LGPLv3, which can be found in
8  doc/o2scl/extras/lgpl_v3_license.txt . O2scl is distributed under
9  GPLv3, found at doc/o2scl/extras/gpl_license.txt .
10 
11  -------------------------------------------------------------------
12 */
13 /** \file fpconfig.h
14  \brief Configuration header for the \ref FunctionParser class
15 */
16 /***************************************************************************\
17 |* Function Parser for C++ v4.5 *|
18 |*-------------------------------------------------------------------------*|
19 |* Copyright: Juha Nieminen *|
20 |* *|
21 |* This library is distributed under the terms of the *|
22 |* GNU Lesser General Public License version 3. *|
23 |* (See lgpl.txt and gpl.txt for the license text.) *|
24 \***************************************************************************/
25 
26 // Configuration file
27 // ------------------
28 
29 /* NOTE:
30  This file is for the internal use of the function parser only.
31  You don't need to include this file in your source files, just
32  include "fparser.hh".
33 */
34 
35 
36 /* Uncomment any of these lines or define them in your compiler settings
37  to enable the correspondent version of the parser. (These are disabled
38  by default because they rely on C99 functions, and non-standard libraries
39  in the case pf MPFR and GMP, and they make compiling needlessly slower
40  and the resulting binary needlessly larger if they are not used in the
41  program.)
42 */
43 //#define FP_SUPPORT_FLOAT_TYPE
44 //#define FP_SUPPORT_LONG_DOUBLE_TYPE
45 //#define FP_SUPPORT_LONG_INT_TYPE
46 //#define FP_SUPPORT_MPFR_FLOAT_TYPE
47 //#define FP_SUPPORT_GMP_INT_TYPE
48 //#define FP_SUPPORT_COMPLEX_DOUBLE_TYPE
49 //#define FP_SUPPORT_COMPLEX_FLOAT_TYPE
50 //#define FP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE
51 
52 /* If you are using FunctionParser_ld or FunctionParser_cld and your compiler
53  supports the strtold() function, you should uncomment the following line.
54  */
55 //#define FP_USE_STRTOLD
56 
57 
58 /* Uncomment this line or define it in your compiler settings if you want
59  to disable compiling the basic double version of the library, in case
60  one of the above types is used but not the double type. (If the double
61  type is not used, then disabling it makes compiling faster and the
62  resulting binary smaller.)
63  */
64 //#define FP_DISABLE_DOUBLE_TYPE
65 
66 /*
67  Whether to use shortcut evaluation for the & and | operators:
68 */
69 #ifndef FP_DISABLE_SHORTCUT_LOGICAL_EVALUATION
70 #define FP_ENABLE_SHORTCUT_LOGICAL_EVALUATION
71 #endif
72 
73 /*
74  Comment out the following lines out if you are not going to use the
75  optimizer and want a slightly smaller library. The Optimize() method
76  can still be called, but it will not do anything.
77  If you are unsure, just leave it. It won't slow down the other parts of
78  the library.
79 */
80 #ifndef FP_NO_SUPPORT_OPTIMIZER
81 #define FP_SUPPORT_OPTIMIZER
82 #endif
83 
84 #if defined(FP_SUPPORT_COMPLEX_DOUBLE_TYPE) || defined(FP_SUPPORT_COMPLEX_FLOAT_TYPE) || defined(FP_SUPPORT_COMPLEX_LONG_DOUBLE_TYPE)
85 #define FP_SUPPORT_COMPLEX_NUMBERS
86 #endif
87 
88 
89 /*
90  No member function of FunctionParser is thread-safe. Most prominently,
91  Eval() is not thread-safe. By uncommenting one of these lines the Eval()
92  function can be made thread-safe at the cost of a possible small overhead.
93  The second version requires that the compiler supports the alloca() function,
94  which is not standard, but is faster.
95  */
96 //#define FP_USE_THREAD_SAFE_EVAL
97 //#define FP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).
Hosted at Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads..