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

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

Definition at line 207 of file FuncMpo.h.

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

Referenced by PatM12PixOp().

00211 {
00212     typedef typename DstArrayT::StorType DstStorT;
00213     typedef typename DstArrayT::ArithType DstArithT;
00214     typedef typename SrcArrayT::StorType SrcStorT;
00215     typedef typename SrcArrayT::ArithType SrcArithT;
00216 
00217     int width = ArrayCW(dst);
00218     int height = ArrayCH(dst);
00219     for (int y=0 ; y<height ; y++)
00220     {
00221         SrcStorT* s1Ptr = ArrayCPB(src1, 0, y);
00222         SrcStorT* s2Ptr = ArrayCPB(src2, 0, y);
00223         SrcStorT* s3Ptr = ArrayCPB(src3, 0, y);
00224         SrcStorT* s4Ptr = ArrayCPB(src4, 0, y);
00225         SrcStorT* s5Ptr = ArrayCPB(src5, 0, y);
00226         SrcStorT* s6Ptr = ArrayCPB(src6, 0, y);
00227         SrcStorT* s7Ptr = ArrayCPB(src7, 0, y);
00228         SrcStorT* s8Ptr = ArrayCPB(src8, 0, y);
00229         SrcStorT* s9Ptr = ArrayCPB(src9, 0, y);
00230         SrcStorT* s10Ptr = ArrayCPB(src10, 0, y);
00231         SrcStorT* s11Ptr = ArrayCPB(src11, 0, y);
00232         SrcStorT* s12Ptr = ArrayCPB(src12, 0, y);
00233         DstStorT* dPtr = ArrayCPB(dst, 0, y);
00234         for (int x=0 ; x<width ; x++)
00235         {
00236             PtrWrite(dPtr, mpo.DoIt(PtrRead(s1Ptr, SrcArithT()),
00237                                     PtrRead(s2Ptr, SrcArithT()),
00238                                     PtrRead(s3Ptr, SrcArithT()),
00239                                     PtrRead(s4Ptr, SrcArithT()),
00240                                     PtrRead(s5Ptr, SrcArithT()),
00241                                     PtrRead(s6Ptr, SrcArithT()),
00242                                     PtrRead(s7Ptr, SrcArithT()),
00243                                     PtrRead(s8Ptr, SrcArithT()),
00244                                     PtrRead(s9Ptr, SrcArithT()),
00245                                     PtrRead(s10Ptr, SrcArithT()),
00246                                     PtrRead(s11Ptr, SrcArithT()),
00247                                     PtrRead(s12Ptr, SrcArithT())));
00248             dPtr += DstArrayT::ElemSize();
00249             s1Ptr += SrcArrayT::ElemSize();
00250             s2Ptr += SrcArrayT::ElemSize();
00251             s3Ptr += SrcArrayT::ElemSize();
00252             s4Ptr += SrcArrayT::ElemSize();
00253             s5Ptr += SrcArrayT::ElemSize();
00254             s6Ptr += SrcArrayT::ElemSize();
00255             s7Ptr += SrcArrayT::ElemSize();
00256             s8Ptr += SrcArrayT::ElemSize();
00257             s9Ptr += SrcArrayT::ElemSize();
00258             s10Ptr += SrcArrayT::ElemSize();
00259             s11Ptr += SrcArrayT::ElemSize();
00260             s12Ptr += SrcArrayT::ElemSize();
00261         }
00262     }
00263 }

Here is the call graph for this function:


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