Nektar++
|
Functions | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value>::type> | |
void | Vadd (const size_t n, const T *x, const T *y, T *z) |
Add vector z = x + y. More... | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value>::type> | |
void | Vmul (const size_t n, const T *x, const T *y, T *z) |
Multiply vector z = x * y. More... | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value>::type> | |
void | Vvtvp (const size_t n, const T *w, const T *x, const T *y, T *z) |
vvtvp (vector times vector plus vector): z = w*x + y More... | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value>::type> | |
void | Vvtvm (const size_t n, const T *w, const T *x, const T *y, T *z) |
vvtvm (vector times vector minus vector): z = w*x - y More... | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value>::type> | |
void | Vvtvvtp (const size_t n, const T *v, const T *w, const T *x, const T *y, T *z) |
vvtvvtp (vector times vector plus vector times vector): More... | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value>::type> | |
void | Vvtvvtm (const size_t n, const T *v, const T *w, const T *x, const T *y, T *z) |
vvtvvtm (vector times vector minus vector times vector): More... | |
template<class T , class I , typename = typename std::enable_if<std::is_floating_point<T>::value && std::is_integral<I>::value>::type> | |
void | Gathr (const I n, const T *x, const I *y, T *z) |
Gather vector z[i] = x[y[i]]. More... | |
void Vmath::SIMD::Gathr | ( | const I | n, |
const T * | x, | ||
const I * | y, | ||
T * | z | ||
) |
Gather vector z[i] = x[y[i]].
Definition at line 472 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, and Nektar::UnitTests::z().
Referenced by Nektar::VmathSIMDUnitTests::BOOST_AUTO_TEST_CASE(), Vmath::Gathr(), and main().
void Vmath::SIMD::Vadd | ( | const size_t | n, |
const T * | x, | ||
const T * | y, | ||
T * | z | ||
) |
Add vector z = x + y.
Definition at line 47 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, and Nektar::UnitTests::z().
Referenced by Nektar::VmathSIMDUnitTests::BOOST_AUTO_TEST_CASE(), and Vmath::Vadd().
void Vmath::SIMD::Vmul | ( | const size_t | n, |
const T * | x, | ||
const T * | y, | ||
T * | z | ||
) |
Multiply vector z = x * y.
Definition at line 153 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, and Nektar::UnitTests::z().
Referenced by Nektar::VmathSIMDUnitTests::BOOST_AUTO_TEST_CASE(), and Vmath::Vmul().
void Vmath::SIMD::Vvtvm | ( | const size_t | n, |
const T * | w, | ||
const T * | x, | ||
const T * | y, | ||
T * | z | ||
) |
vvtvm (vector times vector minus vector): z = w*x - y
Definition at line 307 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, Nektar::UnitTests::w(), and Nektar::UnitTests::z().
Referenced by Vmath::Vvtvm().
void Vmath::SIMD::Vvtvp | ( | const size_t | n, |
const T * | w, | ||
const T * | x, | ||
const T * | y, | ||
T * | z | ||
) |
vvtvp (vector times vector plus vector): z = w*x + y
Definition at line 259 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, Nektar::UnitTests::w(), and Nektar::UnitTests::z().
Referenced by Nektar::VmathSIMDUnitTests::BOOST_AUTO_TEST_CASE(), and Vmath::Vvtvp().
|
inline |
vvtvvtm (vector times vector minus vector times vector):
Definition at line 414 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, Nektar::UnitTests::w(), and Nektar::UnitTests::z().
Referenced by Vmath::Vvtvvtm().
|
inline |
vvtvvtp (vector times vector plus vector times vector):
Definition at line 356 of file VmathSIMD.hpp.
References tinysimd::is_not_aligned, Nektar::UnitTests::w(), and Nektar::UnitTests::z().
Referenced by Nektar::VmathSIMDUnitTests::BOOST_AUTO_TEST_CASE(), and Vmath::Vvtvvtp().