@@ -40,19 +40,15 @@ void abs_op(double const* i, double* o) {
4040
4141template <int N>
4242void log_op (double const * i, double * o) {
43- __m256d* xo = (__m256d*)o;
44- for (int j = 0 ; j < N/4 ; j++) {
45- xo[j] = _mm256_setzero_pd ();
46- // o[j] = log(i[j]);
43+ for (int j = 0 ; j < N; j++) {
44+ o[j] = log (i[j]);
4745}
4846}
4947
5048template <int N>
5149void exp_op (double const * i, double * o) {
52- __m256d* xo = (__m256d*)o;
53- for (int j = 0 ; j < N/4 ; j++) {
54- xo[j] = _mm256_setzero_pd ();
55- // o[j] = exp(i[j]);
50+ for (int j = 0 ; j < N; j++) {
51+ o[j] = exp (i[j]);
5652}
5753}
5854
@@ -61,8 +57,7 @@ void sqrt_op(double const* i, double* o) {
6157__m256d* xi = (__m256d*)i;
6258__m256d* xo = (__m256d*)o;
6359for (int j = 0 ; j < N/4 ; j++) {
64- xo[j] = _mm256_setzero_pd ();
65- // xo[j] = _mm256_sqrt_pd(xi[j]);
60+ xo[j] = _mm256_sqrt_pd (xi[j]);
6661// o[j] = sqrt(i[j]);
6762}
6863}
@@ -161,8 +156,7 @@ void div_op(double const* a, double const* b, double* o) {
161156__m256d* xb = (__m256d*)b;
162157__m256d* xo = (__m256d*)o;
163158for (int j = 0 ; j < N/4 ; j++) {
164- xo[j] = _mm256_setzero_pd ();
165- // xo[j] = _mm256_div_pd(xa[j], xb[j]);
159+ xo[j] = _mm256_div_pd (xa[j], xb[j]);
166160// o[j] = a[j] / b[j];
167161}
168162}
0 commit comments