HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_VectorT< T > Class Template Reference

#include <GA_NUBBasis.h>

Public Types

typedef T value_type
 

Public Member Functions

 UT_VectorT ()
 Input the index range [nl..nh]. More...
 
 UT_VectorT (exint nl, exint nh)
 
 UT_VectorT (const UT_VectorT< T > &v)
 
 ~UT_VectorT ()
 
void init (exint nl, exint nh)
 Initialize nl, nh and allocate space. More...
 
void subvector (const UT_VectorT< T > &v, exint nl, exint nh)
 Steal from another vector, resulting vector has origin at 1. More...
 
void assign (const fpreal32 *data, exint nl, exint nh)
 
void assign (const fpreal64 *data, exint nl, exint nh)
 
int isInit () const
 
void zero ()
 Initialize to zeros. More...
 
 THREADED_METHOD2 (UT_VectorT, nh-nl > 4999, zero, exint, nl, exint, nh)
 
void zeroPartial (exint nl, exint nh, const UT_JobInfo &info)
 
void constant (T c)
 Initialize to the given constant. More...
 
void constant (exint nl, exint nh, T c)
 
void getSubvector2 (UT_Vector2 &v, exint idx) const
 
void setSubvector2 (exint idx, const UT_Vector2 &v)
 
void getSubvector3 (UT_Vector3 &v, exint idx) const
 
void setSubvector3 (exint idx, const UT_Vector3 &v)
 
void getSubvector4 (UT_Vector4 &v, exint idx) const
 
void setSubvector4 (exint idx, const UT_Vector4 &v)
 
exint getNL () const
 Get the low index. More...
 
exint getNH () const
 Get the high index. More...
 
exint length () const
 Get dimension of this vector. More...
 
bool shouldMultiThread () const
 
void getPartialRange (exint &start, exint &end, const UT_JobInfo &info) const
 Determines the [start,end) interval that should be worked on. More...
 
void getPartialBlockRange (exint &startblock, exint &endblock, const exint blocksize, const UT_JobInfo &info) const
 
void changeNL (exint nl)
 Change the low index, and the high index will adjust itself. More...
 
void setShallowNL (exint nl)
 
void setShallowNH (exint nh)
 
Toperator() (exint i)
 For retrieving data. More...
 
T operator() (exint i) const
 
T norm (int type=2) const
 
T norm2 () const
 Square of L2-norm. More...
 
T distance2 (const UT_VectorT< T > &v) const
 
