ROOT
6.07/01
Reference Guide
ROOT Home Page
Main Page
Tutorials
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
math
vdt
include
vdt
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_ */
vdt::fast_sinf
float fast_sinf(float x)
Definition:
sin.h:41
vdt::fast_sincos
void fast_sincos(const double xx, double &s, double &c)
Double precision sincos.
Definition:
sincos.h:132
c
return c
Definition:
entrylist_figure1.C:47
sincos.h
x
Double_t x[n]
Definition:
legend1.C:17
vdt::fast_sin
double fast_sin(double x)
Double precision sine: just call sincos.
Definition:
sin.h:37
vdt::fast_sincosf
void fast_sincosf(const float xx, float &s, float &c)
Single precision sincos.
Definition:
sincos.h:207