OpendTect
6.6
|
Bisection Extreme Finder. More...
Public Member Functions | |
BisectionExtremeFinder1D (const FloatMathFunction &func, bool max, int itermax, float tol, const Interval< float > &startinterval, const Interval< float > *limitinterval) | |
virtual | ~BisectionExtremeFinder1D () |
float | extremePos () const |
float | extremeVal () const |
int | nextStep () |
int | nrIter () const |
void | reStart (const Interval< float > &startinterval, const Interval< float > *limitinterval) |
Public Member Functions inherited from SequentialTask | |
SequentialTask (const char *nm=nullptr) | |
virtual | ~SequentialTask () |
virtual int | doStep () |
bool | execute () |
ProgressMeter * | progressMeter () |
const ProgressMeter * | progressMeter () const |
void | setProgressMeter (ProgressMeter *) |
Must be called before execute() More... | |
Public Member Functions inherited from Task | |
virtual | ~Task () |
virtual void | controlWork (Control) |
virtual void | enableWorkControl (bool=true) |
Must be called before execute() More... | |
virtual uiRetVal | errorWithDetails () const |
virtual Control | getState () const |
virtual int64_t | nrDone () const |
virtual int64_t | totalNr () const |
virtual uiString | uiMessage () const |
will be message() again in 7.x More... | |
virtual uiString | uiNrDoneText () const |
will be nrDoneText() in 7.x More... | |
bool | workControlEnabled () const |
Public Member Functions inherited from NamedCallBacker | |
NamedCallBacker (const char *nm=0) | |
NamedCallBacker (const NamedCallBacker &) | |
virtual Notifier< NamedCallBacker > & | objectToBeDeleted () const |
bool | operator== (const NamedCallBacker &oth) const |
bool | operator== (const NamedObject &oth) const |
Public Member Functions inherited from CallBacker | |
CallBacker () | |
CallBacker (const CallBacker &) | |
virtual | ~CallBacker () |
bool | attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const |
bool | attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const |
void | detachAllNotifiers () const |
Call from the destructor of your inherited object. More... | |
void | detachCB (const NotifierAccess &, const CallBack &) const |
void | detachCB (const NotifierAccess *notif, const CallBack &cb) const |
virtual bool | isCapsule () const |
bool | isNotifierAttached (const NotifierAccess *) const |
Only for debugging purposes, don't use. More... | |
void | stopReceivingNotifications () const |
Public Member Functions inherited from NamedObject | |
NamedObject (const char *nm=nullptr) | |
NamedObject (const NamedObject &oth) | |
virtual | ~NamedObject () |
virtual BufferString | getName () const |
bool | getNameFromPar (const IOPar &) |
virtual const name_type & | name () const |
NamedObject & | operator= (const NamedObject &) |
bool | operator== (const NamedObject &oth) const |
virtual void | setName (const char *nm) |
Public Member Functions inherited from ObjectWithName | |
virtual | ~ObjectWithName () |
bool | hasName (const char *nm) const |
bool | hasName (const name_type &nm) const |
void | putNameInPar (IOPar &) const |
Protected Attributes | |
float | centerfuncval |
Interval< float > | current |
const FloatMathFunction & | func |
bool | isok |
int | iter |
const int | itermax |
Interval< float > * | limits_ |
const bool | max |
float | startfuncval |
float | stopfuncval |
const float | tol |
Protected Attributes inherited from SequentialTask | |
int | lastupdate_ |
ProgressMeter * | progressmeter_ |
Protected Attributes inherited from Task | |
Control | control_ |
Threads::ConditionVar * | workcontrolcondvar_ |
Protected Attributes inherited from NamedCallBacker | |
Threads::Atomic< bool > | delalreadytriggered_ |
Notifier< NamedCallBacker > | delnotif_ |
Protected Attributes inherited from NamedObject | |
BufferString | name_ |
Additional Inherited Members | |
Public Types inherited from Task | |
enum | Control { Run , Pause , Stop } |
Public Types inherited from ObjectWithName | |
typedef OD::String | name_type |
Static Public Member Functions inherited from SequentialTask | |
static int | ErrorOccurred () |
static int | Finished () |
static int | MoreToDo () |
static int | WarningAvailable () |
Static Public Member Functions inherited from Task | |
static uiString | stdNrDoneText () |
static uiString | uiStdNrDoneText () |
Static Public Member Functions inherited from CallBacker | |
static void | createReceiverForCurrentThread () |
static void | removeReceiverForCurrentThread () |
Protected Member Functions inherited from Task | |
Task (const char *nm=nullptr) | |
virtual bool | shouldContinue () |
Protected Member Functions inherited from NamedCallBacker | |
void | sendDelNotif () const |
Bisection Extreme Finder.
<>
BisectionExtremeFinder1D::BisectionExtremeFinder1D | ( | const FloatMathFunction & | func, |
bool | max, | ||
int | itermax, | ||
float | tol, | ||
const Interval< float > & | startinterval, | ||
const Interval< float > * | limitinterval | ||
) |
func | The function, f(x) where the extreme value shoud be found |
max | Specifies wether a min or max value should be found |
itermax | Maximum number of iterations |
tol | Tolerance on the function variable (x) |
startinterval | The interval of x that the search will be inited by. Note that the search can go outside of this interval. |
limitinterval | Set to true if only solutions within the interval is permitted |
|
virtual |
float BisectionExtremeFinder1D::extremePos | ( | ) | const |
float BisectionExtremeFinder1D::extremeVal | ( | ) | const |
|
virtual |
Will move the current extremePos one step towards the solution.
0 | Finished |
1 | More to do |
-1 | Error (no extreme found or itermax reached The extreme value) |
Implements SequentialTask.
int BisectionExtremeFinder1D::nrIter | ( | ) | const |
void BisectionExtremeFinder1D::reStart | ( | const Interval< float > & | startinterval, |
const Interval< float > * | limitinterval | ||
) |
startinterval | The interval of x that the search will be inited by. Note that the search can go outside of this interval. |
limitinterval | Set to true if only solutions within the interval is permitted |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022