From 8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Wed, 13 Oct 2010 19:34:22 +0000 Subject: new branch muse2, first checkin --- muse2/muse/widgets/mmath.h | 77 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 muse2/muse/widgets/mmath.h (limited to 'muse2/muse/widgets/mmath.h') 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 +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 +inline T qwtAbs (const T& x) +{ + return( x > T(0) ? x : -x ); +} + +template +inline const T& qwtMax (const T& x, const T& y) +{ + return ( x > y ? x : y ); +} + +template +inline const T& qwtMin ( const T& x, const T& y) +{ + return ( x < y ? x : y ); +} + + +template +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 + -- cgit v1.2.3