explicit constructor Supervector

This commit is contained in:
gtsoul-tech
2024-05-14 13:32:50 +03:00
parent 9cf735c0b2
commit efa376838d
4 changed files with 205 additions and 205 deletions

View File

@@ -511,7 +511,7 @@ really_inline SuperVector<16> SuperVector<16>::Ones_vshl(uint8_t const N)
template <>
really_inline SuperVector<16> SuperVector<16>::loadu(void const *ptr)
{
return {vld1q_s32((const int32_t *)ptr)};
return {SuperVector<16>(vld1q_s32((const int32_t *)ptr))};
}
template <>
@@ -519,7 +519,7 @@ really_inline SuperVector<16> SuperVector<16>::load(void const *ptr)
{
assert(ISALIGNED_N(ptr, alignof(SuperVector::size)));
ptr = vectorscan_assume_aligned(ptr, SuperVector::size);
return {vld1q_s32((const int32_t *)ptr)};
return {SuperVector<16>(vld1q_s32((const int32_t *)ptr))};
}
template <>

File diff suppressed because it is too large Load Diff

View File

@@ -205,7 +205,7 @@ public:
constexpr SuperVector() {};
SuperVector(SuperVector const &other)
:u(other.u) {};
SuperVector(typename base_type::type const v);
explicit SuperVector(typename base_type::type const v);
template<typename T>
explicit SuperVector(T const other);