diff options
author | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
commit | 8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 (patch) | |
tree | 064ad3f2bf8daab0ad27b128abd86a9bbdb1e496 /muse2/muse/widgets/mmath.h | |
parent | a27706d9629e8b592cca4659f865b70adef24e6d (diff) |
new branch muse2, first checkin
Diffstat (limited to 'muse2/muse/widgets/mmath.h')
-rw-r--r-- | muse2/muse/widgets/mmath.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/muse2/muse/widgets/mmath.h b/muse2/muse/widgets/mmath.h new file mode 100644 index 00000000..51381047 --- /dev/null +++ b/muse2/muse/widgets/mmath.h @@ -0,0 +1,77 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id: mmath.h,v 1.1.1.1 2003/10/27 18:54:47 wschweer Exp $ +// +// (C) Copyright 2000 Werner Schweer (ws@seh.de) +//========================================================= + +#ifndef __MATH_H__ +#define __MATH_H__ + +#define LOG_MIN 1.0e-100 +#define LOG_MAX 1.0e100 + +double qwtCeil125(double x); +double qwtFloor125(double x); +void qwtTwistArray(double *array, int size); +int qwtChkMono(double *array, int size); +void qwtLinSpace(double *array, int size, double xmin, double xmax); +void qwtLogSpace(double *array, int size, double xmin, double xmax); + +template <class T> +inline int qwtSign(const T& x) +{ + if (x > T(0)) + return 1; + else if (x < T(0)) + return (-1); + else + return 0; +} + +inline int qwtInt(double x) +{ + return int(rint(x)); +} + +template <class T> +inline T qwtAbs (const T& x) +{ + return( x > T(0) ? x : -x ); +} + +template <class T> +inline const T& qwtMax (const T& x, const T& y) +{ + return ( x > y ? x : y ); +} + +template <class T> +inline const T& qwtMin ( const T& x, const T& y) +{ + return ( x < y ? x : y ); +} + + +template <class T> +T qwtLim(const T& x, const T& x1, const T& x2) +{ + T rv; + T xmin, xmax; + + xmin = qwtMin(x1, x2); + xmax = qwtMax(x1, x2); + + if ( x < xmin ) + rv = xmin; + else if ( x > xmax ) + rv = xmax; + else + rv = x; + + return rv; +} + +#endif + |