Hello,
I have several questions regarding Boost.SIMD (for pre-review)
1. What is boost::simd::pack::storage_type I can't find it in
documentation. Is it the "native register" like __m128i for
pack? If the answer is no, how do I get access to underlying
type?
2. I can't find in documentation how to performs casts between
different types: I see in docs split_low (actually after I grepped for
_mm_unpacklo) but I failed to find how to use one - there is no
documentation regarding conversion/casting operation or at least I
failed to find one.
3. Is there more convenient way to perform basic saturated operation
for example if I want to calc abs diff of two bs::pack values a,b I need to write
bs::saturated_(be::minus)(a,b) + bs::saturated_(bs::minus)(b,a)
It is quite inconvenient especially when most of operations you want
to do are saturated.
4. Why Boost.SIMD is restricted to C++11? Most of the stuff is
implementable withing C++2003, it severely limits the usability of the
library for existing projects that can't trivially switch to new C++
standard (and there are too many in the "real world" industry)
Thanks,
Artyom