Antiprism 0.23
Namespaces | Defines | Typedefs | Enumerations | Functions

base/muparser/muParserDef.h File Reference

This file contains standard definitions used by the parser. More...

#include <iostream>
#include <string>
#include <sstream>
#include <map>
#include "muParserFixes.h"
Include dependency graph for muParserDef.h:
This graph shows which files directly or indirectly include this file:

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.

Detailed Description

This file contains standard definitions used by the parser.


Define Documentation

#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"!