File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change 4
4
#include < stdint.h>
5
5
6
6
#define PI 3 .1415926535897f
7
- #define TWO_PI (2 .f * 3 .1415926535897f )
7
+ #define TWO_PI (2.0 * 3.1415926535897 )
8
8
#define HLF_PI (3 .1415926535897f /2 .f)
9
9
10
10
VF_BEGIN
11
11
12
12
// Integer representations of PI
13
- #define TWO_PI_INT 16384
13
+ #define TWO_PI_INT 8192 // 16384
14
14
#define PI_INT TWO_PI_INT / 2
15
15
#define HLF_PI_INT TWO_PI_INT / 4
16
16
@@ -27,15 +27,15 @@ float lookup[NR_SAMPLES] __attribute__((aligned(64)));
27
27
void initialize_lookup ()
28
28
{
29
29
for (unsigned i = 0 ; i < NR_SAMPLES; i++) {
30
- lookup[i] = std::sin (i * (TWO_PI / TWO_PI_INT));
30
+ lookup[i] = ( float ) std::sin (( double ) i * (TWO_PI / ( double ) TWO_PI_INT));
31
31
}
32
32
}
33
33
34
34
#ifdef AVX512
35
35
36
36
namespace
37
37
{
38
- __m512 f1 = _mm512_set1_ps(TWO_PI_INT / TWO_PI);
38
+ __m512 f1 = _mm512_set1_ps(( float )(( double ) TWO_PI_INT / ( double ) TWO_PI) );
39
39
__m512i u0 = _mm512_set1_epi32(HLF_PI_INT); // constant 0.5 * pi
40
40
__m512i u1 = _mm512_set1_epi32(TWO_PI_INT - 1 ); // mask 2 * pi
41
41
}
@@ -110,7 +110,7 @@ __m512 _VECTORCALL cos_avx_ps_joris(__m512 x)
110
110
111
111
namespace
112
112
{
113
- __m256 f1 = _mm256_set1_ps(TWO_PI_INT / TWO_PI);
113
+ __m256 f1 = _mm256_set1_ps(( float )(( double ) TWO_PI_INT / ( double ) TWO_PI) );
114
114
__m256i u0 = _mm256_set1_epi32(HLF_PI_INT); // constant 0.5 * pi
115
115
__m256i u1 = _mm256_set1_epi32(TWO_PI_INT - 1 ); // mask 2 * pi
116
116
}
You can’t perform that action at this time.
0 commit comments