#include <iostream>
#include "xsimd/xsimd.hpp"
namespace xs = xsimd;
int main(int argc, char* argv[])
{
xs::batch<double, 4> a(1.5, 2.5, 3.5, 4.5);
xs::batch<double, 4> b(2.5, 3.5, 4.5, 5.5);
auto mean = (a + b) / 2;
std::cout << mean << std::endl;
return 0;
}
In file included from xsimd/types/xsimd_types_include.hpp:15:0,
from xsimd/types/xsimd_traits.hpp:12,
from xsimd/xsimd.hpp:14,
from main.cpp:2:
xsimd/types/xsimd_sse_int32.hpp: In function ‘xsimd::batch<int, 4ul> xsimd::select(const xsimd::batch_bool<int, 4ul>&, const xsimd::batch<int, 4ul>&, const xsimd::batch<int, 4ul>&)’:
xsimd/types/xsimd_sse_int32.hpp:441:70: error: ‘s’ was not declared in this scope
return _mm_or_si128(_mm_and_si128(cond, a), _mm_andnot_si128(s, b));
^
In file included from xsimd/types/xsimd_types_include.hpp:16:0,
from xsimd/types/xsimd_traits.hpp:12,
from xsimd/xsimd.hpp:14,
from main.cpp:2:
xsimd/types/xsimd_sse_int64.hpp: In function ‘xsimd::batch<long int, 2ul> xsimd::select(const xsimd::batch_bool<long int, 2ul>&, const xsimd::batch<long int, 2ul>&, const xsimd::batch<long int, 2ul>&)’:
xsimd/types/xsimd_sse_int64.hpp:460:70: error: ‘s’ was not declared in this scope
return _mm_or_si128(_mm_and_si128(cond, a), _mm_andnot_si128(s, b));
^
I'm sure it's something simple I'm missing.