13 #include "qwt_global.h"
23 #define _USE_MATH_DEFINES 1
27 #include "qwt_global.h"
31 #define LOG_MIN 1.0e-100
36 #define LOG_MAX 1.0e100
39 QWT_EXPORT
double qwtGetMin(
const double *array,
int size );
40 QWT_EXPORT
double qwtGetMax(
const double *array,
int size );
42 QWT_EXPORT
double qwtNormalizeRadians(
double radians );
43 QWT_EXPORT
double qwtNormalizeDegrees(
double degrees );
57 inline int qwtFuzzyCompare(
double value1,
double value2,
double intervalSize )
59 const double eps = qAbs( 1.0e-6 * intervalSize );
61 if ( value2 - value1 > eps )
64 if ( value1 - value2 > eps )
71 inline bool qwtFuzzyGreaterOrEqual(
double d1,
double d2 )
73 return ( d1 >= d2 ) || qFuzzyCompare( d1, d2 );
76 inline bool qwtFuzzyLessOrEqual(
double d1,
double d2 )
78 return ( d1 <= d2 ) || qFuzzyCompare( d1, d2 );
82 inline int qwtSign(
double x )
93 inline double qwtSqr(
double x )
99 inline double qwtFastAtan(
double x )
102 return -M_PI_2 - x / ( x * x + 0.28 );
105 return M_PI_2 - x / ( x * x + 0.28 );
107 return x / ( 1.0 + x * x * 0.28 );
111 inline double qwtFastAtan2(
double y,
double x )
114 return qwtFastAtan( y / x );
118 const double d = qwtFastAtan( y / x );
119 return ( y >= 0 ) ? d + M_PI : d - M_PI;
132 inline double qwtRadians(
double degrees )
134 return degrees * M_PI / 180.0;
138 inline double qwtDegrees(
double degrees )
140 return degrees * 180.0 / M_PI;