![]() |
GemaCoreLib
The GeMA Core library
|
A base structure for storing layout data for sparse matrices (fill structure or non zero positions). The matrix data itself is not stored, allowing for the layout to be shared among several matrices if needed. More...
#include <gmSparseMatrixLayout.h>


Public Member Functions | |
| GmSparseMatrixLayout (GmSparseMatrixLayoutTypes type) | |
| Constructor. | |
| virtual | ~GmSparseMatrixLayout () |
| Virtual destructor. | |
| virtual bool | empty () const =0 |
| Returns true if the layout is empty. | |
| virtual void | clear ()=0 |
| Clears the layout releasing memory and making the matrix a zero matrix. | |
| virtual int | index (int row, int col) const =0 |
| Returns the index for the value in the given matrix row, col. Returns -1 if the value is not part of the sparse layout. | |
| virtual int | dindex (int n) const =0 |
| Returns the index for the value in the diagonal of the given matrix row (column). Returns -1 if the value is not part of the sparse layout. This call is semantically equivalent to calling index(n, n) but can be optimized depending on the sparse layout in use. | |
| virtual void | printStatistics (const GmLogCategory &logger) const =0 |
| Print layout statistics to the given logger. | |
| void | emitLayoutCompleted () |
| Emits the layoutCompleted signal. | |
Public Member Functions inherited from QObject | |
| virtual const QMetaObject * | metaObject () const const |
| QObject (QObject *parent) | |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| QString | objectName () const const |
| void | setObjectName (const QString &name) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| bool | signalsBlocked () const const |
| bool | blockSignals (bool block) |
| QThread * | thread () const const |
| void | moveToThread (QThread *targetThread) |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| void | killTimer (int id) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| const QObjectList & | children () const const |
| void | setParent (QObject *parent) |
| void | installEventFilter (QObject *filterObj) |
| void | removeEventFilter (QObject *obj) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectTree () |
| void | dumpObjectInfo () |
| void | dumpObjectTree () const const |
| void | dumpObjectInfo () const const |
| bool | setProperty (const char *name, const QVariant &value) |
| QVariant | property (const char *name) const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| void | destroyed (QObject *obj) |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| bool | inherits (const char *className) const const |
| void | deleteLater () |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| T | qobject_cast (QObject *object) |
| T | qobject_cast (const QObject *object) |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| Q_CLASSINFO (Name, Value) | |
| Q_INTERFACES (...) | |
| Q_PROPERTY (...) | |
| Q_ENUMS (...) | |
| Q_FLAGS (...) | |
| Q_ENUM (...) | |
| Q_FLAG (...) | |
| Q_ENUM_NS (...) | |
| Q_FLAG_NS (...) | |
| Q_OBJECT Q_OBJECT | |
| Q_GADGET Q_GADGET | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SLOTS Q_SLOTS | |
| Q_SLOT Q_SLOT | |
| Q_EMIT Q_EMIT | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Public Attributes | |
| GmSparseMatrixLayoutTypes | _type |
| The stored sparse matrix type. | |
| bool | _shared |
| Is this layout shared? Mutable to enable matrices sharing a layout to specify so. | |
Additional Inherited Members | |
Public Types inherited from QObject | |
| typedef | QObjectList |
Static Public Member Functions inherited from QObject | |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Protected Member Functions inherited from QObject | |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| int | receivers (const char *signal) const const |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| virtual void | timerEvent (QTimerEvent *event) |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | customEvent (QEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
Properties inherited from QObject | |
| objectName | |
A base structure for storing layout data for sparse matrices (fill structure or non zero positions). The matrix data itself is not stored, allowing for the layout to be shared among several matrices if needed.
Even though this is a structure with public fields, if a solver matrix type allows layout sharing, it should store a constant pointer to a sparse matrix layout inhibiting structure changes.
In any way, changes to a sparse matrix layout, once created, are generally cost full and should not be taken lightly. Solver matrices should in general restrict element updates to existing layout entries (it can be useful to "reserve" places in the matrix, like its diagonal, to always exist in the structure even if its initial value is set to zero).
|
pure virtual |
Clears the layout releasing memory and making the matrix a zero matrix.
Implemented in GmCSxSparseMatrixLayout< IndexType, T >.
|
pure virtual |
Returns the index for the value in the diagonal of the given matrix row (column). Returns -1 if the value is not part of the sparse layout. This call is semantically equivalent to calling index(n, n) but can be optimized depending on the sparse layout in use.
Implemented in GmCSxSparseMatrixLayout< IndexType, T >.
|
pure virtual |
Returns true if the layout is empty.
Implemented in GmCSxSparseMatrixLayout< IndexType, T >.
|
pure virtual |
Returns the index for the value in the given matrix row, col. Returns -1 if the value is not part of the sparse layout.
Implemented in GmCSxSparseMatrixLayout< IndexType, T >, GmCSxSparseMatrixLayout< IndexType, T >, GmCSxSparseMatrixLayout< IndexType, T >, GmCSxSparseMatrixLayout< IndexType, T >, and GmCSxSparseMatrixLayout< IndexType, T >.
|
pure virtual |
Print layout statistics to the given logger.
Implemented in GmCSxSparseMatrixLayout< IndexType, T >.