|
vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
|
class template vc_simd_type provides a fixed-size SIMD type. This implementation of vspline::vc_simd_type uses Vc::SimdArray The 'acrobatics' may seem futile - why inherit privately from Vc::SimdArray, then code a class template which does essentially the same? There are several reasons: first, the wrapper class results in a common interface shared with the other SIMD implementations, second, there are some added members which can't be 'put into' Vc::SimdArray from the outside. And, third, the template signature is uniform, avoiding Vc::SimdArray's two additional template arguments. More...
#include <vc_simd_type.h>
Classes | |
| struct | masked_type |
Public Types | |
| typedef Vc::SimdArray< _value_type, _vsize > | base_t |
| typedef std::size_t | size_type |
| typedef _value_type | value_type |
| typedef index_type::value_type | index_ele_type |
Public Member Functions | |
| base_t & | to_base () |
| const base_t & | to_base () const |
| operator base_t () | |
| operator base_t () const | |
| vc_simd_type & | operator= (const value_type &rhs) |
| vc_simd_type & | operator= (const value_type &&rhs) |
| vc_simd_type & | operator= (const base_t &ini) |
| vc_simd_type & | operator= (const base_t &&ini) |
| vc_simd_type & | operator= (const vc_simd_type &ini)=default |
| vc_simd_type & | operator= (vc_simd_type &&ini)=default |
| vc_simd_type (const value_type &ini) | |
| vc_simd_type (const value_type &&ini) | |
| vc_simd_type (const base_t &ini) | |
| vc_simd_type (const base_t &&ini) | |
| vc_simd_type ()=default | |
| vc_simd_type (const vc_simd_type &)=default | |
| vc_simd_type (vc_simd_type &&)=default | |
| template<typename U > | |
| vc_simd_type (const vc_simd_type< U, vsize > &ini) | |
| template<typename U > | |
| vc_simd_type (const vc_simd_type< U, vsize > &&ini) | |
| template<typename U > | |
| vc_simd_type & | operator= (const vc_simd_type< U, vsize > &ini) |
| template<typename U > | |
| vc_simd_type & | operator= (const vc_simd_type< U, vsize > &&ini) |
| vc_simd_type & | operator= (const simd_type< unsigned char, vsize > &rhs) |
| vc_simd_type & | operator= (const simd_type< unsigned char, vsize > &&rhs) |
| vc_simd_type (const simd_type< unsigned char, vsize > &ini) | |
| vc_simd_type (const simd_type< unsigned char, vsize > &&ini) | |
| void | gather (const value_type *const p_src, const index_type &indexes) |
| void | scatter (value_type *const p_trg, const index_type &indexes) const |
| template<typename _index_type > | |
| void | gather (const value_type *const p_src, const _index_type &_indexes) |
| template<typename _index_type > | |
| void | scatter (value_type *const p_trg, const _index_type &_indexes) const |
| template<typename index_type > | |
| vc_simd_type (const value_type *const p_src, const index_type &indexes) | |
| void | rgather (const value_type *const p_src, const index_ele_type &step) |
| void | rscatter (value_type *p_trg, const index_ele_type &step) const |
| COMPARE_FUNC (<, operator<) | |
| COMPARE_FUNC (<=, operator<=) | |
| COMPARE_FUNC (>, operator>) | |
| COMPARE_FUNC (>=, operator>=) | |
| COMPARE_FUNC (==, operator==) | |
| COMPARE_FUNC (!=, operator!=) | |
| masked_type | operator() (const mask_type &mask) |
| value_type | sum () const |
Static Public Member Functions | |
| static constexpr size_type | size () |
| static const vc_simd_type | iota () |
| static const index_type | IndexesFrom (const index_ele_type &start, const index_ele_type &step) |
| static const index_type | IndexesFrom (const index_ele_type &step) |
Static Public Attributes | |
| static const size_type | vsize = _vsize |
| static const int | ivsize = _vsize |
Friends | |
| std::ostream & | operator<< (std::ostream &osr, vc_simd_type it) |
| std::istream & | operator>> (std::istream &isr, vc_simd_type it) |
| vc_simd_type | tan (const vc_simd_type &arg) |
| vc_simd_type | pow (const vc_simd_type &base, const vc_simd_type &exponent) |
class template vc_simd_type provides a fixed-size SIMD type. This implementation of vspline::vc_simd_type uses Vc::SimdArray The 'acrobatics' may seem futile - why inherit privately from Vc::SimdArray, then code a class template which does essentially the same? There are several reasons: first, the wrapper class results in a common interface shared with the other SIMD implementations, second, there are some added members which can't be 'put into' Vc::SimdArray from the outside. And, third, the template signature is uniform, avoiding Vc::SimdArray's two additional template arguments.
Definition at line 75 of file vc_simd_type.h.
| typedef Vc::SimdArray< _value_type , _vsize > vspline::vc_simd_type< _value_type, _vsize >::base_t |
Definition at line 78 of file vc_simd_type.h.
| typedef index_type::value_type vspline::vc_simd_type< _value_type, _vsize >::index_ele_type |
Definition at line 127 of file vc_simd_type.h.
| typedef std::size_t vspline::vc_simd_type< _value_type, _vsize >::size_type |
Definition at line 104 of file vc_simd_type.h.
| typedef _value_type vspline::vc_simd_type< _value_type, _vsize >::value_type |
Definition at line 105 of file vc_simd_type.h.
|
inline |
Definition at line 163 of file vc_simd_type.h.
|
inline |
Definition at line 166 of file vc_simd_type.h.
|
inline |
Definition at line 170 of file vc_simd_type.h.
|
inline |
Definition at line 174 of file vc_simd_type.h.
|
default |
|
default |
|
default |
|
inline |
Definition at line 188 of file vc_simd_type.h.
|
inline |
Definition at line 192 of file vc_simd_type.h.
|
inline |
Definition at line 230 of file vc_simd_type.h.
|
inline |
Definition at line 235 of file vc_simd_type.h.
|
inline |
Definition at line 364 of file vc_simd_type.h.
| vspline::vc_simd_type< _value_type, _vsize >::COMPARE_FUNC | ( | ! | , |
| operator! | |||
| ) |
| vspline::vc_simd_type< _value_type, _vsize >::COMPARE_FUNC | ( | ) |
| vspline::vc_simd_type< _value_type, _vsize >::COMPARE_FUNC | ( | <= | , |
| operator<= | |||
| ) |
| vspline::vc_simd_type< _value_type, _vsize >::COMPARE_FUNC | ( | operator | = = | ) |
| vspline::vc_simd_type< _value_type, _vsize >::COMPARE_FUNC | ( | operator | ) |
| vspline::vc_simd_type< _value_type, _vsize >::COMPARE_FUNC | ( | >= | , |
| operator>= | |||
| ) |
|
inline |
Definition at line 348 of file vc_simd_type.h.
|
inline |
Definition at line 335 of file vc_simd_type.h.
|
inlinestatic |
Definition at line 294 of file vc_simd_type.h.
|
inlinestatic |
Definition at line 302 of file vc_simd_type.h.
|
inlinestatic |
Definition at line 286 of file vc_simd_type.h.
|
inline |
Definition at line 94 of file vc_simd_type.h.
|
inline |
Definition at line 99 of file vc_simd_type.h.
|
inline |
Definition at line 696 of file vc_simd_type.h.
|
inline |
Definition at line 151 of file vc_simd_type.h.
|
inline |
Definition at line 146 of file vc_simd_type.h.
|
inline |
Definition at line 221 of file vc_simd_type.h.
|
inline |
Definition at line 212 of file vc_simd_type.h.
|
inline |
Definition at line 140 of file vc_simd_type.h.
|
inline |
Definition at line 135 of file vc_simd_type.h.
|
default |
|
inline |
Definition at line 204 of file vc_simd_type.h.
|
inline |
Definition at line 197 of file vc_simd_type.h.
|
default |
|
inline |
Definition at line 375 of file vc_simd_type.h.
|
inline |
Definition at line 381 of file vc_simd_type.h.
|
inline |
Definition at line 355 of file vc_simd_type.h.
|
inline |
Definition at line 341 of file vc_simd_type.h.
|
inlinestaticconstexpr |
Definition at line 111 of file vc_simd_type.h.
|
inline |
Definition at line 726 of file vc_simd_type.h.
|
inline |
Definition at line 82 of file vc_simd_type.h.
|
inline |
Definition at line 87 of file vc_simd_type.h.
|
friend |
Definition at line 309 of file vc_simd_type.h.
|
friend |
Definition at line 316 of file vc_simd_type.h.
|
friend |
Definition at line 440 of file vc_simd_type.h.
|
friend |
Definition at line 418 of file vc_simd_type.h.
|
static |
Definition at line 107 of file vc_simd_type.h.
|
static |
Definition at line 106 of file vc_simd_type.h.