Skip to content

Commit fb000aa

Browse files
committed
sincos table
1 parent cc59e05 commit fb000aa

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

vectorforth/sincos_table.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
#include <stdint.h>
55

66
#define PI 3.1415926535897f
7-
#define TWO_PI (2.f * 3.1415926535897f)
7+
#define TWO_PI (2.0 * 3.1415926535897)
88
#define HLF_PI (3.1415926535897f/2.f)
99

1010
VF_BEGIN
1111

1212
// Integer representations of PI
13-
#define TWO_PI_INT 16384
13+
#define TWO_PI_INT 8192//16384
1414
#define PI_INT TWO_PI_INT / 2
1515
#define HLF_PI_INT TWO_PI_INT / 4
1616

@@ -27,15 +27,15 @@ float lookup[NR_SAMPLES] __attribute__((aligned(64)));
2727
void initialize_lookup()
2828
{
2929
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));
3131
}
3232
}
3333

3434
#ifdef AVX512
3535

3636
namespace
3737
{
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));
3939
__m512i u0 = _mm512_set1_epi32(HLF_PI_INT); // constant 0.5 * pi
4040
__m512i u1 = _mm512_set1_epi32(TWO_PI_INT - 1); // mask 2 * pi
4141
}
@@ -110,7 +110,7 @@ __m512 _VECTORCALL cos_avx_ps_joris(__m512 x)
110110

111111
namespace
112112
{
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));
114114
__m256i u0 = _mm256_set1_epi32(HLF_PI_INT); // constant 0.5 * pi
115115
__m256i u1 = _mm256_set1_epi32(TWO_PI_INT - 1); // mask 2 * pi
116116
}

0 commit comments

Comments
 (0)