28 #ifndef ANTIOCH_CMATH_H
29 #define ANTIOCH_CMATH_H
46 #ifdef ANTIOCH_HAVE_CXX11
47 #define ANTIOCH_UNARY_SHIM(funcname) \
48 namespace Ugly_CXX11_Workaround \
50 using std::funcname; \
51 template <typename T> \
54 ant_##funcname (const T& in) \
55 -> decltype (funcname(in)) \
56 { return funcname(in); } \
58 using Ugly_CXX11_Workaround::ant_##funcname;
60 #define ANTIOCH_BINARY_SHIM(funcname) \
61 namespace Ugly_CXX11_Workaround \
63 using std::funcname; \
64 template <typename T1, typename T2> \
67 ant_##funcname (const T1& in1, const T2& in2) \
68 -> decltype (funcname(in1, in2)) \
69 { return funcname(in1, in2); } \
71 using Ugly_CXX11_Workaround::ant_##funcname;
73 #else // ANTIOCH_HAVE_CXX11
75 #define ANTIOCH_UNARY_SHIM(funcname) \
76 template <typename T> \
79 ant_##funcname (const T& in) \
81 using std::funcname; \
82 return funcname(in); \
85 #define ANTIOCH_BINARY_SHIM(funcname) \
86 template <typename T1, typename T2> \
89 ant_##funcname (const T1& in1, const T2& in2) \
91 using std::funcname; \
92 return funcname(in1, in2); \
95 #endif // ANTIOCH_HAVE_CXX11
123 #endif //ANTIOCH_CMATH_H
Antioch::enable_if_c< is_eigen< T >::value, typename value_type< T >::type >::type max(const T &in)
Antioch::enable_if_c< is_eigen< T >::value, typename value_type< T >::type >::type min(const T &in)
Antioch::enable_if_c< Antioch::is_valarray< T >::value, typename Antioch::state_type< T >::type >::type pow(const T &in, const T2 &n)
#define ANTIOCH_BINARY_SHIM(funcname)
The parameters are reduced parameters.
#define ANTIOCH_UNARY_SHIM(funcname)