00001
00002
00003
00004
00005
00006
00007
00008
00011 #ifndef HxFuncNgbOp2d_h
00012 #define HxFuncNgbOp2d_h
00013
00014 #include "HxNgbOpCategory.h"
00015
00016
00020 template <class DstDataPtrT, class SrcDataPtrT, class NgbT>
00021 void
00022 HxFuncNgbOp2d(
00023 DstDataPtrT dstPtr, SrcDataPtrT srcPtr,
00024 HxSizes dstSize, NgbT& ngb,
00025 const HxNgbCnumTag, const HxNgb1PhaseTag, const HxNgbTransInVarTag);
00026
00027
00031 template <class DstDataPtrT, class SrcDataPtrT, class NgbT>
00032 void
00033 HxFuncNgbOp2d(
00034 DstDataPtrT dstPtr, SrcDataPtrT srcPtr,
00035 HxSizes dstSize, NgbT& ngb,
00036 const HxNgbLoopTag, const HxNgb1PhaseTag, const HxNgbTransInVarTag);
00037
00038
00042 template <class DstDataPtrT, class SrcDataPtrT, class NgbT>
00043 void
00044 HxFuncNgbOp2d(
00045 DstDataPtrT dstPtr, SrcDataPtrT srcPtr,
00046 HxSizes dstSize, NgbT& ngb,
00047 const HxNgbLoopTag, const HxNgb2PhaseTag, const HxNgbTransInVarTag);
00048
00049
00053 template <class DstDataPtrT, class SrcDataPtrT, class NgbT>
00054 inline void
00055 HxFuncNgbOp2d(
00056 DstDataPtrT dstPtr, SrcDataPtrT srcPtr,
00057 HxSizes dstSize, NgbT& ngb)
00058 {
00059 HxFuncNgbOp2d(
00060 dstPtr, srcPtr, dstSize, ngb,
00061 typename NgbT::IteratorCategory(),
00062 typename NgbT::PhaseCategory(),
00063 typename NgbT::TransVarianceCategory());
00064 }
00065
00066
00067 #ifdef INC_TEMPLATE_SRC
00068 #include "HxFuncNgbOp2d.c"
00069 #endif
00070
00071 #endif