Antiprism 0.23
|
This file contains standard definitions used by the parser. More...
Namespaces | |
namespace | mu |
Namespace for mathematical applications. | |
Defines | |
#define | MUP_BASETYPE double |
If this macro is defined mathematical exceptions (div by zero) will be thrown as exceptions. | |
#define | _T(x) x |
Activate this option in order to compile with OpenMP support. | |
#define | MUP_STRING_TYPE std::string |
Definition of the basic parser string type. | |
Typedefs | |
typedef MUP_BASETYPE | mu::value_type |
The numeric datatype used by the parser. | |
typedef MUP_STRING_TYPE | mu::string_type |
The stringtype used by the parser. | |
typedef string_type::value_type | mu::char_type |
The character type used by the parser. | |
typedef std::basic_stringstream < char_type, std::char_traits < char_type >, std::allocator < char_type > > | mu::stringstream_type |
Typedef for easily using stringstream that respect the parser stringtype. | |
typedef std::map< string_type, value_type * > | mu::varmap_type |
Type used for storing variables. | |
typedef std::map< string_type, value_type > | mu::valmap_type |
Type used for storing constants. | |
typedef std::map< string_type, std::size_t > | mu::strmap_type |
Type for assigning a string name to an index in the internal string table. | |
typedef value_type(* | mu::generic_fun_type )() |
Callback type used for functions without arguments. | |
typedef value_type(* | mu::fun_type0 )() |
Callback type used for functions without arguments. | |
typedef value_type(* | mu::fun_type1 )(value_type) |
Callback type used for functions with a single arguments. | |
typedef value_type(* | mu::fun_type2 )(value_type, value_type) |
Callback type used for functions with two arguments. | |
typedef value_type(* | mu::fun_type3 )(value_type, value_type, value_type) |
Callback type used for functions with three arguments. | |
typedef value_type(* | mu::fun_type4 )(value_type, value_type, value_type, value_type) |
Callback type used for functions with four arguments. | |
typedef value_type(* | mu::fun_type5 )(value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::fun_type6 )(value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::fun_type7 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::fun_type8 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::fun_type9 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::fun_type10 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::bulkfun_type0 )(int, int) |
Callback type used for functions without arguments. | |
typedef value_type(* | mu::bulkfun_type1 )(int, int, value_type) |
Callback type used for functions with a single arguments. | |
typedef value_type(* | mu::bulkfun_type2 )(int, int, value_type, value_type) |
Callback type used for functions with two arguments. | |
typedef value_type(* | mu::bulkfun_type3 )(int, int, value_type, value_type, value_type) |
Callback type used for functions with three arguments. | |
typedef value_type(* | mu::bulkfun_type4 )(int, int, value_type, value_type, value_type, value_type) |
Callback type used for functions with four arguments. | |
typedef value_type(* | mu::bulkfun_type5 )(int, int, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::bulkfun_type6 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::bulkfun_type7 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::bulkfun_type8 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::bulkfun_type9 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::bulkfun_type10 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | mu::multfun_type )(const value_type *, int) |
Callback type used for functions with a variable argument list. | |
typedef value_type(* | mu::strfun_type1 )(const char_type *) |
Callback type used for functions taking a string as an argument. | |
typedef value_type(* | mu::strfun_type2 )(const char_type *, value_type) |
Callback type used for functions taking a string and a value as arguments. | |
typedef value_type(* | mu::strfun_type3 )(const char_type *, value_type, value_type) |
Callback type used for functions taking a string and two values as arguments. | |
typedef int(* | mu::identfun_type )(const char_type *sExpr, int *nPos, value_type *fVal) |
Callback used for functions that identify values in a string. | |
typedef value_type *(* | mu::facfun_type )(const char_type *, void *) |
Callback used for variable creation factory functions. | |
Enumerations | |
enum | mu::ECmdCode { mu::cmLE = 0, mu::cmGE = 1, mu::cmNEQ = 2, mu::cmEQ = 3, mu::cmLT = 4, mu::cmGT = 5, mu::cmADD = 6, mu::cmSUB = 7, mu::cmMUL = 8, mu::cmDIV = 9, mu::cmPOW = 10 , mu::cmASSIGN = 13, mu::cmBO = 14, mu::cmBC = 15, mu::cmIF = 16, mu::cmELSE = 17, mu::cmENDIF = 18, mu::cmARG_SEP = 19, mu::cmVAR = 20, mu::cmVAL = 21 , mu::cmFUNC, mu::cmFUNC_STR, mu::cmFUNC_BULK, mu::cmSTRING, mu::cmOPRT_BIN, mu::cmOPRT_POSTFIX, mu::cmOPRT_INFIX, mu::cmEND, mu::cmUNKNOWN } |
Bytecode values. More... | |
enum | mu::ETypeCode { mu::tpSTR = 0, mu::tpDBL = 1, mu::tpVOID = 2 } |
Types internally used by the parser. More... | |
enum | mu::EOprtAssociativity |
Parser operator precedence values. | |
enum | mu::EOprtPrecedence { , mu::prLOGIC = 3, mu::prCMP = 4, mu::prADD_SUB = 5, mu::prMUL_DIV = 6, mu::prPOW = 7, mu::prINFIX = 6, mu::prPOSTFIX = 6 } |
Parser operator precedence values. More... | |
Functions | |
std::ostream & | mu::console () |
Encapsulate cout. | |
std::istream & | mu::console_in () |
Encapsulate cin. |
This file contains standard definitions used by the parser.
#define _T | ( | x | ) | x |
Activate this option in order to compile with OpenMP support.
OpenMP is used only in the bulk mode it may increase the performance a bit.
#define MUP_BASETYPE double |
If this macro is defined mathematical exceptions (div by zero) will be thrown as exceptions.
Define the base datatype for values.
This datatype must be a built in value type. You can not use custom classes. It should be working with all types except "int"!