2 Copyright 2006 Hubert Holin and John Maddock.
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt).
8 [section:sinc Sinus Cardinal and Hyperbolic Sinus Cardinal Functions]
10 [section:sinc_overview Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview]
12 The [@http://mathworld.wolfram.com/SincFunction.html Sinus Cardinal family of functions]
13 (indexed by the family of indices [^a > 0])
16 [equation special_functions_blurb20]
18 it sees heavy use in signal processing tasks.
21 [@http://mathworld.wolfram.com/SinhcFunction.htm Hyperbolic Sinus Cardinal]
23 (also indexed by the family of indices [^a > 0]) is defined by
25 [equation special_functions_blurb22]
27 These two families of functions are composed of entire functions.
29 These functions (__sinc_pi and __sinhc_pi) are needed by
30 [@http://www.boost.org/libs/math/quaternion/quaternion.html our implementation]
31 of [@http://mathworld.wolfram.com/Quaternion.html quaternions]
32 and [@http://mathworld.wolfram.com/Octonion.html octonions].
34 [: ['[*Sinus Cardinal of index pi (purple) and Hyperbolic Sinus Cardinal of index pi (red) on R]]]
35 [: [$../graphs/sinc_pi_and_sinhc_pi_on_r.png]]
42 #include <boost/math/special_functions/sinc.hpp>
46 ``__sf_result`` sinc_pi(const T x);
48 template<class T, class ``__Policy``>
49 ``__sf_result`` sinc_pi(const T x, const ``__Policy``&);
51 template<class T, template<typename> class U>
52 U<T> sinc_pi(const U<T> x);
54 template<class T, template<typename> class U, class ``__Policy``>
55 U<T> sinc_pi(const U<T> x, const ``__Policy``&);
58 [link math_toolkit.sinc.sinc_overview
59 the Sinus Cardinal] of x:
61 sinc_pi(x) = sin(x) / x
63 The second form is for complex numbers,
64 quaternions, octonions etc. Taylor series are used at the origin
76 #include <boost/math/special_functions/sinhc.hpp>
80 ``__sf_result`` sinhc_pi(const T x);
82 template<class T, class ``__Policy``>
83 ``__sf_result`` sinhc_pi(const T x, const ``__Policy``&);
85 template<typename T, template<typename> class U>
86 U<T> sinhc_pi(const U<T> x);
88 template<class T, template<typename> class U, class ``__Policy``>
89 U<T> sinhc_pi(const U<T> x, const ``__Policy``&);
91 Computes http://mathworld.wolfram.com/SinhcFunction.html
92 [link math_toolkit.sinc.sinc_overview
93 the Hyperbolic Sinus Cardinal] of x:
95 sinhc_pi(x) = sinh(x) / x
97 The second form is for
98 complex numbers, quaternions, octonions etc. Taylor series are used at the origin
101 The return type of the first form is computed using the __arg_promotion_rules
102 when T is an integer type.