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

BpoMinAssign.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Array_Trait_BpoMinAssign_h
00002 #define Impala_Core_Array_Trait_BpoMinAssign_h
00003 
00004 #include "Core/Array/Pattern/Categories.h"
00005 #include "Core/Array/Element/E0LargeVal.h"
00006 
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Array
00012 {
00013 namespace Trait
00014 {
00015 
00016 
00019 template<class DstArrayT, class SrcArrayT>
00020 struct BpoMinAssign
00021 {
00023     typedef Pattern::TagTransInVar TransVarianceCategory;
00024 
00026     typedef Pattern::TagCallValue CallCategory;
00027 
00028     typedef typename DstArrayT::ArithType DstArithT;
00029     typedef typename SrcArrayT::ArithType SrcArithT;
00030 
00032     BpoMinAssign()
00033     {
00034     }
00035 
00037     void
00038     DoIt(DstArithT& x, const SrcArithT& y)
00039     {
00040         x = Impala::Min(x, y);
00041     }
00042 
00043     static DstArithT
00044     NeutralElement()
00045     {
00046         return Element::E0LargeVal<DstArithT>(DstArithT());
00047     }
00048 };
00049 
00050 } // namespace Trait
00051 } // namespace Array
00052 } // namespace Core
00053 } // namespace Impala
00054 
00055 #endif

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