IT++ Logo
trig_hyp.h
Go to the documentation of this file.
1 
29 #ifndef TRIG_HYP_H
30 #define TRIG_HYP_H
31 
33 #include <itpp/itexports.h>
34 
35 namespace itpp
36 {
37 
40 
42 inline double sinc(double x)
43 {
44  if (x == 0) {
45  return 1.0;
46  }
47  else {
48  double pix = itpp::pi * x;
49  return sin(pix) / pix;
50  }
51 }
52 
54 inline vec sin(const vec &x) { return apply_function<double>(std::sin, x); }
56 inline mat sin(const mat &x) { return apply_function<double>(std::sin, x); }
58 inline vec cos(const vec &x) { return apply_function<double>(std::cos, x); }
60 inline mat cos(const mat &x) { return apply_function<double>(std::cos, x); }
62 inline vec tan(const vec &x) { return apply_function<double>(std::tan, x); }
64 inline mat tan(const mat &x) { return apply_function<double>(std::tan, x); }
66 inline vec asin(const vec &x) { return apply_function<double>(std::asin, x); }
68 inline mat asin(const mat &x) { return apply_function<double>(std::asin, x); }
70 inline vec acos(const vec &x) { return apply_function<double>(std::acos, x); }
72 inline mat acos(const mat &x) { return apply_function<double>(std::acos, x); }
74 inline vec atan(const vec &x) { return apply_function<double>(std::atan, x); }
76 inline mat atan(const mat &x) { return apply_function<double>(std::atan, x); }
78 inline vec sinc(const vec &x) { return apply_function<double>(sinc, x); }
80 inline mat sinc(const mat &x) { return apply_function<double>(sinc, x); }
81 
83 
84 
87 
89 inline vec sinh(const vec &x) { return apply_function<double>(std::sinh, x); }
91 inline mat sinh(const mat &x) { return apply_function<double>(std::sinh, x); }
93 inline vec cosh(const vec &x) { return apply_function<double>(std::cosh, x); }
95 inline mat cosh(const mat &x) { return apply_function<double>(std::cosh, x); }
97 inline vec tanh(const vec &x) { return apply_function<double>(std::tanh, x); }
99 inline mat tanh(const mat &x) { return apply_function<double>(std::tanh, x); }
101 ITPP_EXPORT vec asinh(const vec &x);
103 ITPP_EXPORT mat asinh(const mat &x);
105 ITPP_EXPORT vec acosh(const vec &x);
107 ITPP_EXPORT mat acosh(const mat &x);
109 ITPP_EXPORT vec atanh(const vec &x);
111 ITPP_EXPORT mat atanh(const mat &x);
112 
114 
115 } // namespace itpp
116 
117 #endif // #ifndef TRIG_HYP_H
vec cosh(const vec &x)
Cosine hyperbolic function.
Definition: trig_hyp.h:93
vec acos(const vec &x)
Inverse cosine function.
Definition: trig_hyp.h:70
Help functions to make functions with vec and mat as arguments.
vec tan(const vec &x)
Tan function.
Definition: trig_hyp.h:62
mat atan(const mat &x)
Inverse tan function.
Definition: trig_hyp.h:76
double sinc(double x)
Sinc function: sinc(x) = sin(pi*x)/pi*x.
Definition: trig_hyp.h:42
mat acos(const mat &x)
Inverse cosine function.
Definition: trig_hyp.h:72
mat cosh(const mat &x)
Cosine hyperbolic function.
Definition: trig_hyp.h:95
mat sinh(const mat &x)
Sine hyperbolic function.
Definition: trig_hyp.h:91
vec atanh(const vec &x)
Inverse tan hyperbolic function.
Definition: trig_hyp.cpp:44
vec asin(const vec &x)
Inverse sine function.
Definition: trig_hyp.h:66
vec asinh(const vec &x)
Inverse sine hyperbolic function.
Definition: trig_hyp.cpp:36
mat asin(const mat &x)
Inverse sine function.
Definition: trig_hyp.h:68
vec sin(const vec &x)
Sine function.
Definition: trig_hyp.h:54
const double pi
Constant Pi.
Definition: misc.h:103
mat cos(const mat &x)
Cosine function.
Definition: trig_hyp.h:60
vec acosh(const vec &x)
Inverse cosine hyperbolic function.
Definition: trig_hyp.cpp:40
itpp namespace
Definition: itmex.h:36
vec atan(const vec &x)
Inverse tan function.
Definition: trig_hyp.h:74
vec sinh(const vec &x)
Sine hyperbolic function.
Definition: trig_hyp.h:89
vec tanh(const vec &x)
Tan hyperbolic function.
Definition: trig_hyp.h:97
mat tan(const mat &x)
Tan function.
Definition: trig_hyp.h:64
vec cos(const vec &x)
Cosine function.
Definition: trig_hyp.h:58
mat tanh(const mat &x)
Tan hyperbolic function.
Definition: trig_hyp.h:99
mat sin(const mat &x)
Sine function.
Definition: trig_hyp.h:56

Generated on Thu Jun 21 2018 16:06:18 for IT++ by Doxygen 1.8.13