All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Brief description of class still missing. More...
#include <ParameterGrid.h>
Public Types | |
enum | Scale { Linear, Log } |
Public Member Functions | |
int | count () const |
void | getLimits (int &min, int &max, double dmin, double dmax) const |
void | getLimits (double &min, double &max, double dmin, double dmax) const |
int | gridValue (double val) const |
bool | init () |
double | maximum () const |
double | minimum () const |
ParameterGrid () | |
double | realValue (int index) const |
double | realValue (double index) const |
void | setMaximum (double m) |
void | setMinimum (double m) |
void | setPrecision (double p) |
void | setScale (Scale s) |
~ParameterGrid () |
Brief description of class still missing.
Full description of class still missing
Description of destructor still missing
{
delete [] _realValues;
}
int DinverCore::ParameterGrid::count | ( | ) | const [inline] |
Referenced by DinverCore::Parameter::humanInfo().
{return _n;}
void DinverCore::ParameterGrid::getLimits | ( | int & | min, |
int & | max, | ||
double | dmin, | ||
double | dmax | ||
) | const [inline] |
References Linear, Log, and QGpCoreTools::log().
Referenced by DinverCore::Parameter::getGridLimits().
void DinverCore::ParameterGrid::getLimits | ( | double & | min, |
double & | max, | ||
double | dmin, | ||
double | dmax | ||
) | const [inline] |
int DinverCore::ParameterGrid::gridValue | ( | double | val | ) | const [inline] |
bool DinverCore::ParameterGrid::init | ( | ) |
References QGpCoreTools::endl(), QGpCoreTools::exp(), Linear, Log, QGpCoreTools::log(), QGpCoreTools::tr(), and TRACE.
{ TRACE; if(_minimum>_maximum) { _n=0; App::stream() << tr("Minimum is greater than maximum.") << endl; return false; } else if(_minimum==_maximum) { _n=0; return true; } if(_minimum<=0.0 && _scale==Log) { _scale=Linear; } if(_precision==0.0) { switch(_scale) { case Linear: _a=500.0/(_maximum-_minimum); _b=1.0/_a; break; case Log: _a=1.0/_minimum; _b=500.0/log(_maximum/_minimum); _c=exp(1.0/_b); break; } } else { switch(_scale) { case Linear: _a=1.0/_precision; _b=_precision; break; case Log: _a=1.0/_minimum; _c=1.0+_precision; _b=1.0/log(_c); break; } } switch(_scale) { case Linear: cacheRealLinearValues(); break; case Log: cacheRealLogValues(); break; } return _realValues; }
double DinverCore::ParameterGrid::maximum | ( | ) | const [inline] |
{return _maximum;}
double DinverCore::ParameterGrid::minimum | ( | ) | const [inline] |
{return _minimum;}
double DinverCore::ParameterGrid::realValue | ( | int | index | ) | const [inline] |
{
return _realValues[ index ];
}
double DinverCore::ParameterGrid::realValue | ( | double | index | ) | const [inline] |
void DinverCore::ParameterGrid::setMaximum | ( | double | m | ) | [inline] |
{_maximum=m;}
void DinverCore::ParameterGrid::setMinimum | ( | double | m | ) | [inline] |
{_minimum=m;}
void DinverCore::ParameterGrid::setPrecision | ( | double | p | ) | [inline] |
{ASSERT(p >= 0.0); _precision=p;}
void DinverCore::ParameterGrid::setScale | ( | Scale | s | ) | [inline] |
{_scale=s;}