Make multirhstest compile and run
This tries to fix the issues with multirhstest
that recently
showed up. Notice that I never used this code and have no idea
how exactly it is supposed to work, but only fixed mechanically
what the compiler complains about. Someone knowing the details
of the implementation should have a look.
Explicitly cast argument types for Simd::cond
Simd::cond(a,b,c)
only has overloads for the cases where
b
and c
have the same type. If this is not the case
(which seems to happen for certain distributions and compilers)
the compiler cannot deduce the template parameter for the type.
It turns out that in all cases where this happens, the first argument is constructed by explicitly casting to a type. In all these cases the present patch adds a cast to this type for the second argument, too.
WARNING: I did not look at what the actual code does. However,
if the implementation of Simd::cond()
makes and the existing
cast make any sense, that's the only possible type we can commit to.
Disable certain combinations of Vc::SimdArray
A static assertion in vc deliberately says, that the third and forth template parameter must not be set manually. Hence this patch disables the tests where this is done.