void negPartial (const UT_JobInfo &info)
 Negate. More...
 
 THREADED_METHOD1 (UT_VectorT, shouldMultiThread(), negPlus, const UT_VectorT< T > &, v) void negPlusPartial(const UT_VectorT< T > &v
 
 THREADED_METHOD2 (UT_VectorT, shouldMultiThread(), addScaledVec, T, s, const UT_VectorT< T > &, v) void addScaledVecPartial(T s
 Add scaled vector. More...
 
void addScaledVecNorm2 (T s, const UT_VectorT< T > &v, fpreal64 *norm2)
 Add scaled vector and compute the squared L2 norm. More...
 
void addScaledVecNorm2UpTo (T s, const UT_VectorT< T > &v, fpreal64 *norm2, exint normlimit)
 
 THREADED_METHOD2 (UT_VectorT< T >, shouldMultiThread(), scaleAddVec, T, s, const UT_VectorT< T > &, v) void scaleAddVecPartial(T s
 Scale itself then add vector. More...
 
 THREADED_METHOD2 (UT_VectorT< T >, shouldMultiThread(), multAndSet, const UT_VectorT< T > &, a, const UT_VectorT< T > &, b) void multAndSetPartial(const UT_VectorT< T > &a
 
void multSetAndDotUpTo (const UT_VectorT< T > &a, const UT_VectorT< T > &b, fpreal64 *dot_aba, exint dotlimit)
 
 THREADED_METHOD2 (UT_VectorT< T >, shouldMultiThread(), divAndSet, const UT_VectorT< T > &, a, const UT_VectorT< T > &, b) void divAndSetPartial(const UT_VectorT< T > &a
 
 THREADED_METHOD1 (UT_VectorT< T >, shouldMultiThread(), safeInvertAndSet, const UT_VectorT< T > &, a) void safeInvertAndSetPartial(const UT_VectorT< T > &a
 
 THREADED_METHOD1 (UT_VectorT< T >, shouldMultiThread(), invertAndSet, const UT_VectorT< T > &, a) void invertAndSetPartial(const UT_VectorT< T > &a
 
T dot (const UT_VectorT< T > &v) const
 
 THREADED_METHOD1 (UT_VectorT< T >, shouldMultiThread(), copyFrom, const UT_VectorT< T > &, v) void copyFromPartial(const UT_VectorT< T > &v
 Multithreaded copy. operator= uses this. More...
 
UT_VectorToperator= (const UT_VectorT< T > &v)
 
UT_VectorToperator+= (const UT_VectorT< T > &v)
 
UT_VectorToperator-= (const UT_VectorT< T > &v)
 
UT_VectorToperator*= (const UT_VectorT< T > &v)
 Componentwise multiplication & division. More...
 
UT_VectorToperator/= (const UT_VectorT< T > &v)
 
UT_VectorToperator*= (T scalar)
 Scalar multiplication and division. More...
 
UT_VectorToperator/= (T scalar)
 
bool isEqual (const UT_VectorT< T > &v, int64 ulps)
 
std::ostream & save (std::ostream &os) const
 Output. More...
 
TgetData () const
 
bool hasNan () const
 
void testForNan () const
 
template<>
void constant (exint nl, exint nh, fpreal32 c)
 
template<>
void constant (exint nl, exint nh, int32 c)
 
template<>
void negPartial (const UT_JobInfo &info)
 
template<>
UT_VectorT< fpreal32 > & operator+= (const UT_VectorT< fpreal32 > &v)
 
template<>
UT_VectorT< fpreal32 > & operator-= (const UT_VectorT< fpreal32 > &v)
 
template<>
UT_VectorT< fpreal32 > & operator*= (const UT_VectorT< fpreal32 > &v)
 
template<>
UT_VectorT< fpreal32 > & operator/= (const UT_VectorT< fpreal32 > &v)
 
template<>
UT_VectorT< fpreal32 > & operator*= (fpreal32 scalar)
 
template<>
UT_VectorT< fpreal32 > & operator/= (fpreal32 scalar)
 
template<>
void constant (exint nl, exint nh, fpreal32 c)
 
template<>
void constant (exint nl, exint nh, int32 c)
 

Public Attributes

const UT_JobInfoinfo
 
const UT_VectorT< T > & v
 
const UT_VectorT< T > const
UT_JobInfo
info
 
const UT_VectorT< T > & b
 

Protected Member Functions

 THREADED_METHOD2_CONST (UT_VectorT, shouldMultiThread(), normInternal, fpreal64 *, result, int, type) void normInternalPartial(fpreal64 *result
 
 THREADED_METHOD2_CONST (UT_VectorT, shouldMultiThread(), distance2Internal, fpreal64 *, result, const UT_VectorT< T > &, v) void distance2InternalPartial(fpreal64 *result
 
 THREADED_METHOD2_CONST (UT_VectorT, shouldMultiThread(), dotInternal, fpreal64 *, result, const UT_VectorT< T > &, v) void dotInternalPartial(fpreal64 *result
 A multithreaded dot method. More...
 
 THREADED_METHOD3 (UT_VectorT, shouldMultiThread(), addScaledVecNorm2Internal, T, s, const UT_VectorT< T > &, v, fpreal64 *, norm2) void addScaledVecNorm2InternalPartial(T s
 
 THREADED_METHOD4 (UT_VectorT, shouldMultiThread(), addScaledVecNorm2UpToInternal, T, s, const UT_VectorT< T > &, v, fpreal64 *, norm2, exint, normlimit) void addScaledVecNorm2UpToInternalPartial(T s
 
 THREADED_METHOD4 (UT_VectorT< T >, shouldMultiThread(), multSetAndDotUpToInternal, const UT_VectorT< T > &, a, const UT_VectorT< T > &, b, fpreal64 *, dot_aba, exint, dotlimit) void multSetAndDotUpToInternalPartial(const UT_VectorT< T > &a
 
 THREADED_METHOD3 (UT_VectorT, nh-nl > 4999, constantInternal, exint, nl, exint, nh, T, c)
 
void constantInternalPartial (exint nl, exint nh, T c, const UT_JobInfo &info)
 

Protected Attributes

int type
 
int const UT_JobInfo &info const
 
const UT_VectorT< T > const
UT_JobInfo &info 
const
 
const UT_VectorT< T > fpreal64norm2
 
const UT_VectorT< T > fpreal64
const UT_JobInfo
info
 
const UT_VectorT< T > fpreal64
exint 
normlimit
 
const UT_VectorT< T > fpreal64
exint const UT_JobInfo
info
 
const UT_VectorT< T > fpreal64dot_aba
 
const UT_VectorT< T > fpreal64
exint 
dotlimit
 

Static Protected Attributes

static const exint PARALLEL_BLOCK_SIZE = 1024
 

Friends

std::ostream & operator<< (std::ostream &os, const UT_VectorT< T > &v)
 

Detailed Description

template<typename T>
class UT_VectorT< T >

Definition at line 29 of file GA_NUBBasis.h.

Member Typedef Documentation

template<typename T>
typedef T UT_VectorT< T >::value_type

Definition at line 35 of file UT_Vector.h.

Constructor & Destructor Documentation

template<typename T>
UT_VectorT< T >::UT_VectorT ( )
inline

Input the index range [nl..nh].

Definition at line 38 of file UT_Vector.h.

template<typename T >
UT_VectorT< T >::UT_VectorT ( exint  nl,
exint  nh 
)

Definition at line 36 of file UT_Vector.C.

template<typename T>
UT_VectorT< T >::UT_VectorT ( const UT_VectorT< T > &  v)

Definition at line 44 of file UT_Vector.C.

template<typename T >
UT_VectorT< T >::~UT_VectorT ( )

Definition at line 53 of file UT_Vector.C.

Member Function Documentation

template<typename T>
void UT_VectorT< T >::addScaledVecNorm2 ( T  s,
const UT_VectorT< T > &  v,
fpreal64 norm2 
)

Add scaled vector and compute the squared L2 norm.

Definition at line 503 of file UT_Vector.C.

template<typename T>
void UT_VectorT< T >::addScaledVecNorm2UpTo ( T  s,
const UT_VectorT< T > &  v,
fpreal64 norm2,
exint  normlimit 
)

Add scaled vector and compute the squared L2 norm, but only using components up to (but excluding) index normlimit for the norm computation.

Definition at line 562 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::assign ( const fpreal32 data,
exint  nl,
exint  nh 
)

Assign from a float array into the designated subvector, performing a deep copy.

Definition at line 91 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::assign ( const fpreal64 data,
exint  nl,
exint  nh 
)

Definition at line 99 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::changeNL ( exint  nl)

Change the low index, and the high index will adjust itself.

Definition at line 267 of file UT_Vector.C.

template<typename T>
void UT_VectorT< T >::constant ( T  c)
inline

Initialize to the given constant.

Definition at line 63 of file UT_Vector.h.

template<typename T>
void UT_VectorT< T >::constant ( exint  nl,
exint  nh,
T  c 
)

Definition at line 203 of file UT_Vector.C.

template<>
void UT_VectorT< fpreal32 >::constant ( exint  nl,
exint  nh,
fpreal32  c 
)

Definition at line 184 of file UT_Vector.C.

template<>
void UT_VectorT< int32 >::constant ( exint  nl,
exint  nh,
int32  c 
)

Definition at line 193 of file UT_Vector.C.

template<>
void UT_VectorT< fpreal32 >::constant ( exint  nl,
exint  nh,
fpreal32  c 
)
inline
template<>
void UT_VectorT< int32 >::constant ( exint  nl,
exint  nh,
int32  c 
)
inline
template<typename T>
void UT_VectorT< T >::constantInternalPartial ( exint  nl,
exint  nh,
T  c,
const UT_JobInfo info 
)
protected

Definition at line 168 of file UT_Vector.C.

template<typename T>
T UT_VectorT< T >::distance2 ( const UT_VectorT< T > &  v) const

Definition at line 390 of file UT_Vector.C.

template<typename T>
T UT_VectorT< T >::dot ( const UT_VectorT< T > &  v) const

Definition at line 906 of file UT_Vector.C.

template<typename T>
T* UT_VectorT< T >::getData ( ) const
inline

Definition at line 240 of file UT_Vector.h.

template<typename T>
exint UT_VectorT< T >::getNH ( ) const
inline

Get the high index.

Definition at line 82 of file UT_Vector.h.

template<typename T>
exint UT_VectorT< T >::getNL ( ) const
inline

Get the low index.

Definition at line 79 of file UT_Vector.h.

template<typename T >
void UT_VectorT< T >::getPartialBlockRange ( exint startblock,
exint endblock,
const exint  blocksize,
const UT_JobInfo info 
) const

Determines the [startblock,endblock) interval that should be worked on, where block 0 starts at myNL and all blocks are blocksize long, except possibly the last.

Definition at line 146 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::getPartialRange ( exint start,
exint end,
const UT_JobInfo info 
) const

Determines the [start,end) interval that should be worked on.

Definition at line 136 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::getSubvector2 ( UT_Vector2 v,
exint  idx 
) const

These methods allow one to read out and write into subvectors of UT_Vector using our other vector classes. Keep in mind that the usual UT_Vector? methods are 0 based, while this class is usually 1 based.

Definition at line 213 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::getSubvector3 ( UT_Vector3 v,
exint  idx 
) const

Definition at line 229 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::getSubvector4 ( UT_Vector4 v,
exint  idx 
) const

Definition at line 247 of file UT_Vector.C.

template<typename T >
bool UT_VectorT< T >::hasNan ( ) const

Definition at line 975 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::init ( exint  nl,
exint  nh 
)

Initialize nl, nh and allocate space.

Definition at line 107 of file UT_Vector.C.

template<typename T>
bool UT_VectorT< T >::isEqual ( const UT_VectorT< T > &  v,
int64  ulps 
)

Equals upls is the number of representable fpreal64's to accept between each individual component. If you deal in fpreal32's and assign into this fpreal64 class, then you will want a ulps that is scaled by 2^32. eg. for 50upls at fpreal32 precision, you will need 50*2^32 or approximately 1e+11.

Definition at line 961 of file UT_Vector.C.

template<typename T>
int UT_VectorT< T >::isInit ( ) const
inline

Definition at line 54 of file UT_Vector.h.

template<typename T>
exint UT_VectorT< T >::length ( void  ) const
inline

Get dimension of this vector.

Definition at line 85 of file UT_Vector.h.

template<typename T>
void UT_VectorT< T >::multSetAndDotUpTo ( const UT_VectorT< T > &  a,
const UT_VectorT< T > &  b,
fpreal64 dot_aba,
exint  dotlimit 
)

Multiply two sources together, save to this. Requires that three vectors already have the same size. Computes dot(a*b, a) This strange seeming pair is useful for jacobian preconditioners.

Definition at line 674 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::negPartial ( const UT_JobInfo info)

Negate.

Definition at line 436 of file UT_Vector.C.

template<>
void UT_VectorT< fpreal32 >::negPartial ( const UT_JobInfo info)
inline

Definition at line 1004 of file UT_Vector.C.

template<typename T >
T UT_VectorT< T >::norm ( int  type = 2) const

Lp-norm type: 0 L-infinity norm (ie. max abs) 1 L1-norm (ie. sum of abs) 2 L2-norm (ie. Euclidean distance)

Definition at line 278 of file UT_Vector.C.

template<typename T>
T UT_VectorT< T >::norm2 ( ) const

Square of L2-norm.

template<typename T>
T& UT_VectorT< T >::operator() ( exint  i)
inline

For retrieving data.

Definition at line 115 of file UT_Vector.h.

template<typename T>
T UT_VectorT< T >::operator() ( exint  i) const
inline

Definition at line 120 of file UT_Vector.h.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator*= ( const UT_VectorT< T > &  v)

Componentwise multiplication & division.

Definition at line 859 of file UT_Vector.C.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator*= ( T  scalar)

Scalar multiplication and division.

Definition at line 881 of file UT_Vector.C.

template<>
UT_VectorT< fpreal32 > & UT_VectorT< fpreal32 >::operator*= ( const UT_VectorT< fpreal32 > &  v)
inline

Definition at line 1221 of file UT_Vector.C.

template<>
UT_VectorT< fpreal32 > & UT_VectorT< fpreal32 >::operator*= ( fpreal32  scalar)
inline

Definition at line 1237 of file UT_Vector.C.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator+= ( const UT_VectorT< T > &  v)

Definition at line 837 of file UT_Vector.C.

template<>
UT_VectorT< fpreal32 > & UT_VectorT< fpreal32 >::operator+= ( const UT_VectorT< fpreal32 > &  v)
inline

Definition at line 1205 of file UT_Vector.C.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator-= ( const UT_VectorT< T > &  v)

Definition at line 848 of file UT_Vector.C.

template<>
UT_VectorT< fpreal32 > & UT_VectorT< fpreal32 >::operator-= ( const UT_VectorT< fpreal32 > &  v)
inline

Definition at line 1213 of file UT_Vector.C.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator/= ( const UT_VectorT< T > &  v)

Definition at line 870 of file UT_Vector.C.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator/= ( T  scalar)

Definition at line 893 of file UT_Vector.C.

template<>
UT_VectorT< fpreal32 > & UT_VectorT< fpreal32 >::operator/= ( const UT_VectorT< fpreal32 > &  v)
inline

Definition at line 1229 of file UT_Vector.C.

template<>
UT_VectorT< fpreal32 > & UT_VectorT< fpreal32 >::operator/= ( fpreal32  scalar)
inline

Definition at line 1245 of file UT_Vector.C.

template<typename T>
UT_VectorT< T > & UT_VectorT< T >::operator= ( const UT_VectorT< T > &  v)

Operators NOTE: operator= requires the destination be a matching size and layout!

Definition at line 814 of file UT_Vector.C.

template<typename T >
std::ostream & UT_VectorT< T >::save ( std::ostream &  os) const

Output.

Definition at line 949 of file UT_Vector.C.

template<typename T>
void UT_VectorT< T >::setShallowNH ( exint  nh)
inline

Definition at line 112 of file UT_Vector.h.

template<typename T>
void UT_VectorT< T >::setShallowNL ( exint  nl)
inline

Change the indices in a very shallow manner, i.e. simply change the index without shifting the data. This is highly dangerous, yet very useful if used with care.

Definition at line 111 of file UT_Vector.h.

template<typename T >
void UT_VectorT< T >::setSubvector2 ( exint  idx,
const UT_Vector2 v 
)

Definition at line 221 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::setSubvector3 ( exint  idx,
const UT_Vector3 v 
)

Definition at line 238 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::setSubvector4 ( exint  idx,
const UT_Vector4 v 
)

Definition at line 257 of file UT_Vector.C.

template<typename T>
bool UT_VectorT< T >::shouldMultiThread ( ) const
inline

Determines if we have a large enough vector to make micro threading worthwhile. Experimentation shows with 4 procs on NT, 5000 is a cut off for good behaviour on the simplistic addScaledVec method.

Definition at line 91 of file UT_Vector.h.

template<typename T>
void UT_VectorT< T >::subvector ( const UT_VectorT< T > &  v,
exint  nl,
exint  nh 
)

Steal from another vector, resulting vector has origin at 1.

Definition at line 61 of file UT_Vector.C.

template<typename T >
void UT_VectorT< T >::testForNan ( ) const

Definition at line 987 of file UT_Vector.C.

template<typename T>
UT_VectorT< T >::THREADED_METHOD1 ( UT_VectorT< T ,
shouldMultiThread()  ,
negPlus  ,
const UT_VectorT< T > &  ,
v   
) const
template<typename T>
UT_VectorT< T >::THREADED_METHOD1 ( UT_VectorT< T ,
shouldMultiThread()  ,
safeInvertAndSet  ,
const UT_VectorT< T > &  ,
a   
) const

Inverts the source and saves to this. Requires that the vectors match.

template<typename T>
UT_VectorT< T >::THREADED_METHOD1 ( UT_VectorT< T ,
shouldMultiThread()  ,
invertAndSet  ,
const UT_VectorT< T > &  ,
a   
) const
template<typename T>
UT_VectorT< T >::THREADED_METHOD1 ( UT_VectorT< T ,
shouldMultiThread()  ,
copyFrom  ,
const UT_VectorT< T > &  ,
v   
) const

Multithreaded copy. operator= uses this.

template<typename T>
UT_VectorT< T >::THREADED_METHOD2 ( UT_VectorT< T ,
nh-  nl,
4999  ,
zero  ,
exint  ,
nl  ,
exint  ,
nh   
)
template<typename T>
UT_VectorT< T >::THREADED_METHOD2 ( UT_VectorT< T ,
shouldMultiThread()  ,
addScaledVec  ,
T  ,
s  ,
const UT_VectorT< T > &  ,
v   
)

Add scaled vector.

template<typename T>
UT_VectorT< T >::THREADED_METHOD2 ( UT_VectorT< T ,
shouldMultiThread()  ,
scaleAddVec  ,
T  ,
s  ,
const UT_VectorT< T > &  ,
v   
)

Scale itself then add vector.

template<typename T>
UT_VectorT< T >::THREADED_METHOD2 ( UT_VectorT< T ,
shouldMultiThread()  ,
multAndSet  ,
const UT_VectorT< T > &  ,
a  ,
const UT_VectorT< T > &  ,
b   
) const

Multiply two sources together, save to this. Requires that three vectors already have the same size.

template<typename T>
UT_VectorT< T >::THREADED_METHOD2 ( UT_VectorT< T ,
shouldMultiThread()  ,
divAndSet  ,
const UT_VectorT< T > &  ,
a  ,
const UT_VectorT< T > &  ,
b   
) const

Divides two sources together, save to this. Requires that three vectors already have the same size.

template<typename T>
UT_VectorT< T >::THREADED_METHOD2_CONST ( UT_VectorT< T ,
shouldMultiThread()  ,
normInternal  ,
fpreal64 ,
result  ,
int  ,
type   
)
protected

A multithreaded norm function that returns the non-normalized norm (Ie, squared in the L2 case.) and is mulithreaded.

template<typename T>
UT_VectorT< T >::THREADED_METHOD2_CONST ( UT_VectorT< T ,
shouldMultiThread()  ,
distance2Internal  ,
fpreal64 ,
result  ,
const UT_VectorT< T > &  ,
v   
)
protected
template<typename T>
UT_VectorT< T >::THREADED_METHOD2_CONST ( UT_VectorT< T ,
shouldMultiThread()  ,
dotInternal  ,
fpreal64 ,
result  ,
const UT_VectorT< T > &  ,
v   
)
protected

A multithreaded dot method.

template<typename T>
UT_VectorT< T >::THREADED_METHOD3 ( UT_VectorT< T ,
shouldMultiThread()  ,
addScaledVecNorm2Internal  ,
T  ,
s  ,
const UT_VectorT< T > &  ,
v  ,
fpreal64 ,
norm2   
)
protected
template<typename T>
UT_VectorT< T >::THREADED_METHOD3 ( UT_VectorT< T ,
nh-  nl,
4999  ,
constantInternal  ,
exint  ,
nl  ,
exint  ,
nh  ,
T  ,
 
)
protected
template<typename T>
UT_VectorT< T >::THREADED_METHOD4 ( UT_VectorT< T ,
shouldMultiThread()  ,
addScaledVecNorm2UpToInternal  ,
T  ,
s  ,
const UT_VectorT< T > &  ,
v  ,
fpreal64 ,
norm2  ,
exint  ,
normlimit   
)
protected
template<typename T>
UT_VectorT< T >::THREADED_METHOD4 ( UT_VectorT< T ,
shouldMultiThread()  ,
multSetAndDotUpToInternal  ,
const UT_VectorT< T > &  ,
a  ,
const UT_VectorT< T > &  ,
b  ,
fpreal64 ,
dot_aba  ,
exint  ,
dotlimit   
) const
protected
template<typename T>
void UT_VectorT< T >::zero ( )
inline

Initialize to zeros.

Definition at line 57 of file UT_Vector.h.

template<typename T >
void UT_VectorT< T >::zeroPartial ( exint  nl,
exint  nh,
const UT_JobInfo info 
)

Definition at line 155 of file UT_Vector.C.

Friends And Related Function Documentation

template<typename T>
std::ostream& operator<< ( std::ostream &  os,
const UT_VectorT< T > &  v 
)
friend

Definition at line 237 of file UT_Vector.h.

Member Data Documentation

template<typename T>
const UT_VectorT< T > & UT_VectorT< T >::b

Definition at line 172 of file UT_Vector.h.

template<typename T>
const UT_VectorT< T > const UT_JobInfo &info UT_VectorT< T >::const
protected

Definition at line 251 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> const UT_JobInfo& info UT_VectorT< T >::const
protected

Definition at line 256 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> fpreal64* UT_VectorT< T >::dot_aba
protected

Definition at line 287 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> fpreal64 exint UT_VectorT< T >::dotlimit
protected

Definition at line 287 of file UT_Vector.h.

template<typename T>
const UT_VectorT< T > fpreal64 exint const UT_JobInfo & UT_VectorT< T >::info

Definition at line 142 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> const UT_JobInfo& UT_VectorT< T >::info

Definition at line 148 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> fpreal64 const UT_JobInfo& UT_VectorT< T >::info
protected

Definition at line 270 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> fpreal64 exint const UT_JobInfo& UT_VectorT< T >::info
protected

Definition at line 278 of file UT_Vector.h.

template<typename T>
const UT_VectorT< T > fpreal64 * UT_VectorT< T >::norm2
protected

Definition at line 270 of file UT_Vector.h.

template<typename T>
const UT_VectorT<T> fpreal64 exint UT_VectorT< T >::normlimit
protected

Definition at line 278 of file UT_Vector.h.

template<typename T>
const exint UT_VectorT< T >::PARALLEL_BLOCK_SIZE = 1024
staticprotected

Definition at line 295 of file UT_Vector.h.

template<typename T>
int UT_VectorT< T >::type
protected

Definition at line 251 of file UT_Vector.h.

template<typename T>
const UT_VectorT< T > & UT_VectorT< T >::v

Definition at line 148 of file UT_Vector.h.


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