|
HLIBpro
2.7
|
Handles updates for a single matrix block by accumulating direct updates and recursive (pending) updates.
#include <TUpdateAccumulator.hh>
Public Member Functions | |
| ~TUpdateAccumulator () | |
| dtor | |
| void | init (const TMatrix *M) |
| initialise matrix for accumulated updates | |
| void | apply_direct (const TTruncAcc &acc, const TMatrix *dest=nullptr) |
| bool | has_updates () const |
| return true if accumulator holds any updates | |
| auto | accumulated_updates () -> TMatrix * |
| access accumulated updates | |
| auto | pending_direct () -> direct_updates_t & |
| access set of direct pending updates | |
| auto | pending_recursive () -> recursive_updates_t & |
| access set of recursive pending updates | |
| void | add_update (const TMatrix *M, const TTruncAcc &acc, const TMatrix *dest=nullptr) |
| add update matrix | |
| void | add_parent_update (const TMatrix *M, const TTruncAcc &acc) |
| add update from parent matrix | |
| void | add_pending_direct (TDirectMatrixUpdate *U) |
| add update U to set of recursive pending updates | |
| void | add_pending_recursive (TRecursiveMatrixUpdate *U) |
| add update U to set of recursive pending updates | |
| void | clear_accumulated () |
| remove matrix with accumulated updates | |
| void | clear_pending () |
| remove list of pending updates | |
| void | clear_updates () |
| clear all updates | |
Public Member Functions inherited from TLockable | |
| TMutex & | mutex () |
| give access to internal mutex | |
| void | lock () |
| lock local mutex | |
| void | unlock () |
| unlock local mutex | |
| size_t | byte_size () const |
| return size in bytes used by this object | |