CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

setStdMath.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: setStdMath.cc,v 1.2 2003/08/13 20:00:10 garren Exp $
3 // ----------------------------------------------------------------------
4 
5 #include "CLHEP/Evaluator/defs.h"
7 
8 #include <cmath> // for sqrt and pow
9 
10 static double eval_abs (double a) { return (a < 0) ? -a : a; }
11 static double eval_min (double a, double b) { return (a < b) ? a : b; }
12 static double eval_max (double a, double b) { return (a > b) ? a : b; }
13 static double eval_sqrt (double a) { return std::sqrt(a); }
14 static double eval_pow (double a, double b) { return std::pow(a,b); }
15 static double eval_sin (double a) { return std::sin(a); }
16 static double eval_cos (double a) { return std::cos(a); }
17 static double eval_tan (double a) { return std::tan(a); }
18 static double eval_asin (double a) { return std::asin(a); }
19 static double eval_acos (double a) { return std::acos(a); }
20 static double eval_atan (double a) { return std::atan(a); }
21 static double eval_atan2(double a, double b) { return std::atan2(a,b); }
22 static double eval_sinh (double a) { return std::sinh(a); }
23 static double eval_cosh (double a) { return std::cosh(a); }
24 static double eval_tanh (double a) { return std::tanh(a); }
25 static double eval_exp (double a) { return std::exp(a); }
26 static double eval_log (double a) { return std::log(a); }
27 static double eval_log10(double a) { return std::log10(a); }
28 
29 namespace HepTool {
30 
32 
33  // S E T S T A N D A R D C O N S T A N T S
34 
35  setVariable("pi", 3.14159265358979323846);
36  setVariable("e", 2.7182818284590452354);
37  setVariable("gamma", 0.577215664901532861);
38  setVariable("radian", 1.0);
39  setVariable("rad", 1.0);
40  setVariable("degree", 3.14159265358979323846/180.);
41  setVariable("deg", 3.14159265358979323846/180.);
42 
43  // S E T S T A N D A R D F U N C T I O N S
44 
45  setFunction("abs", eval_abs);
46  setFunction("min", eval_min);
47  setFunction("max", eval_max);
48  setFunction("sqrt", eval_sqrt);
49  setFunction("pow", eval_pow);
50  setFunction("sin", eval_sin);
51  setFunction("cos", eval_cos);
52  setFunction("tan", eval_tan);
53  setFunction("asin", eval_asin);
54  setFunction("acos", eval_acos);
55  setFunction("atan", eval_atan);
56  setFunction("atan2", eval_atan2);
57  setFunction("sinh", eval_sinh);
58  setFunction("cosh", eval_cosh);
59  setFunction("tanh", eval_tanh);
60  setFunction("exp", eval_exp);
61  setFunction("log", eval_log);
62  setFunction("log10", eval_log10);
63 }
64 
65 } // namespace HepTool
void setFunction(const char *name, double(*fun)())
Definition: Evaluator.cc:697
void setVariable(const char *name, double value)
Definition: Evaluator.cc:688
@ b
@ a