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
SourceForge Logo

Generated on Sat Jul 6 2013 10:54:21 for IT++ by Doxygen 1.8.2