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

template<class DstArrayT, class SrcArrayT, class MpoT>
void Impala::Core::Array::Pattern::FuncM3po ( DstArrayT *  dst,
SrcArrayT *  src1,
SrcArrayT *  src2,
SrcArrayT *  src3,
MpoT &  mpo 
)

Definition at line 52 of file FuncMpo.h.

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

Referenced by PatM3PixOp().

00054 {
00055     typedef typename DstArrayT::StorType DstStorT;
00056     typedef typename DstArrayT::ArithType DstArithT;
00057     typedef typename SrcArrayT::StorType SrcStorT;
00058     typedef typename SrcArrayT::ArithType SrcArithT;
00059 
00060     int width = ArrayCW(dst);
00061     int height = ArrayCH(dst);
00062     for (int y=0 ; y<height ; y++)
00063     {
00064         SrcStorT* s1Ptr = ArrayCPB(src1, 0, y);
00065         SrcStorT* s2Ptr = ArrayCPB(src2, 0, y);
00066         SrcStorT* s3Ptr = ArrayCPB(src3, 0, y);
00067         DstStorT* dPtr = ArrayCPB(dst, 0, y);
00068         for (int x=0 ; x<width ; x++)
00069         {
00070             PtrWrite(dPtr, mpo.DoIt(PtrRead(s1Ptr, SrcArithT()),
00071                                     PtrRead(s2Ptr, SrcArithT()),
00072                                     PtrRead(s3Ptr, SrcArithT())));
00073             dPtr += DstArrayT::ElemSize();
00074             s1Ptr += SrcArrayT::ElemSize();
00075             s2Ptr += SrcArrayT::ElemSize();
00076             s3Ptr += SrcArrayT::ElemSize();
00077         }
00078     }
00079 }

Here is the call graph for this function:


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