MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::SCElementInvert Class Reference
Inheritance diagram for sc::SCElementInvert:
sc::SCElementOp sc::SavableState sc::DescribedClass sc::RefCount

Public Member Functions

 SCElementInvert (double threshold=0.0)
 
 SCElementInvert (StateIn &)
 
int has_side_effects ()
 By default this returns nonzero.
 
void save_data_state (StateOut &)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
 
void process (SCMatrixBlockIter &)
 This is the fallback routine to process blocks and is called by process_spec members that are not overridden.
 
int has_collect ()
 If duplicates of the SCElementOp exist (that is, there is more than one node), then if has_collect returns nonzero then collect is called with a MessageGrp reference after all of the blocks have been processed.
 
void defer_collect (int)
 
void collect (const Ref< MessageGrp > &)
 
void collect (const Ref< SCElementOp > &)
 Multithreaded use of cloneable SCElementOp objects requires that data from cloned objects be collected.
 
int result ()
 
- Public Member Functions inherited from sc::SCElementOp
 SCElementOp (StateIn &s)
 
virtual bool threadsafe () const
 Returns true if this SCElementOp is threadsafe.
 
virtual bool cloneable () const
 Returns true if this SCElementOp supports the clone() member.
 
virtual Ref< SCElementOpclone ()
 Returns a clone of this object.
 
void process_base (SCMatrixBlock *block)
 Lazy matrix implementors can call this member when the type of block specialization is unknown.
 
virtual void process_spec_rect (SCMatrixRectBlock *)
 Matrices should call these members when the type of block is known.
 
virtual void process_spec_ltri (SCMatrixLTriBlock *)
 
virtual void process_spec_diag (SCMatrixDiagBlock *)
 
virtual void process_spec_vsimp (SCVectorSimpleBlock *)
 
virtual void process_spec_rectsub (SCMatrixRectSubBlock *)
 
virtual void process_spec_ltrisub (SCMatrixLTriSubBlock *)
 
virtual void process_spec_diagsub (SCMatrixDiagSubBlock *)
 
virtual void process_spec_vsimpsub (SCVectorSimpleSubBlock *)
 
- Public Member Functions inherited from sc::SavableState
SavableStateoperator= (const SavableState &)
 
void save_state (StateOut &)
 Save the state of the object as specified by the StateOut object.
 
void save_object_state (StateOut &)
 This can be used for saving state when the exact type of the object is known for both the save and the restore.
 
virtual void save_vbase_state (StateOut &)
 Save the virtual bases for the object.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
virtual void print (std::ostream &=ExEnv::out0()) const
 Print the object.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer.
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types.
 
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 Return 1 if the object is managed. Otherwise return 0.
 

Additional Inherited Members

- Static Public Member Functions inherited from sc::SavableState
static void save_state (SavableState *s, StateOut &)
 
static SavableStaterestore_state (StateIn &si)
 Restores objects saved with save_state.
 
static SavableStatekey_restore_state (StateIn &si, const char *keyword)
 Like restore_state, but keyword is used to override values while restoring.
 
static SavableStatedir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
 
- Protected Member Functions inherited from sc::SavableState
 SavableState (const SavableState &)
 
 SavableState (StateIn &)
 Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above.
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Member Function Documentation

◆ collect() [1/2]

void sc::SCElementInvert::collect ( const Ref< MessageGrp > & )
virtual

Reimplemented from sc::SCElementOp.

◆ collect() [2/2]

void sc::SCElementInvert::collect ( const Ref< SCElementOp > & )
virtual

Multithreaded use of cloneable SCElementOp objects requires that data from cloned objects be collected.

The default implementation will throw an exception.

Reimplemented from sc::SCElementOp.

◆ defer_collect()

void sc::SCElementInvert::defer_collect ( int )
virtual

Reimplemented from sc::SCElementOp.

◆ has_collect()

int sc::SCElementInvert::has_collect ( )
virtual

If duplicates of the SCElementOp exist (that is, there is more than one node), then if has_collect returns nonzero then collect is called with a MessageGrp reference after all of the blocks have been processed.

The default return value of has_collect is 0 and collect's default action is do nothing. If defer_collect member is called with nonzero, collect will do nothing (this is only used by the blocked matrices).

Reimplemented from sc::SCElementOp.

◆ has_side_effects()

int sc::SCElementInvert::has_side_effects ( )
virtual

By default this returns nonzero.

If the ElementOp specialization will change any elements of the matrix, then this must be overridden to return nonzero.

Reimplemented from sc::SCElementOp.

◆ process()

void sc::SCElementInvert::process ( SCMatrixBlockIter & )
virtual

This is the fallback routine to process blocks and is called by process_spec members that are not overridden.

Implements sc::SCElementOp.

◆ save_data_state()

void sc::SCElementInvert::save_data_state ( StateOut & )
virtual

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::SavableState.


The documentation for this class was generated from the following file:

Generated at Wed Sep 25 2024 02:45:35 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.