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

template<class DstArrayT, class SrcArrayT, class MpoT>
void Impala::Core::Array::Pattern::FuncM9po ( DstArrayT *  dst,
SrcArrayT *  src1,
SrcArrayT *  src2,
SrcArrayT *  src3,
SrcArrayT *  src4,
SrcArrayT *  src5,
SrcArrayT *  src6,
SrcArrayT *  src7,
SrcArrayT *  src8,
SrcArrayT *  src9,
MpoT &  mpo 
)

Definition at line 157 of file FuncMpo.h.

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

Referenced by PatM9PixOp().

00160 {
00161     typedef typename DstArrayT::StorType DstStorT;
00162     typedef typename DstArrayT::ArithType DstArithT;
00163     typedef typename SrcArrayT::StorType SrcStorT;
00164     typedef typename SrcArrayT::ArithType SrcArithT;
00165 
00166     int width = ArrayCW(dst);
00167     int height = ArrayCH(dst);
00168     for (int y=0 ; y<height ; y++)
00169     {
00170         SrcStorT* s1Ptr = ArrayCPB(src1, 0, y);
00171         SrcStorT* s2Ptr = ArrayCPB(src2, 0, y);
00172         SrcStorT* s3Ptr = ArrayCPB(src3, 0, y);
00173         SrcStorT* s4Ptr = ArrayCPB(src4, 0, y);
00174         SrcStorT* s5Ptr = ArrayCPB(src5, 0, y);
00175         SrcStorT* s6Ptr = ArrayCPB(src6, 0, y);
00176         SrcStorT* s7Ptr = ArrayCPB(src7 , 0, y);
00177         SrcStorT* s8Ptr = ArrayCPB(src8, 0, y);
00178         SrcStorT* s9Ptr = ArrayCPB(src9, 0, y);
00179         DstStorT* dPtr = ArrayCPB(dst, 0, y);
00180         for (int x=0 ; x<width ; x++)
00181         {
00182             PtrWrite(dPtr, mpo.DoIt(PtrRead(s1Ptr, SrcArithT()),
00183                                     PtrRead(s2Ptr, SrcArithT()),
00184                                     PtrRead(s3Ptr, SrcArithT()),
00185                                     PtrRead(s4Ptr, SrcArithT()),
00186                                     PtrRead(s5Ptr, SrcArithT()),
00187                                     PtrRead(s6Ptr, SrcArithT()),
00188                                     PtrRead(s7Ptr, SrcArithT()),
00189                                     PtrRead(s8Ptr, SrcArithT()),
00190                                     PtrRead(s9Ptr, SrcArithT())));
00191             dPtr += DstArrayT::ElemSize();
00192             s1Ptr += SrcArrayT::ElemSize();
00193             s2Ptr += SrcArrayT::ElemSize();
00194             s3Ptr += SrcArrayT::ElemSize();
00195             s4Ptr += SrcArrayT::ElemSize();
00196             s5Ptr += SrcArrayT::ElemSize();
00197             s6Ptr += SrcArrayT::ElemSize();
00198             s7Ptr += SrcArrayT::ElemSize();
00199             s8Ptr += SrcArrayT::ElemSize();
00200             s9Ptr += SrcArrayT::ElemSize();
00201         }
00202     }
00203 }

Here is the call graph for this function:


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