ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sin.h
Go to the documentation of this file.
1 /*
2  * cos.h
3  * The basic idea is to exploit Pade polynomials.
4  * A lot of ideas were inspired by the cephes math library (by Stephen L. Moshier
5  * moshier@na-net.ornl.gov) as well as actual code.
6  * The Cephes library can be found here: http://www.netlib.org/cephes/
7  *
8  * Created on: Jun 23, 2012
9  * Author: Danilo Piparo, Thomas Hauth, Vincenzo Innocente
10  */
11 
12 /*
13  * VDT is free software: you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser Public License as published by
15  * the Free Software Foundation, either version 3 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Lesser Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser Public License
24  * along with this program. If not, see <http://www.gnu.org/licenses/>.
25  */
26 
27 #ifndef SIN_H_
28 #define SIN_H_
29 
30 #include "sincos.h"
31 
32 namespace vdt{
33 
34 // Sin double precision --------------------------------------------------------
35 
36 /// Double precision sine: just call sincos.
37 inline double fast_sin(double x){double s,c;fast_sincos(x,s,c);return s;}
38 
39 //------------------------------------------------------------------------------
40 
41 inline float fast_sinf(float x){float s,c;fast_sincosf(x,s,c);return s;}
42 
43 //------------------------------------------------------------------------------
44 // void sinv(const uint32_t size, double const * __restrict__ iarray, double* __restrict__ oarray);
45 // void fast_sinv(const uint32_t size, double const * __restrict__ iarray, double* __restrict__ oarray);
46 // void sinfv(const uint32_t size, float const * __restrict__ iarray, float* __restrict__ oarray);
47 // void fast_sinfv(const uint32_t size, float const * __restrict__ iarray, float* __restrict__ oarray);
48 
49 
50 } //vdt namespace
51 
52 #endif /* SIN_H_ */
float fast_sinf(float x)
Definition: sin.h:41
void fast_sincos(const double xx, double &s, double &c)
Double precision sincos.
Definition: sincos.h:132
return c
Double_t x[n]
Definition: legend1.C:17
double fast_sin(double x)
Double precision sine: just call sincos.
Definition: sin.h:37
void fast_sincosf(const float xx, float &s, float &c)
Single precision sincos.
Definition: sincos.h:207