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

template<class DstArrayT, class SrcArrayT, class MpoT>
void Impala::Core::Array::Pattern::FuncM22po ( 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,
SrcArrayT *  src13,
SrcArrayT *  src14,
SrcArrayT *  src15,
SrcArrayT *  src16,
SrcArrayT *  src17,
SrcArrayT *  src18,
SrcArrayT *  src19,
SrcArrayT *  src20,
SrcArrayT *  src21,
SrcArrayT *  src22,
MpoT &  mpo 
)

Definition at line 357 of file FuncMpo.h.

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

Referenced by PatM22PixOp().

00364 {
00365     typedef typename DstArrayT::StorType DstStorT;
00366     typedef typename DstArrayT::ArithType DstArithT;
00367     typedef typename SrcArrayT::StorType SrcStorT;
00368     typedef typename SrcArrayT::ArithType SrcArithT;
00369 
00370     int width = ArrayCW(dst);
00371     int height = ArrayCH(dst);
00372     for (int y=0 ; y<height ; y++)
00373     {
00374         SrcStorT* s1Ptr = ArrayCPB(src1, 0, y);
00375         SrcStorT* s2Ptr = ArrayCPB(src2, 0, y);
00376         SrcStorT* s3Ptr = ArrayCPB(src3, 0, y);
00377         SrcStorT* s4Ptr = ArrayCPB(src4, 0, y);
00378         SrcStorT* s5Ptr = ArrayCPB(src5, 0, y);
00379         SrcStorT* s6Ptr = ArrayCPB(src6, 0, y);
00380         SrcStorT* s7Ptr = ArrayCPB(src7, 0, y);
00381         SrcStorT* s8Ptr = ArrayCPB(src8, 0, y);
00382         SrcStorT* s9Ptr = ArrayCPB(src9, 0, y);
00383         SrcStorT* s10Ptr = ArrayCPB(src10, 0, y);
00384         SrcStorT* s11Ptr = ArrayCPB(src11, 0, y);
00385         SrcStorT* s12Ptr = ArrayCPB(src12, 0, y);
00386         SrcStorT* s13Ptr = ArrayCPB(src13, 0, y);
00387         SrcStorT* s14Ptr = ArrayCPB(src14, 0, y);
00388         SrcStorT* s15Ptr = ArrayCPB(src15, 0, y);
00389         SrcStorT* s16Ptr = ArrayCPB(src16, 0, y);
00390         SrcStorT* s17Ptr = ArrayCPB(src17, 0, y);
00391         SrcStorT* s18Ptr = ArrayCPB(src18, 0, y);
00392         SrcStorT* s19Ptr = ArrayCPB(src19, 0, y);
00393         SrcStorT* s20Ptr = ArrayCPB(src20, 0, y);
00394         SrcStorT* s21Ptr = ArrayCPB(src21, 0, y);
00395         SrcStorT* s22Ptr = ArrayCPB(src22, 0, y);
00396         DstStorT* dPtr = ArrayCPB(dst, 0, y);
00397         for (int x=0 ; x<width ; x++)
00398         {
00399             PtrWrite(dPtr, mpo.DoIt(PtrRead(s1Ptr, SrcArithT()),
00400                                     PtrRead(s2Ptr, SrcArithT()),
00401                                     PtrRead(s3Ptr, SrcArithT()),
00402                                     PtrRead(s4Ptr, SrcArithT()),
00403                                     PtrRead(s5Ptr, SrcArithT()),
00404                                     PtrRead(s6Ptr, SrcArithT()),
00405                                     PtrRead(s7Ptr, SrcArithT()),
00406                                     PtrRead(s8Ptr, SrcArithT()),
00407                                     PtrRead(s9Ptr, SrcArithT()),
00408                                     PtrRead(s10Ptr, SrcArithT()),
00409                                     PtrRead(s11Ptr, SrcArithT()),
00410                                     PtrRead(s12Ptr, SrcArithT()),
00411                                     PtrRead(s13Ptr, SrcArithT()),
00412                                     PtrRead(s14Ptr, SrcArithT()),
00413                                     PtrRead(s15Ptr, SrcArithT()),
00414                                     PtrRead(s16Ptr, SrcArithT()),
00415                                     PtrRead(s17Ptr, SrcArithT()),
00416                                     PtrRead(s18Ptr, SrcArithT()),
00417                                     PtrRead(s19Ptr, SrcArithT()),
00418                                     PtrRead(s20Ptr, SrcArithT()),
00419                                     PtrRead(s21Ptr, SrcArithT()),
00420                                     PtrRead(s22Ptr, SrcArithT())));
00421             dPtr += DstArrayT::ElemSize();
00422             s1Ptr += SrcArrayT::ElemSize();
00423             s2Ptr += SrcArrayT::ElemSize();
00424             s3Ptr += SrcArrayT::ElemSize();
00425             s4Ptr += SrcArrayT::ElemSize();
00426             s5Ptr += SrcArrayT::ElemSize();
00427             s6Ptr += SrcArrayT::ElemSize();
00428             s7Ptr += SrcArrayT::ElemSize();
00429             s8Ptr += SrcArrayT::ElemSize();
00430             s9Ptr += SrcArrayT::ElemSize();
00431             s10Ptr += SrcArrayT::ElemSize();
00432             s11Ptr += SrcArrayT::ElemSize();
00433             s12Ptr += SrcArrayT::ElemSize();
00434             s13Ptr += SrcArrayT::ElemSize();
00435             s14Ptr += SrcArrayT::ElemSize();
00436             s15Ptr += SrcArrayT::ElemSize();
00437             s16Ptr += SrcArrayT::ElemSize();
00438             s17Ptr += SrcArrayT::ElemSize();
00439             s18Ptr += SrcArrayT::ElemSize();
00440             s19Ptr += SrcArrayT::ElemSize();
00441             s20Ptr += SrcArrayT::ElemSize();
00442             s21Ptr += SrcArrayT::ElemSize();
00443             s22Ptr += SrcArrayT::ElemSize();
00444         }
00445     }
00446 }

Here is the call graph for this function:


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