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

RecConvKernelSeparated.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Array_RecConvKernelSeparated_h
00002 #define Impala_Core_Array_RecConvKernelSeparated_h
00003 
00004 #include "Core/Array/Pattern/PatRecGenConv2dSep.h"
00005 #include "Core/Array/Trait/BpoMul.h"
00006 #include "Core/Array/Trait/BpoAddAssign.h"
00007 #include "Util/TimePlot.h"
00008 
00009 namespace Impala
00010 {
00011 namespace Core
00012 {
00013 namespace Array
00014 {
00015 
00016 
00017 template<class DstArrayT, class SrcArrayT, class KerArrayT>
00018 inline void
00019 RecConvKernelSeparated(DstArrayT*& dst, SrcArrayT* src, KerArrayT* kerx,
00020                        KerArrayT* kery, Util::TimePlot* plotter = 0)
00021 {
00022     typedef typename KerArrayT::ArithType KerArithT;
00023 
00024     KerArithT nF = Element::E1Cast(1, KerArithT());
00025     RecConvKernelSeparated(dst, src, kerx, kery, nF, nF, nF, nF, plotter);
00026 }
00027 
00028 template<class DstArrayT, class SrcArrayT, class KerArrayT, class KerArithT>
00029 inline void
00030 RecConvKernelSeparated(DstArrayT*& dst, SrcArrayT* src,
00031                        KerArrayT* kerx, KerArrayT* kery,
00032                        KerArithT leftBorderNorm, KerArithT rightBorderNorm,
00033                        KerArithT topBorderNorm, KerArithT bottomBorderNorm,
00034                        Util::TimePlot* plotter = 0)
00035 {
00036     Trait::BpoMul<KerArrayT, KerArrayT, KerArrayT> bpo;
00037     Trait::BpoAddAssign<KerArrayT, KerArrayT> bpoAss;
00038     Pattern::PatRecGenConv2dSep(dst, src, kerx, kery, leftBorderNorm, rightBorderNorm,
00039                                 topBorderNorm, bottomBorderNorm, bpo, bpoAss, plotter);
00040 }
00041 
00042 } // namespace Array
00043 } // namespace Core
00044 } // namespace Impala
00045 
00046 #endif

Generated on Fri Mar 19 09:30:53 2010 for ImpalaSrc by  doxygen 1.5.1