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;}