00001 #ifndef Impala_Core_Array_Element_E1Pow_h
00002 #define Impala_Core_Array_Element_E1Pow_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 inline Int32
00017 E1Pow(Int32 v, Real64 w)
00018 {
00019 return pow((double)v,w);
00020 }
00021
00022 inline Real64
00023 E1Pow(Real64 v, Real64 w)
00024 {
00025 return pow(v,w);
00026 }
00027
00028 inline Vec3Int32
00029 E1Pow(const Vec3Int32& v, Real64 w)
00030 {
00031 return Vec3Int32(pow((double)v.X(), w), pow((double)v.Y(), w), pow((double)v.Z(), w));
00032 }
00033
00034 inline Vec3Real64
00035 E1Pow(const Vec3Real64& v, Real64 w)
00036 {
00037 return Vec3Real64(pow(v.X(), w), pow(v.Y(), w), pow(v.Z(), w));
00038 }
00039
00040 }
00041 }
00042 }
00043 }
00044
00045 #endif