OpendTect
7.0
|
Finds extreme values in FloatMathFunctions. More...
Public Member Functions | |
ExtremeFinder1D (const FloatMathFunction &func, bool max, int itermax, float tol, const Interval< float > &startinterval, const Interval< float > *limitinterval) | |
virtual | ~ExtremeFinder1D () |
float | extremePos () const |
float | extremeVal () const |
int | nextStep () override |
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 () override |
Public Member Functions inherited from ReportingTask | |
virtual | ~ReportingTask () |
void | getProgress (const ReportingTask &) |
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 std::int64_t | nrDone () const |
virtual std::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 |
virtual CallBacker * | trueCaller () |
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 &) |
const name_type & | name () const override |
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 | a_ |
float | ax_ |
float | b_ |
float | bx_ |
float | cx_ |
float | d_ |
float | e_ |
const FloatMathFunction & | func_ |
float | fv_ |
float | fw_ |
float | fx_ |
int | iter_ |
const int | itermax_ |
Interval< float > * | limits_ |
const bool | max_ |
const float | tol_ |
float | u_ |
float | v_ |
float | w_ |
float | x_ |
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 () |
Public Attributes inherited from ReportingTask | |
Notifier< ReportingTask > | progressUpdated |
Protected Member Functions inherited from ReportingTask | |
ReportingTask (const char *nm=nullptr) | |
void | incrementProgress () |
ProgressMeter * | progressMeter () const |
void | reportProgressFinished () |
void | reportProgressStarted () |
void | resetProgress () |
void | setProgressMeter (ProgressMeter *) override |
Must be called before execute() More... | |
void | updateProgressMeter (bool forced=false, std::int64_t *totalnr=0) |
void | updateReportedName () |
Protected Member Functions inherited from Task | |
Task (const char *nm=nullptr) | |
virtual bool | shouldContinue () |
Protected Member Functions inherited from NamedCallBacker | |
void | sendDelNotif () const |
Finds extreme values in FloatMathFunctions.
Implementation of Brent's Method in one dimension.
<>
ExtremeFinder1D::ExtremeFinder1D | ( | 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 ExtremeFinder1D::extremePos | ( | ) | const |
float ExtremeFinder1D::extremeVal | ( | ) | const |
|
overridevirtual |
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 ExtremeFinder1D::nrIter | ( | ) | const |
void ExtremeFinder1D::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 |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024