CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
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"
6#include "CLHEP/Evaluator/Evaluator.h"
7
8#include <cmath> // for sqrt and pow
9
10static double eval_abs (double a) { return (a < 0) ? -a : a; }
11static double eval_min (double a, double b) { return (a < b) ? a : b; }
12static double eval_max (double a, double b) { return (a > b) ? a : b; }
13static double eval_sqrt (double a) { return std::sqrt(a); }
14static double eval_pow (double a, double b) { return std::pow(a,b); }
15static double eval_sin (double a) { return std::sin(a); }
16static double eval_cos (double a) { return std::cos(a); }
17static double eval_tan (double a) { return std::tan(a); }
18static double eval_asin (double a) { return std::asin(a); }
19static double eval_acos (double a) { return std::acos(a); }
20static double eval_atan (double a) { return std::atan(a); }
21static double eval_atan2(double a, double b) { return std::atan2(a,b); }
22static double eval_sinh (double a) { return std::sinh(a); }
23static double eval_cosh (double a) { return std::cosh(a); }
24static double eval_tanh (double a) { return std::tanh(a); }
25static double eval_exp (double a) { return std::exp(a); }
26static double eval_log (double a) { return std::log(a); }
27static double eval_log10(double a) { return std::log10(a); }
28
29namespace 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:722
void setVariable(const char *name, double value)
Definition: Evaluator.cc:713