1 #ifndef MU_PARSER_TEMPLATE_MAGIC_H
2 #define MU_PARSER_TEMPLATE_MAGIC_H
22 static bool IsInteger() {
return false; }
28 static bool IsInteger() {
return true; }
34 static bool IsInteger() {
return true; }
40 static bool IsInteger() {
return true; }
46 static bool IsInteger() {
return true; }
52 static bool IsInteger() {
return true; }
58 static bool IsInteger() {
return true; }
64 static bool IsInteger() {
return true; }
70 static bool IsInteger() {
return true; }
88 static T Sin(T v) {
return sin(v); }
89 static T Cos(T v) {
return cos(v); }
90 static T Tan(T v) {
return tan(v); }
91 static T ASin(T v) {
return asin(v); }
92 static T ACos(T v) {
return acos(v); }
93 static T ATan(T v) {
return atan(v); }
94 static T ATan2(T v1, T v2) {
return atan2(v1, v2); }
95 static T Sinh(T v) {
return sinh(v); }
96 static T Cosh(T v) {
return cosh(v); }
97 static T Tanh(T v) {
return tanh(v); }
98 static T ASinh(T v) {
return log(v + sqrt(v * v + 1)); }
99 static T ACosh(T v) {
return log(v + sqrt(v * v - 1)); }
100 static T ATanh(T v) {
return ((T)0.5 * log((1 + v) / (1 - v))); }
101 static T Log(T v) {
return log(v); }
102 static T Log2(T v) {
return log(v)/log((T)2); }
103 static T Log10(T v) {
return log10(v); }
104 static T Exp(T v) {
return exp(v); }
105 static T Abs(T v) {
return (v>=0) ? v : -v; }
106 static T Sqrt(T v) {
return sqrt(v); }
107 static T Rint(T v) {
return floor(v + (T)0.5); }
108 static T Sign(T v) {
return (T)((v<0) ? -1 : (v>0) ? 1 : 0); }
109 static T Pow(T v1, T v2) {
return std::pow(v1, v2); }
A class singling out integer types at compile time using template meta programming.
A template class for providing wrappers for essential math functions.
Namespace for mathematical applications.
This file defines the error class used by the parser.