Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

AddAssign.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Vector_AddAssign_h
00002 #define Impala_Core_Vector_AddAssign_h
00003 
00004 #include "Core/Vector/VectorSet.h"
00005 
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Vector
00011 {
00012 
00013 
00016 template <class ElemT>
00017 inline void
00018 AddAssign(VectorTem<ElemT>& v1, VectorTem<ElemT> v2)
00019 {
00020     ElemT* p1 = v1.GetData();
00021     ElemT* p2 = v2.GetData();
00022     for (int i=0 ; i<v1.Size() ; i++)
00023         p1[i] += p2[i];
00024 }
00025 
00026 template <class ElemT>
00027 inline void
00028 AddAssign(VectorTem<ElemT>& v, ElemT e)
00029 {
00030     ElemT* p = v.GetData();
00031     for (int i=0 ; i<v.Size() ; i++)
00032         p[i] += e;
00033 }
00034 
00035 
00036 
00040 template <class ArrayT>
00041 inline void
00042 AddAssign(VectorSet<ArrayT>* dst, VectorSet<ArrayT>* src, int dstStart,
00043           int srcStart, int nr)
00044 {
00045     typedef typename VectorSet<ArrayT>::VectorT VectorT;
00046     for (int i=0 ; i<nr ; i++)
00047     {
00048         VectorT dVec = dst->GetVector(dstStart + i, true);
00049         AddAssign(dVec, src->GetVector(srcStart + i, true));
00050     }
00051 }
00052 
00053 } // namespace Vector
00054 } // namespace Core
00055 } // namespace Impala
00056 
00057 #endif

Generated on Fri Mar 19 09:31:03 2010 for ImpalaSrc by  doxygen 1.5.1