00001 #ifndef Impala_Core_Vector_SubAssign_h
00002 #define Impala_Core_Vector_SubAssign_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 SubAssign(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 SubAssign(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
00037
00038 }
00039 }
00040 }
00041
00042 #endif