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

MulAssign.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Column_MulAssign_h
00002 #define Impala_Core_Column_MulAssign_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 C1, class C2>
00016 inline void
00017 MulAssign(C1* dst, C2* src, int start, int end)
00018 {
00019     ILOG_VAR(Impala.Core.Column.MulAssign);
00020     if (end == -1)
00021         end = dst->Capacity();
00022     if (end > src->Capacity())
00023     {
00024         ILOG_ERROR("Incompatible src range");
00025         return;
00026     }
00027     if (end > dst->Capacity())
00028     {
00029         ILOG_ERROR("Incompatible dst range");
00030         return;
00031     }
00032     for (int i=start ; i<end ; i++)
00033         dst->Set(i, dst->Get(i) * src->Get(i));
00034 }
00035 
00036 inline void
00037 MulAssign(InvalidColumn* dst, InvalidColumn* src, int start, int end)
00038 {
00039     // ignore
00040 }
00041 
00042 template <class C2>
00043 inline void
00044 MulAssign(InvalidColumn* dst, C2* src, int start, int end)
00045 {
00046     // ignore
00047 }
00048 
00049 template <class C1>
00050 inline void
00051 MulAssign(C1* dst, InvalidColumn* src, int start, int end)
00052 {
00053     // ignore
00054 }
00055 
00056 } // namespace Column
00057 } // namespace Core
00058 } // namespace Impala
00059 
00060 #endif

Generated on Thu Jan 13 09:04:23 2011 for ImpalaSrc by  doxygen 1.5.1