OpendTect  6.6
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ArrayMath::CumArrOperExec< RT, AT > Class Template Reference

Parallel task for computing the sum of element wise operations of one array and optionally a second input array. Should not be used directly, instead call getSum(const ArrayND) More...

Inheritance diagram for ArrayMath::CumArrOperExec< RT, AT >:
[legend]

Public Member Functions

 CumArrOperExec (const ArrayND< AT > &xvals, bool noudf, const ArrayOperExecSetup &setup)
 
RT getSum () const
 
void setScaler (double scaler, bool forx)
 
void setYVals (const ArrayND< AT > &yvals)
 
uiString uiMessage () const
 will be message() again in 7.x More...
 
uiString uiNrDoneText () const
 will be nrDoneText() in 7.x More...
 
- Public Member Functions inherited from ParallelTask
virtual ~ParallelTask ()
 
bool execute ()
 
virtual bool executeParallel (bool parallel)
 
int64_t nrDone () const
 May be -1, i.e. class does not report nrdone. More...
 
void setProgressMeter (ProgressMeter *)
 Must be called before execute() More...
 
int64_t totalNr () const
 
- 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
 
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_typename () const
 
NamedObjectoperator= (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 Member Functions

od_int64 nrIterations () const
 
- Protected Member Functions inherited from ParallelTask
 ParallelTask (const char *nm=0)
 
 ParallelTask (const ParallelTask &)
 
void addToNrDone (int64_t increment)
 
int64_t calculateThreadSize (int64_t totalnr, int nrthreads, int thread) const
 
virtual int maxNrThreads () const
 
virtual int minThreadSize () const
 
void quickAddToNrDone (int64_t loopidx)
 
void resetNrDone ()
 
virtual bool stopAllOnFailure () const
 
- Protected Member Functions inherited from Task
 Task (const char *nm=nullptr)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 

Private Member Functions

bool doFinish (bool success)
 
bool doPrepare (int nrthreads)
 
bool doWork (od_int64, od_int64, int)
 
bool doWork (od_int64, od_int64, int)
 

Private Attributes

RT cumsum_
 
bool noudf_
 
const ArrayOperExecSetupsetup_
 
TypeSet< RT > sumvals_
 
od_uint64 sz_
 
const ArrayND< AT > & xarr_
 
double xfact_
 
const ArrayND< AT > * yarr_
 
double yfact_
 

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 ParallelTask
static uiString sPosFinished ()
 
static uiString sTrcFinished ()
 
- 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 Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Detailed Description

template<class RT, class AT>
class ArrayMath::CumArrOperExec< RT, AT >

Parallel task for computing the sum of element wise operations of one array and optionally a second input array. Should not be used directly, instead call getSum(const ArrayND)

Constructor & Destructor Documentation

◆ CumArrOperExec()

template<class RT , class AT >
ArrayMath::CumArrOperExec< RT, AT >::CumArrOperExec ( const ArrayND< AT > &  xvals,
bool  noudf,
const ArrayOperExecSetup setup 
)
inline

Member Function Documentation

◆ doFinish()

template<class RT , class AT >
bool ArrayMath::CumArrOperExec< RT, AT >::doFinish ( bool  success)
inlineprivatevirtual

Called after all doWork have finished.

Parameters
successindicates whether all doWork returned true.

Reimplemented from ParallelTask.

◆ doPrepare()

template<class RT , class AT >
bool ArrayMath::CumArrOperExec< RT, AT >::doPrepare ( int  nrthreads)
inlineprivatevirtual

Called once, before any doWork is called.

Reimplemented from ParallelTask.

◆ doWork() [1/2]

template<class RT , class AT >
bool ArrayMath::CumArrOperExec< RT, AT >::doWork ( od_int64  start,
od_int64  stop,
int  threadidx 
)
inlineprivate

◆ doWork() [2/2]

bool ArrayMath::CumArrOperExec< double, float_complex >::doWork ( od_int64  ,
od_int64  ,
int   
)
inlineprivate

◆ getSum()

template<class RT , class AT >
RT ArrayMath::CumArrOperExec< RT, AT >::getSum ( ) const
inline

◆ nrIterations()

template<class RT , class AT >
od_int64 ArrayMath::CumArrOperExec< RT, AT >::nrIterations ( ) const
inlineprotectedvirtual
Returns
the number of times the process should be run.

Implements ParallelTask.

◆ setScaler()

template<class RT , class AT >
void ArrayMath::CumArrOperExec< RT, AT >::setScaler ( double  scaler,
bool  forx 
)
inline

◆ setYVals()

template<class RT , class AT >
void ArrayMath::CumArrOperExec< RT, AT >::setYVals ( const ArrayND< AT > &  yvals)
inline

◆ uiMessage()

template<class RT , class AT >
uiString ArrayMath::CumArrOperExec< RT, AT >::uiMessage ( ) const
inlinevirtual

will be message() again in 7.x

Reimplemented from Task.

◆ uiNrDoneText()

template<class RT , class AT >
uiString ArrayMath::CumArrOperExec< RT, AT >::uiNrDoneText ( ) const
inlinevirtual

will be nrDoneText() in 7.x

Reimplemented from Task.

Member Data Documentation

◆ cumsum_

template<class RT , class AT >
RT ArrayMath::CumArrOperExec< RT, AT >::cumsum_
private

◆ noudf_

template<class RT , class AT >
bool ArrayMath::CumArrOperExec< RT, AT >::noudf_
private

◆ setup_

template<class RT , class AT >
const ArrayOperExecSetup& ArrayMath::CumArrOperExec< RT, AT >::setup_
private

◆ sumvals_

template<class RT , class AT >
TypeSet<RT> ArrayMath::CumArrOperExec< RT, AT >::sumvals_
private

◆ sz_

template<class RT , class AT >
od_uint64 ArrayMath::CumArrOperExec< RT, AT >::sz_
private

◆ xarr_

template<class RT , class AT >
const ArrayND<AT>& ArrayMath::CumArrOperExec< RT, AT >::xarr_
private

◆ xfact_

template<class RT , class AT >
double ArrayMath::CumArrOperExec< RT, AT >::xfact_
private

◆ yarr_

template<class RT , class AT >
const ArrayND<AT>* ArrayMath::CumArrOperExec< RT, AT >::yarr_
private

◆ yfact_

template<class RT , class AT >
double ArrayMath::CumArrOperExec< RT, AT >::yfact_
private

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022