00001 #ifndef Impala_Core_Matrix_MatSet_h
00002 #define Impala_Core_Matrix_MatSet_h
00003
00004 #include "Core/Matrix/MatFunc.h"
00005
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Matrix
00011 {
00012
00013
00014 template<class ArrayT>
00015 inline void
00016 MatSet(ArrayT* dst, ArrayT* src)
00017 {
00018 typename ArrayT::StorType* srcPtr = MatE(src, 0, 0);
00019 typename ArrayT::StorType* dstPtr = MatE(dst, 0, 0);
00020 int nr = MatNrElem(src);
00021 for (int i=0 ; i<nr ; i++)
00022 dstPtr[i] = srcPtr[i];
00023 }
00024
00025 template<class ArrayT>
00026 inline void
00027 MatSet(ArrayT* m, typename ArrayT::ArithType val)
00028 {
00029 typename ArrayT::StorType* ptr = MatE(m, 0, 0);
00030 int nr = MatNrElem(m);
00031 for (int i=0 ; i<nr ; i++)
00032 ptr[i] = val;
00033 }
00034
00035 }
00036 }
00037 }
00038
00039 #endif