GNU Radio's BLOCKSTREAM Package
mipp::Reg< T > Class Template Reference

#include <mipp.h>

Public Member Functions

 Reg ()
 
 Reg (const T val)
 
 Reg (const T *data)
 
 Reg (const std::initializer_list< T > &l)
 
 ~Reg ()
 
void set0 ()
 
void set1 (const T val)
 
void load (const T *data)
 
void loadu (const T *data)
 
void store (T *data) const
 
void storeu (T *data) const
 
Reg_2< T > low () const
 
Reg_2< T > high () const
 
Reg< T > shuff (const Reg< T > v_shu) const
 
Reg< T > shuff2 (const Reg< T > v_shu) const
 
Reg< T > interleavelo (const Reg< T > v) const
 
Reg< T > interleavehi (const Reg< T > v) const
 
Reg< T > interleavelo2 (const Reg< T > v) const
 
Reg< T > interleavehi2 (const Reg< T > v) const
 
Regx2< T > interleave (const Reg< T > v) const
 
Regx2< T > interleave2 (const Reg< T > v) const
 
Reg< T > interleave () const
 
Regx2< T > interleavex2 (const Reg< T > v) const
 
Reg< T > interleavex4 () const
 
Reg< T > interleavex16 () const
 
Reg< T > andb (const Reg< T > v) const
 
Reg< T > andnb (const Reg< T > v) const
 
Reg< T > notb () const
 
Reg< T > orb (const Reg< T > v) const
 
Reg< T > xorb (const Reg< T > v) const
 
Reg< T > lshift (const uint32_t n) const
 
Reg< T > rshift (const uint32_t n) const
 
Msk< N< T >)> cmpeq (const Reg< T > v) const
 
Msk< N< T >)> cmpneq (const Reg< T > v) const
 
Msk< N< T >)> cmplt (const Reg< T > v) const
 
Msk< N< T >)> cmple (const Reg< T > v) const
 
Msk< N< T >)> cmpgt (const Reg< T > v) const
 
Msk< N< T >)> cmpge (const Reg< T > v) const
 
Reg< T > add (const Reg< T > v) const
 
Reg< T > sub (const Reg< T > v) const
 
Reg< T > mul (const Reg< T > v) const
 
Reg< T > div (const Reg< T > v) const
 
Reg< T > min (const Reg< T > v) const
 
Reg< T > max (const Reg< T > v) const
 
Reg< T > msb () const
 
Reg< T > msb (const Reg< T > v) const
 
Msk< N< T >)> sign () const
 
Reg< T > neg (const Reg< T > v) const
 
Reg< T > neg (const Msk< N< T >()> v) const
 
Reg< T > copysign (const Reg< T > v) const
 
Reg< T > copysign (const Msk< N< T >()> v) const
 
Reg< T > abs () const
 
Reg< T > sqrt () const
 
Reg< T > rsqrt () const
 
Reg< T > log () const
 
Reg< T > exp () const
 
Reg< T > sin () const
 
Reg< T > cos () const
 
void sincos (Reg< T > &s, Reg< T > &c) const
 
Reg< T > fmadd (const Reg< T > v1, const Reg< T > v2) const
 
Reg< T > fnmadd (const Reg< T > v1, const Reg< T > v2) const
 
Reg< T > fmsub (const Reg< T > v1, const Reg< T > v2) const
 
Reg< T > fnmsub (const Reg< T > v1, const Reg< T > v2) const
 
Reg< T > blend (const Reg< T > v1, const Msk< N< T >()> m) const
 
Reg< T > lrot () const
 
Reg< T > rrot () const
 
Reg< T > div2 () const
 
Reg< T > div4 () const
 
Reg< T > sat (T min, T max) const
 
Reg< T > round () const
 
Reg< T > andb (const Msk< N< T >()> v) const
 
Reg< T > andnb (const Msk< N< T >()> v) const
 
Reg< T > orb (const Msk< N< T >()> v) const
 
Reg< T > xorb (const Msk< N< T >()> v) const
 
template<typename T2 >
Reg< T2 > cvt () const
 
template<typename T2 >
Reg< T2 > pack (const Reg< T > v) const
 
template<typename T2 >
Reg< T2 > cast () const
 
Reg< T > & operator+= (const Reg< T > &v)
 
Reg< T > operator+ (const Reg< T > v) const
 
Reg< T > & operator-= (const Reg< T > &v)
 
Reg< T > operator- (const Reg< T > v) const
 
Reg< T > & operator*= (const Reg< T > &v)
 
Reg< T > operator* (const Reg< T > v) const
 
Reg< T > & operator/= (const Reg< T > &v)
 
Reg< T > operator/ (const Reg< T > v) const
 
Reg< T > operator~ ()
 
Reg< T > & operator^= (const Reg< T > &v)
 
Reg< T > operator^ (const Reg< T > v) const
 
Reg< T > & operator|= (const Reg< T > &v)
 
