00001 #ifndef Impala_Core_Array_MulVal_h 00002 #define Impala_Core_Array_MulVal_h 00003 00004 #include "Core/Array/Pattern/PatUnaryPixOp.h" 00005 #include "Core/Array/Trait/BpoMul.h" 00006 #include "Core/Array/Trait/BpoBind2Val.h" 00007 00008 namespace Impala 00009 { 00010 namespace Core 00011 { 00012 namespace Array 00013 { 00014 00015 00016 template<class DstArrayT, class SrcArrayT> 00017 inline void 00018 MulVal(DstArrayT*& dst, SrcArrayT* src, typename SrcArrayT::ArithType val) 00019 { 00020 Trait::BpoBind2Val<DstArrayT, SrcArrayT, 00021 Trait::BpoMul<DstArrayT, SrcArrayT, SrcArrayT> > upo(val); 00022 Pattern::PatUnaryPixOp(dst, src, upo); 00023 } 00024 00025 } // namespace Array 00026 } // namespace Core 00027 } // namespace Impala 00028 00029 #endif