bkochuna / ners570f23-SpMV

1 stars 0 forks source link

Add an ELL matrix class #19

Open KyleVaughn opened 11 months ago

KyleVaughn commented 11 months ago

Description:

This library should provide interface to return and define a matrix in ELL format. It should implement the ELL library according to the UML diagram(child of SparseMatrix parent class)

Tasks:

1) Make a default constructor as follow:

namespace SpMV
{
    template <class fp_type>
    SparseMatrix_ELL<fp_type>::SparseMatrix_ELL(const int nrows, const int ncols) :
         SparseMatrix<fp_type>::SparseMatrix(nrows, ncols)

    template class SparseMatrix_ELL<float>;
    template class SparseMatrix_ELL<double>;
}

2) Define the attributes specific to the ELL class(colIdx and value) in the constructor. 3) The constructor should take each element of colIdx and value to assemble the class

Definition of done:

Must include a default constructor and a constructor which takes one argument per member variable and directly assembles the class.

KyleVaughn commented 11 months ago

Review by @carltonjames

jacob-umich commented 11 months ago

@prathameshnakhate Have you already made a branch for this code? If not, I made a branch called "ell" if you want to add this to it. If you have, please upload it and I can merge it. Thanks.

carltonjames commented 11 months ago

@prathameshnakhate This looks good. I think the description could be more specific as to what methods we should include. But, I understand as it is slightly unclear how exactly we want to implement it.

prathameshnakhate commented 11 months ago

@prathameshnakhate Have you already made a branch for this code? If not, I made a branch called "ell" if you want to add this to it. If you have, please upload it and I can merge it. Thanks.

@jacob-umich I have added my code for building an ell matrix class to the ell branch. It has the constructor and setCoefficient() method to build colIdx and val.