inlib
1.2.0
|
00001 // Copyright (C) 2010, Guy Barrand. All rights reserved. 00002 // See the file inlib.license for terms. 00003 00004 #ifndef inlib_fmath 00005 #define inlib_fmath 00006 00007 #include <cmath> 00008 00009 namespace inlib { 00010 00011 //have : static const fpi = (float)3.1415926535897931160E0; ??? 00012 00013 inline float fpi() {return (float)3.1415926535897931160E0;} 00014 inline float ftwo_pi() {return (float)6.2831853071795862320E0;} 00015 inline float fhalf_pi() {return (float)1.5707963267948965580E0;} 00016 00017 inline float fcos(float x) {return (float)::cos(double(x));} 00018 inline float fsin(float x) {return (float)::sin(double(x));} 00019 inline float facos(float x) {return (float)::acos(double(x));} 00020 inline float fasin(float x) {return (float)::asin(double(x));} 00021 inline float ftan(float x) {return (float)::tan(double(x));} 00022 inline float fatan(float x) {return (float)::atan(double(x));} 00023 inline float fatan2(float x,float y) {return (float)::atan2(double(x),double(y));} 00024 inline float fsqrt(float x) {return (float)::sqrt(double(x));} 00025 inline float fpow(float x,float y) {return (float)::pow(double(x),(double)(y));} 00026 inline float flog(float x) {return (float)::log(double(x));} 00027 inline float flog10(float x) {return (float)::log10(double(x));} 00028 inline float ffloor(float x) {return (float)::floor(double(x));} 00029 inline float ffabs(float x) {return (float)::fabs(double(x));} 00030 inline float fceil(float x) {return (float)::ceil(double(x));} 00031 00032 inline float fdeg2rad() {return fpi()/180.0f;} 00033 00034 } 00035 00036 #endif