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

template<class DstArrayT, class SrcArrayT, class KerArrayT, class PixOpT, class RedOpT>
static void Impala::Core::Array::Pattern::FuncGenConv2dSep_Line_XdirInc ( DstArrayT *  dst,
SrcArrayT *  src,
KerArrayT *  ker,
PixOpT &  pixOp,
RedOpT &  redOp,
int  y,
TagCallValue  dummy 
) [static]

Line : X direction (inc), using value call.

Processes the entire line designated by y using value call.

This function does the same operation as FuncGenConv2dSep_Line_Xdir but the code of FuncGenConv2dSep_Pix_Xdir is inserted in the loop (instead of calling the function like FuncGenConv2dSep_Line_Xdir does).

Definition at line 209 of file FuncGenConv2dSep.h.

References ArrayCPB(), ArrayCW(), PtrRead(), and PtrWrite().

00212 {
00213     typedef typename DstArrayT::StorType DstStorT;
00214     typedef typename DstArrayT::ArithType DstArithT;
00215     typedef typename SrcArrayT::StorType SrcStorT;
00216     typedef typename SrcArrayT::ArithType SrcArithT;
00217     typedef typename KerArrayT::StorType KerStorT;
00218     typedef typename KerArrayT::ArithType KerArithT;
00219 
00220     int width = ArrayCW(dst);
00221     int kerWidth = ArrayCW(ker);
00222     int kerBW = ArrayCW(ker) / 2;
00223     KerArithT neutralElement = RedOpT::NeutralElement();
00224     DstStorT* dPtr = ArrayCPB(dst, 0, y);
00225     for (int x=0 ; x<width ; x++)
00226     {
00227         SrcStorT* sPtr = ArrayCPB(src, -kerBW + x, y);
00228         KerStorT* kPtr = ArrayCPB(ker, 0, 0);
00229         KerArithT result(neutralElement);
00230         for (int k=0; k<kerWidth; k++)
00231         {
00232             redOp.DoIt(result, pixOp.DoIt(PtrRead(sPtr, KerArithT()),
00233                                           PtrRead(kPtr, KerArithT())));
00234             sPtr += SrcArrayT::ElemSize();
00235             kPtr += KerArrayT::ElemSize();
00236         }
00237         PtrWrite(dPtr, result);
00238         dPtr += DstArrayT::ElemSize();
00239     }
00240 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:01:06 2010 for ImpalaSrc by  doxygen 1.5.1