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

ConvolutionTraits.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Tracking_TraitBpoAddAssignPtr_h
00002 #define Impala_Core_Tracking_TraitBpoAddAssignPtr_h
00003 
00004 #include "Core/Array/Element/E0SmallVal2.h"
00005 #include "Core/Array/Pattern/Categories.h"
00006 
00019 namespace Impala
00020 {
00021 namespace Core
00022 {
00023 namespace Tracking
00024 {
00025 
00028 class TraitBpoAddAssignPtr
00029 {
00030 public:
00031     typedef Impala::Core::Array::Pattern::TagTransInVar TransVarianceCategory;
00032     typedef Impala::Core::Array::Pattern::TagCallPointer CallCategory;
00033 
00034         TraitBpoAddAssignPtr()
00035         {
00036         }
00037 
00039     void DoIt(double* x, double* y)
00040         {
00041         for(int i=0 ; i<1 ; i++)
00042             x[i] += y[i];
00043         }
00044 
00045     static void NeutralElement(double* x)
00046         {
00047         for(int i=0 ; i<1 ; i++)
00048             x[i] += 0;
00049         }
00050 };
00051 
00054 class TraitBpoDist
00055 {
00056 public:
00057     typedef Impala::Core::Array::Pattern::TagTransInVar TransVarianceCategory;
00058     typedef Impala::Core::Array::Pattern::TagCallPointer CallCategory;
00059 
00060 
00061     TraitBpoDist() {}
00062 
00063     void
00064         DoIt(double* res, double* p1, double* p2)
00065         {
00066         int i;
00067         double t;
00068         *res=0;
00069         for(i=0 ; i<3 ; i++)
00070         {
00071             t = p1[i] - p2[i];
00072             *res += t*t;
00073         }
00074         }
00075 };
00076 
00079 class TraitBpoInproduct
00080 {
00081 public:
00082     typedef Impala::Core::Array::Pattern::TagTransInVar TransVarianceCategory;
00083     typedef Impala::Core::Array::Pattern::TagCallPointer CallCategory;
00084 
00085 
00086     TraitBpoInproduct() {}
00087 
00088     void
00089     DoIt(double* res, double* p1, double* p2)
00090     {
00091         int i;
00092         *res=0;
00093         for(i=0 ; i<3 ; i++)
00094         {
00095             *res += p1[i] * p2[i];
00096         }
00097     }
00098 };
00099 
00100 } // namespace Tracking
00101 } // namespace Core
00102 } // namespace Impala
00103 
00104 #endif //Impala_Core_Tracking_TraitBpoAddAssignPtr_h

Generated on Thu Jan 13 09:04:39 2011 for ImpalaSrc by  doxygen 1.5.1