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_YdirSimInc ( DstArrayT *  dst,
SrcArrayT *  src,
KerArrayT *  ker,
PixOpT &  pixOp,
RedOpT &  redOp,
int  y,
TagCallValue  dummy 
) [static]

Line : Y direction, simple (inc), using value call.

Definition at line 379 of file FuncGenConv2dSep.h.

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

Referenced by FuncGenConv2dSepDispatch_V().

00382 {
00383     typedef typename DstArrayT::StorType DstStorT;
00384     typedef typename DstArrayT::ArithType DstArithT;
00385     typedef typename SrcArrayT::StorType SrcStorT;
00386     typedef typename SrcArrayT::ArithType SrcArithT;
00387     typedef typename KerArrayT::StorType KerStorT;
00388     typedef typename KerArrayT::ArithType KerArithT;
00389 
00390     int width = ArrayCW(dst);
00391     int kerWidth = ArrayCW(ker);
00392     int kerBW = ArrayCW(ker) / 2;
00393     int srcInc = ArrayInc(src, 0, 1);
00394     KerArithT neutralElement = RedOpT::NeutralElement();
00395     DstStorT* dPtr = ArrayCPB(dst, 0, y);
00396     SrcStorT* srcPtr = ArrayCPB(src, 0, -kerBW + y);
00397     for (int x=0 ; x<width ; x++)
00398     {
00399         SrcStorT* sPtr = srcPtr;
00400         KerStorT* kPtr = ArrayCPB(ker, 0, 0);
00401         KerArithT result(neutralElement);
00402         for (int k=0; k<kerWidth; k++)
00403         {
00404             redOp.DoIt(result, pixOp.DoIt(PtrRead(sPtr, KerArithT()),
00405                                           PtrRead(kPtr, KerArithT())));
00406             sPtr += srcInc;
00407             kPtr += KerArrayT::ElemSize();
00408         }
00409         PtrWrite(dPtr, result);
00410         srcPtr += SrcArrayT::ElemSize();
00411         dPtr += DstArrayT::ElemSize();
00412     }
00413 }

Here is the call graph for this function:


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