#ifndef MATH__H
#define MATH__H

#include <math.h>

//! math class
/*!
class to access math functions
This class not no avaiable in the python interface, as there a plenty other ways for this feature.
*/
class math {
public:
 math();


 //! constant PI
/*!
@return returns 3.14159265358979323846
*/ 
static const double pi;
//! constant e
/*!
@return returns 2.71828182845904523536
*/ 
static const double e;
//! log2e
/*!
@return returns log2(e)=1.44269504088896340736)
*/ 
static const double log2e;
//! log10e
/*!
@return returns log10(e)=0.434294481903251827651
*/ 
static const double log10e;
//! ln2
/*!
@return returns ln(2)=0.693147180559945309417
*/ 
static const double ln2;
//! ln10
/*!
@return returns ln(10)=2.30258509299404568402;
*/ 
static const double ln10;
//! pi_2
/*! 
@return returns pi/2=1.57079632679489661923
*/ 
static const double pi_2;
//! pi_4
/*!
@return returns pi/4=0.785398163397448309616
*/ 
static const double pi_4;
//! sqrt2
/*!
@return returns sqrt(2)=1.41421356237309504880
*/ 
static const double sqrt2;
//! sqrt1_2
/*!
@return returns 1/sqrt(2)=0.707106781186547524401
*/ 
static const double sqrt1_2;
//! sin
/*!
@return sin
*/
static double sin(double a){return sin(a);};
//! cos
/*!
@return cos
*/
static double cos(double a){return cos(a);};
//! tan
/*!
@return tan
*/
static double tan(double a){return tan(a);};
//! asin
/*!
@return asin
*/
static double asin(double a){return asin(a);};
//! acos
/*!
@return acos
*/
static double acos(double a){return acos(a);};
//! atan
/*!
@return atan
*/
static double atan(double a){return atan(a);};
//! sinh
/*!
@return sinh
*/
static double sinh(double a){return sinh(a);};
//! cosh
/*!
@return cosh
*/
static double cosh(double a){return cosh(a);};
//! tanh
/*!
@return tanh
*/
static double tanh(double a){return tanh(a);};
//! sqrt
/*!
@return sqrt
*/
static double sqrt(double a){return sqrt(a);};
//! exp
/*!
@return exp
*/
static double exp(double a){return exp(a);};
//! log
/*!
@return log
*/
static double log(double a){return log(a);};
//! log10
/*!
@return log10
*/
static double log10(double a){return log10(a);};
//! pow
/*!
@return pow
*/
static double pow(double a,double b){return pow(a,b);};

};
#endif

