42 #ifndef ALAP_MATRIX_LOAD_SPARSE_ELEMENTS_H
43 #define ALAP_MATRIX_LOAD_SPARSE_ELEMENTS_H
47 namespace AbstractLinAlgPack {
194 #endif // ALAP_MATRIX_LOAD_SPARSE_ELEMENTS_H
Base class for all polymorphic matrices.
RTOp_index_type index_type
Mix-in interface for loading nonzero elements into a sparse matrix data structure.
virtual void finish_construction(bool test_setup)=0
To be called when the matrix construction is finally finished after all of the nonzero entries have b...
RTOp_value_type value_type
virtual void reset_to_load_values()=0
Reinitialize internal counter to load new nonzero values.
virtual void commit_load_nonzeros_buffers(size_type nz_commit, value_type **val, index_type **row_i, index_type **col_j)=0
Commit nonzeros in buffers obtained from get_load_nonzeros_buffers().
Entries assumed have unique row and column indexes (client must enforce this!)
virtual size_type cols() const
Return the number of columns in the matrix.
RTOp_index_type size_type
virtual void get_load_nonzeros_buffers(size_type max_nz_load, value_type **val, index_type **row_i, index_type **col_j)=0
Get pointers to buffers to add nonzero elements.
Entries allowed with duplicate row and column indexes with the understanding that the values are summ...
virtual size_type rows() const
Return the number of rows in the matrix.
virtual void reinitialize(size_type rows, size_type cols, size_type max_nz, EAssumeElementUniqueness element_uniqueness=ELEMENTS_ASSUME_DUPLICATES_SUM)=0
Resize the matrix and reserve space for nonzero elements to be added.