00001 #ifndef Impala_Core_Array_Element_E0SmallVal_h
00002 #define Impala_Core_Array_Element_E0SmallVal_h
00003
00004 #include "Core/Array/Element/ArithTypes.h"
00005
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Array
00011 {
00012 namespace Element
00013 {
00014
00015
00016 template <class ValT>
00017 inline ValT
00018 E0SmallVal(ValT)
00019 {
00020 return static_cast<ValT>(0);
00021 }
00022
00023
00024
00025
00026 template <>
00027 inline Int32
00028 E0SmallVal<Int32>(Int32)
00029 {
00030 return 0;
00031 }
00032
00033 template <>
00034 inline Real64
00035 E0SmallVal<Real64>(Real64)
00036 {
00037 return 0;
00038 }
00039
00040 template <>
00041 inline Vec3Int32
00042 E0SmallVal<Vec3Int32>(Vec3Int32)
00043 {
00044 return Vec3Int32(0, 0, 0);
00045 }
00046
00047 template <>
00048 inline Vec3Real64
00049 E0SmallVal<Vec3Real64>(Vec3Real64)
00050 {
00051 return Vec3Real64(0, 0, 0);
00052 }
00053
00054 template <>
00055 inline Complex64
00056 E0SmallVal<Complex64>(Complex64)
00057 {
00058 return Complex64(0, 0);
00059 }
00060
00061 }
00062 }
00063 }
00064 }
00065
00066 #endif