彻底改版2.0
This commit is contained in:
177
third/3rd_qwt/qwt_transform.cpp
Normal file
177
third/3rd_qwt/qwt_transform.cpp
Normal file
@@ -0,0 +1,177 @@
|
||||
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
|
||||
* Qwt Widget Library
|
||||
* Copyright (C) 1997 Josef Wilgen
|
||||
* Copyright (C) 2002 Uwe Rathmann
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the Qwt License, Version 1.0
|
||||
*****************************************************************************/
|
||||
|
||||
#include "qwt_transform.h"
|
||||
#include "qwt_math.h"
|
||||
|
||||
#if QT_VERSION < 0x040601
|
||||
#define qExp(x) ::exp(x)
|
||||
#endif
|
||||
|
||||
#if QT_VERSION >= 0x050400
|
||||
|
||||
//! Smallest allowed value for logarithmic scales: 1.0e-150
|
||||
const double QwtLogTransform::LogMin = 1.0e-150;
|
||||
|
||||
//! Largest allowed value for logarithmic scales: 1.0e150
|
||||
const double QwtLogTransform::LogMax = 1.0e150;
|
||||
|
||||
#else
|
||||
|
||||
//! Smallest allowed value for logarithmic scales: 1.0e-150
|
||||
QT_STATIC_CONST_IMPL double QwtLogTransform::LogMin = 1.0e-150;
|
||||
|
||||
//! Largest allowed value for logarithmic scales: 1.0e150
|
||||
QT_STATIC_CONST_IMPL double QwtLogTransform::LogMax = 1.0e150;
|
||||
|
||||
#endif
|
||||
|
||||
//! Constructor
|
||||
QwtTransform::QwtTransform()
|
||||
{
|
||||
}
|
||||
|
||||
//! Destructor
|
||||
QwtTransform::~QwtTransform()
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be bounded
|
||||
\return value unmodified
|
||||
*/
|
||||
double QwtTransform::bounded( double value ) const
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
//! Constructor
|
||||
QwtNullTransform::QwtNullTransform():
|
||||
QwtTransform()
|
||||
{
|
||||
}
|
||||
|
||||
//! Destructor
|
||||
QwtNullTransform::~QwtNullTransform()
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be transformed
|
||||
\return value unmodified
|
||||
*/
|
||||
double QwtNullTransform::transform( double value ) const
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be transformed
|
||||
\return value unmodified
|
||||
*/
|
||||
double QwtNullTransform::invTransform( double value ) const
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
//! \return Clone of the transformation
|
||||
QwtTransform *QwtNullTransform::copy() const
|
||||
{
|
||||
return new QwtNullTransform();
|
||||
}
|
||||
|
||||
//! Constructor
|
||||
QwtLogTransform::QwtLogTransform():
|
||||
QwtTransform()
|
||||
{
|
||||
}
|
||||
|
||||
//! Destructor
|
||||
QwtLogTransform::~QwtLogTransform()
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be transformed
|
||||
\return log( value )
|
||||
*/
|
||||
double QwtLogTransform::transform( double value ) const
|
||||
{
|
||||
return ::log( value );
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be transformed
|
||||
\return exp( value )
|
||||
*/
|
||||
double QwtLogTransform::invTransform( double value ) const
|
||||
{
|
||||
return qExp( value );
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be bounded
|
||||
\return qBound( LogMin, value, LogMax )
|
||||
*/
|
||||
double QwtLogTransform::bounded( double value ) const
|
||||
{
|
||||
return qBound( LogMin, value, LogMax );
|
||||
}
|
||||
|
||||
//! \return Clone of the transformation
|
||||
QwtTransform *QwtLogTransform::copy() const
|
||||
{
|
||||
return new QwtLogTransform();
|
||||
}
|
||||
|
||||
/*!
|
||||
Constructor
|
||||
\param exponent Exponent
|
||||
*/
|
||||
QwtPowerTransform::QwtPowerTransform( double exponent ):
|
||||
QwtTransform(),
|
||||
d_exponent( exponent )
|
||||
{
|
||||
}
|
||||
|
||||
//! Destructor
|
||||
QwtPowerTransform::~QwtPowerTransform()
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be transformed
|
||||
\return Exponentiation preserving the sign
|
||||
*/
|
||||
double QwtPowerTransform::transform( double value ) const
|
||||
{
|
||||
if ( value < 0.0 )
|
||||
return -qPow( -value, 1.0 / d_exponent );
|
||||
else
|
||||
return qPow( value, 1.0 / d_exponent );
|
||||
|
||||
}
|
||||
|
||||
/*!
|
||||
\param value Value to be transformed
|
||||
\return Inverse exponentiation preserving the sign
|
||||
*/
|
||||
double QwtPowerTransform::invTransform( double value ) const
|
||||
{
|
||||
if ( value < 0.0 )
|
||||
return -qPow( -value, d_exponent );
|
||||
else
|
||||
return qPow( value, d_exponent );
|
||||
}
|
||||
|
||||
//! \return Clone of the transformation
|
||||
QwtTransform *QwtPowerTransform::copy() const
|
||||
{
|
||||
return new QwtPowerTransform( d_exponent );
|
||||
}
|
||||
Reference in New Issue
Block a user