Reg< T > operator| (const Reg< T > v) const
 
Reg< T > & operator&= (const Reg< T > &v)
 
Reg< T > operator& (const Reg< T > v) const
 
Reg< T > & operator<<= (const uint32_t n)
 
Reg< T > operator<< (const uint32_t n) const
 
Reg< T > & operator>>= (const uint32_t n)
 
Reg< T > operator>> (const uint32_t n) const
 
Msk< N< T >)> operator== (Reg< T > v) const
 
Msk< N< T >)> operator!= (Reg< T > v) const
 
Msk< N< T >)> operator< (Reg< T > v) const
 
Msk< N< T >)> operator<= (Reg< T > v) const
 
Msk< N< T >)> operator> (Reg< T > v) const
 
Msk< N< T >)> operator>= (Reg< T > v) const
 
const T & operator[] (size_t index) const
 
sum () const
 
hadd () const
 
hmul () const
 
hmin () const
 
hmax () const
 
template<proto_I1< T > I1>
Reg< T > mask (const Msk< N< T >()> m, const Reg< T > src) const
 
template<proto_I2< T > I2>
Reg< T > mask (const Msk< N< T >()> m, const Reg< T > src, const Reg< T > b) const
 
template<proto_I3< T > I3>
Reg< T > mask (const Msk< N< T >()> m, const Reg< T > src, const Reg< T > b, const Reg< T > c) const
 
template<proto_I1< T > I1>
Reg< T > maskz (const Msk< N< T >()> m) const
 
template<proto_I2< T > I2>
Reg< T > maskz (const Msk< N< T >()> m, const Reg< T > b) const
 
template<proto_I3< T > I3>
Reg< T > maskz (const Msk< N< T >()> m, const Reg< T > b, const Reg< T > c) const
 

Static Public Member Functions

static Reg< T > cmask (const uint32_t mask[nElReg< T >()])
 
static Reg< T > cmask2 (const uint32_t mask[nElReg< T >()/2])
 
static void transpose (Reg< T > regs[nElReg< T >()])
 
static void transpose8x8 (Reg< T > regs[8])
 
static void transpose2 (Reg< T > regs[nElReg< T >()/2])
 
static void transpose28x8 (Reg< T > regs[8])
 

Public Attributes

r
 

Constructor & Destructor Documentation

template<typename T>
mipp::Reg< T >::Reg ( )
inline
template<typename T>
mipp::Reg< T >::Reg ( const T  val)
inline
template<typename T>
mipp::Reg< T >::Reg ( const T *  data)
inline
template<typename T>
mipp::Reg< T >::Reg ( const std::initializer_list< T > &  l)
inline
template<typename T>
mipp::Reg< T >::~Reg ( )
inline

Member Function Documentation

