mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-25 05:20:34 +05:00
Fix SIMD<mask64> ctor and Unpack
This commit is contained in:
parent
dbe894fea3
commit
9c0dbec8c9
@ -76,7 +76,7 @@ namespace ngcore
|
|||||||
SIMD<mask64,N2> hi;
|
SIMD<mask64,N2> hi;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SIMD (int i) : lo(i), hi(i-N1) { ; }
|
SIMD (size_t i) : lo(i), hi(i>N1 ? i-N1 : 0) { ; }
|
||||||
SIMD (SIMD<mask64,N1> lo_, SIMD<mask64,N2> hi_) : lo(lo_), hi(hi_) { ; }
|
SIMD (SIMD<mask64,N1> lo_, SIMD<mask64,N2> hi_) : lo(lo_), hi(hi_) { ; }
|
||||||
SIMD<mask64,N1> Lo() const { return lo; }
|
SIMD<mask64,N1> Lo() const { return lo; }
|
||||||
SIMD<mask64,N2> Hi() const { return hi; }
|
SIMD<mask64,N2> Hi() const { return hi; }
|
||||||
@ -664,6 +664,11 @@ namespace ngcore
|
|||||||
{
|
{
|
||||||
return std::make_tuple(SIMD<double,N>{a.Data()}, SIMD<double,N>{b.Data()} );
|
return std::make_tuple(SIMD<double,N>{a.Data()}, SIMD<double,N>{b.Data()} );
|
||||||
}
|
}
|
||||||
|
else if constexpr(N==2)
|
||||||
|
{
|
||||||
|
return std::make_tuple(SIMD<double,N>{ a.Lo(), b.Lo() },
|
||||||
|
SIMD<double,N>{ a.Hi(), b.Hi() });
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto [a1,b1] = Unpack(a.Lo(), b.Lo());
|
auto [a1,b1] = Unpack(a.Lo(), b.Lo());
|
||||||
|
Loading…
Reference in New Issue
Block a user