LDK::V4SFVector< SizeInFloats, Unroll > Class Template Reference

Collaboration diagram for LDK::V4SFVector< SizeInFloats, Unroll >:

Collaboration graph
[legend]

Public Types

typedef V4SFiterator
typedef const V4SFconst_iterator
typedef V4SF element

Public Member Functions

 V4SFVector ()
 V4SFVector (const V4SFVector &rhs)
 V4SFVector (const float *array)
 ~V4SFVector ()
 V4SFVector (V4SFVector &b)
 V4SFVector (float val)
const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()
float & operator[] (int idx)
const float & operator[] (int idx) const
const V4SFat (int idx)
void at (int idx, const V4SF &v)
float interpolate (float idx)
template<class A>
V4SFVectoroperator= (V4SFV::Expr< A > expr)
V4SFVectoroperator= (float b)

Static Public Attributes

static const int SizeInF = SizeInFloats
static const int Spare = SizeInF%4
static const int SizeInV = (SizeInF/4) + (Spare ? 1 : 0)

Protected Attributes

V4SF mData [SizeInV]

Friends

V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, const_iterator,
V4SFV::ApAdd > > 
operator+ (const V4SFVector &a, const V4SFVector &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::FExprLiteral,
V4SFV::ApAdd > > 
operator+ (const V4SFVector &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, const_iterator,
V4SFV::ApAdd > > 
operator+ (const V4SFV::Expr< A > &a, const V4SFVector &b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::FExprLiteral,
V4SFV::ApAdd > > 
operator+ (const V4SFV::Expr< A > &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::Expr<
A >, V4SFV::ApAdd > > 
operator+ (const V4SFVector &a, const V4SFV::Expr< A > &b)
template<class A, class B>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::Expr<
B >, V4SFV::ApAdd > > 
operator+ (const V4SFV::Expr< A > &a, const V4SFV::Expr< B > &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, const_iterator,
V4SFV::ApSubtract > > 
operator- (const V4SFVector &a, const V4SFVector &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::FExprLiteral,
V4SFV::ApSubtract > > 
operator- (const V4SFVector &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, const_iterator,
V4SFV::ApSubtract > > 
operator- (const V4SFV::Expr< A > &a, const V4SFVector &b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::FExprLiteral,
V4SFV::ApSubtract > > 
operator- (const V4SFV::Expr< A > &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::Expr<
A >, V4SFV::ApSubtract > > 
operator- (const V4SFVector &a, const V4SFV::Expr< A > &b)
template<class A, class B>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::Expr<
B >, V4SFV::ApSubtract > > 
operator- (const V4SFV::Expr< A > &a, const V4SFV::Expr< B > &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, const_iterator,
V4SFV::ApDivide > > 
operator/ (const V4SFVector &a, const V4SFVector &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::FExprLiteral,
V4SFV::ApDivide > > 
operator/ (const V4SFVector &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, const_iterator,
V4SFV::ApDivide > > 
operator/ (const V4SFV::Expr< A > &a, const V4SFVector &b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::FExprLiteral,
V4SFV::ApDivide > > 
operator/ (const V4SFV::Expr< A > &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::Expr<
A >, V4SFV::ApDivide > > 
operator/ (const V4SFVector &a, const V4SFV::Expr< A > &b)
template<class A, class B>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::Expr<
B >, V4SFV::ApDivide > > 
operator/ (const V4SFV::Expr< A > &a, const V4SFV::Expr< B > &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, const_iterator,
V4SFV::ApMultiply > > 
operator * (const V4SFVector &a, const V4SFVector &b)
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::FExprLiteral,
V4SFV::ApMultiply > > 
operator * (const V4SFVector &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, const_iterator,
V4SFV::ApMultiply > > 
operator * (const V4SFV::Expr< A > &a, const V4SFVector &b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::FExprLiteral,
V4SFV::ApMultiply > > 
operator * (const V4SFV::Expr< A > &a, float b)
template<class A>
V4SFV::Expr< V4SFV::BinExprOp<
const_iterator, V4SFV::Expr<
A >, V4SFV::ApMultiply > > 
operator * (const V4SFVector &a, const V4SFV::Expr< A > &b)
template<class A, class B>
V4SFV::Expr< V4SFV::BinExprOp<
V4SFV::Expr< A >, V4SFV::Expr<
B >, V4SFV::ApMultiply > > 
operator * (const V4SFV::Expr< A > &a, const V4SFV::Expr< B > &b)

Detailed Description

template<int SizeInFloats, int Unroll = 48>
class LDK::V4SFVector< SizeInFloats, Unroll >

Definition at line 379 of file SIMD.h.


The documentation for this class was generated from the following file:
Generated on Fri Aug 17 18:32:27 2007 for LDK by  doxygen 1.5.1