00001 #ifndef _ARAGELI_std_import_hpp_ 00002 #define _ARAGELI_std_import_hpp_ 00003 00004 #include <cmath> 00005 #include <algorithm> 00006 00007 namespace Arageli 00008 { 00009 00010 #define ARAGELI_STD_IMPORT_1(NAME) \ 00011 template <typename T> \ 00012 inline T NAME (const T& x) \ 00013 { return std::NAME(x); } 00014 00015 ARAGELI_STD_IMPORT_1(sin) 00016 ARAGELI_STD_IMPORT_1(cos) 00017 ARAGELI_STD_IMPORT_1(tan) 00018 ARAGELI_STD_IMPORT_1(sinh) 00019 ARAGELI_STD_IMPORT_1(cosh) 00020 ARAGELI_STD_IMPORT_1(tanh) 00021 ARAGELI_STD_IMPORT_1(asin) 00022 ARAGELI_STD_IMPORT_1(acos) 00023 ARAGELI_STD_IMPORT_1(atan) 00024 ARAGELI_STD_IMPORT_1(abs) 00025 ARAGELI_STD_IMPORT_1(exp) 00026 ARAGELI_STD_IMPORT_1(floor) 00027 ARAGELI_STD_IMPORT_1(ceil) 00028 ARAGELI_STD_IMPORT_1(log) 00029 ARAGELI_STD_IMPORT_1(log10) 00030 ARAGELI_STD_IMPORT_1(sqrt) 00031 00032 template <typename T1, typename T2> 00033 inline T1 pow (const T1& x, const T2& y) 00034 { return std::pow(x, y); } 00035 00036 template <typename T1, typename T2> 00037 inline void swap (T1& x, T2& y) 00038 { return std::swap(x, y); } 00039 00040 } 00041 00042 #endif