template<typename T>
Reg<T> mipp::Reg< T >::abs ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::add ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::andb ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::andb ( const Msk< N< T >()>  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::andnb ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::andnb ( const Msk< N< T >()>  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::blend ( const Reg< T >  v1,
const Msk< N< T >()>  m 
) const
inline
template<typename T>
template<typename T2 >
Reg<T2> mipp::Reg< T >::cast ( ) const
inline
template<typename T>
static Reg<T> mipp::Reg< T >::cmask ( const uint32_t  mask[nElReg< T >()])
inlinestatic
template<typename T>
static Reg<T> mipp::Reg< T >::cmask2 ( const uint32_t  mask[nElReg< T >()/2])
inlinestatic
template<typename T>
Msk<N<T>)> mipp::Reg< T >::cmpeq ( const Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::cmpge ( const Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::cmpgt ( const Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::cmple ( const Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::cmplt ( const Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::cmpneq ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::copysign ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::copysign ( const Msk< N< T >()>  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::cos ( ) const
inline
template<typename T>
template<typename T2 >
Reg<T2> mipp::Reg< T >::cvt ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::div ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::div2 ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::div4 ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::exp ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::fmadd ( const Reg< T >  v1,
const Reg< T >  v2 
) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::fmsub ( const Reg< T >  v1,
const Reg< T >  v2 
) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::fnmadd ( const Reg< T >  v1,
const Reg< T >  v2 
) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::fnmsub ( const Reg< T >  v1,
const Reg< T >  v2 
) const
inline
template<typename T>
T mipp::Reg< T >::hadd ( ) const
inline
template<typename T>
Reg_2<T> mipp::Reg< T >::high ( ) const
inline
template<typename T>
T mipp::Reg< T >::hmax ( ) const
inline
template<typename T>
T mipp::Reg< T >::hmin ( ) const
inline
template<typename T>
T mipp::Reg< T >::hmul ( ) const
inline
template<typename T>
Regx2<T> mipp::Reg< T >::interleave ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleave ( ) const
inline
template<typename T>
Regx2<T> mipp::Reg< T >::interleave2 ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleavehi ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleavehi2 ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleavelo ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleavelo2 ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleavex16 ( ) const
inline
template<typename T>
Regx2<T> mipp::Reg< T >::interleavex2 ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::interleavex4 ( ) const
inline
template<typename T>
void mipp::Reg< T >::load ( const T *  data)
inline
template<typename T>
void mipp::Reg< T >::loadu ( const T *  data)
inline
template<typename T>
Reg<T> mipp::Reg< T >::log ( ) const
inline
template<typename T>
Reg_2<T> mipp::Reg< T >::low ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::lrot ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::lshift ( const uint32_t  n) const
inline
template<typename T>
template<proto_I1< T > I1>
Reg<T> mipp::Reg< T >::mask ( const Msk< N< T >()>  m,
const Reg< T >  src 
) const
inline
template<typename T>
template<proto_I2< T > I2>
Reg<T> mipp::Reg< T >::mask ( const Msk< N< T >()>  m,
const Reg< T >  src,
const Reg< T >  b 
) const
inline
template<typename T>
template<proto_I3< T > I3>
Reg<T> mipp::Reg< T >::mask ( const Msk< N< T >()>  m,
const Reg< T >  src,
const Reg< T >  b,
const Reg< T >  c 
) const
inline
template<typename T>
template<proto_I1< T > I1>
Reg<T> mipp::Reg< T >::maskz ( const Msk< N< T >()>  m) const
inline
template<typename T>
template<proto_I2< T > I2>
Reg<T> mipp::Reg< T >::maskz ( const Msk< N< T >()>  m,
const Reg< T >  b 
) const
inline
template<typename T>
template<proto_I3< T > I3>
Reg<T> mipp::Reg< T >::maskz ( const Msk< N< T >()>  m,
const Reg< T >  b,
const Reg< T >  c 
) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::max ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::min ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::msb ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::msb ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::mul ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::neg ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::neg ( const Msk< N< T >()>  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::notb ( ) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::operator!= ( Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator& ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator&= ( const Reg< T > &  v)
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator* ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator*= ( const Reg< T > &  v)
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator+ ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator+= ( const Reg< T > &  v)
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator- ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator-= ( const Reg< T > &  v)
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator/ ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator/= ( const Reg< T > &  v)
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::operator< ( Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator<< ( const uint32_t  n) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator<<= ( const uint32_t  n)
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::operator<= ( Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::operator== ( Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::operator> ( Reg< T >  v) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::operator>= ( Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator>> ( const uint32_t  n) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator>>= ( const uint32_t  n)
inline
template<typename T>
const T& mipp::Reg< T >::operator[] ( size_t  index) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator^ ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator^= ( const Reg< T > &  v)
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator| ( const Reg< T >  v) const
inline
template<typename T>
Reg<T>& mipp::Reg< T >::operator|= ( const Reg< T > &  v)
inline
template<typename T>
Reg<T> mipp::Reg< T >::operator~ ( )
inline
template<typename T>
Reg<T> mipp::Reg< T >::orb ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::orb ( const Msk< N< T >()>  v) const
inline
template<typename T>
template<typename T2 >
Reg<T2> mipp::Reg< T >::pack ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::round ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::rrot ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::rshift ( const uint32_t  n) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::rsqrt ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::sat ( min,
max 
) const
inline
template<typename T>
void mipp::Reg< T >::set0 ( )
inline
template<typename T>
void mipp::Reg< T >::set1 ( const T  val)
inline
template<typename T>
Reg<T> mipp::Reg< T >::shuff ( const Reg< T >  v_shu) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::shuff2 ( const Reg< T >  v_shu) const
inline
template<typename T>
Msk<N<T>)> mipp::Reg< T >::sign ( ) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::sin ( ) const
inline
template<typename T>
void mipp::Reg< T >::sincos ( Reg< T > &  s,
Reg< T > &  c 
) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::sqrt ( ) const
inline
template<typename T>
void mipp::Reg< T >::store ( T *  data) const
inline
template<typename T>
void mipp::Reg< T >::storeu ( T *  data) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::sub ( const Reg< T >  v) const
inline
template<typename T>
T mipp::Reg< T >::sum ( ) const
inline
template<typename T>
static void mipp::Reg< T >::transpose ( Reg< T >  regs[nElReg< T >()])
inlinestatic
template<typename T>
static void mipp::Reg< T >::transpose2 ( Reg< T >  regs[nElReg< T >()/2])
inlinestatic
template<typename T>
static void mipp::Reg< T >::transpose28x8 ( Reg< T >  regs[8])
inlinestatic
template<typename T>
static void mipp::Reg< T >::transpose8x8 ( Reg< T >  regs[8])
inlinestatic
template<typename T>
Reg<T> mipp::Reg< T >::xorb ( const Reg< T >  v) const
inline
template<typename T>
Reg<T> mipp::Reg< T >::xorb ( const Msk< N< T >()>  v) const
inline

Member Data Documentation

template<typename T>
T mipp::Reg< T >::r

The documentation for this class was generated from the following files: