00001 #ifndef Impala_Core_Array_Integral_h
00002 #define Impala_Core_Array_Integral_h
00003
00004 #include "Core/Array/Pattern/PatNgbOp2d.h"
00005 #include "Core/Array/Trait/NgbIntegral.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Array
00012 {
00013
00014
00015
00016 inline Array2dScalarReal64*
00017 MakeIntegral(Array2dScalarReal64* im)
00018 {
00019 const int borderSize = 1;
00020 Array2dScalarReal64* dst =
00021 ArrayClone<Array2dScalarReal64>(im, borderSize, borderSize);
00022 Array::Pattern::PatSetBorder(dst, borderSize, borderSize,
00023 Array::Pattern::BORDERCONSTANT, 0, 0, 0, 0, 0);
00024 Array::Pattern::PatSet(dst, im);
00025 Trait::NgbIntegral integral;
00026 Pattern::PatNgbOp2d(dst, dst, integral, true);
00027 return dst;
00028 }
00029
00030 }
00031 }
00032 }
00033
00034 #endif