00001 #ifndef Impala_Core_Column_DivAssign_h
00002 #define Impala_Core_Column_DivAssign_h
00003
00004 #include <iostream>
00005 #include "Core/Column/InvalidColumn.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Column
00012 {
00013
00014
00015 template <class C>
00016 inline void
00017 DivAssign(C* col, typename C::ColElemType val, int start, int end)
00018 {
00019 if (end == -1)
00020 end = col->Capacity();
00021 if (end > col->Capacity())
00022 {
00023 std::cout << "Column::DivAssign: incompatible range" << std::endl;
00024 return;
00025 }
00026 for (int i=start ; i<end ; i++)
00027 col->Set(i, col->Get(i) / val);
00028 }
00029
00030 inline void
00031 DivAssign(InvalidColumn* col, InvalidColumn::ColElemType val, int start, int end)
00032 {
00033
00034 }
00035
00036 }
00037 }
00038 }
00039
00040 #endif