diff --git a/spm.c b/spm.c index 9a121ceef8f6de3d505ab3522d5d54d5373cf312..d4a066f4d3986d0f001dc8e20b93f57cf407838d 100644 --- a/spm.c +++ b/spm.c @@ -6,7 +6,7 @@ * PaStiX is a software package provided by Inria Bordeaux - Sud-Ouest, * LaBRI, University of Bordeaux 1 and IPB. * - * @version 5.1.0 + * @version 6.0.0 * @author Xavier Lacoste * @author Pierre Ramet * @author Mathieu Faverge @@ -76,11 +76,11 @@ static int (*conversionTable[3][3][6])(pastix_spm_t*) = { * * @ingroup pastix_spm * - * @brief Init the spm structure given as parameter + * @brief Init the spm structure. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * The sparse matrix to init. * *******************************************************************************/ @@ -116,19 +116,19 @@ spmInit( pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Update all the computed fields based on the static values stored + * @brief Update all the computed fields based on the static values stored. * ******************************************************************************* * - * @param[in,out] spm - * The sparse matrix to init. + * @param[inout] spm + * The sparse matrix to update. * *******************************************************************************/ void spmUpdateComputedFields( pastix_spm_t *spm ) { - /** + /* * Compute the local expended field for multi-dofs */ if ( spm->dof > 0 ) { @@ -192,11 +192,11 @@ spmUpdateComputedFields( pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Free the spm structure + * @brief Free the spm structure. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * The sparse matrix to free. * *******************************************************************************/ @@ -220,14 +220,13 @@ spmExit( pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Rebase the spm + * @brief Rebase the arrays of the spm to the given value. * - * Rebase the arrays of the spm to the given value. If the value is equal to the - * original base, then nothing is performed. + * If the value is equal to the original base, then nothing is performed. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * The sparse matrix to rebase. * * @param[in] baseval @@ -356,24 +355,23 @@ spmFindBase( const pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Convert the storage format of the spm to ofmttype. + * @brief Convert the storage format of the spm. * - * Convert the storage format of the given sparse matrix from any of the - * following format: PastixCSC, PastixCSR, or PastixIJV to one of these. - * - ******************************************************************************* + ******************************************************************************* * * @param[in] ofmttype - * The output format of the sparse matrix. It might be PastixCSC, - * PastixCSR, or PastixIJV. + * The output format of the sparse matrix. It must be: + * - PastixCSC + * - PastixCSR + * - PastixIJV * - * @param[in,out] spm + * @param[inout] spm * The sparse matrix structure to convert. * ******************************************************************************** * * @return - * \retval PASTIX_SUCCESS if the conversion happened successfuly + * \retval PASTIX_SUCCESS if the conversion happened successfully. * \retval PASTIX_ERR_BADPARAMETER if one the parameter is incorrect. * *******************************************************************************/ @@ -397,12 +395,13 @@ spmConvert( int ofmttype, pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Convert the spm matrix into a dense matrix for test purpose. DO NOT - * USE with large matrices. + * @brief Convert the spm matrix into a dense matrix for test purpose. + * + * DO NOT USE with large matrices. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * The sparse matrix structure to convert. * ******************************************************************************** @@ -455,23 +454,20 @@ spm2Dense( const pastix_spm_t *spm ) ******************************************************************************* * * @param[in] ntype - * = PastixMaxNorm: Max norm - * = PastixOneNorm: One norm - * = PastixInfNorm: Infinity norm - * = PastixFrobeniusNorm: Frobenius norm + * - PastixMaxNorm + * - PastixOneNorm + * - PastixInfNorm + * - PastixFrobeniusNorm * * @param[in] spm * The sparse matrix structure. * ******************************************************************************** * - * @return - * \retval norm The norm described above. Note that for simplicity, even if - * the norm of single real or single complex matrix is computed with - * single precision, the returned norm is stored in double precision - * number. - * \retval -1 If the floating point of the sparse matrix is - * undefined. + * @retval norm The norm described above. Note that for simplicity, even if + * the norm of single real or single complex matrix is computed with + * single precision, the returned norm is stored in double precision. + * @retval -1 If the floating point of the sparse matrix is undefined. * *******************************************************************************/ double @@ -519,26 +515,23 @@ spmNorm( int ntype, * * @ingroup pastix_spm * - * @brief Sort the subarray of edges of each vertex in a CSC or CSR spm + * @brief Sort the subarray of edges of each vertex in a CSC or CSR format. * - * This routine sorts the subarray of edges of each vertex in a - * centralized spm stored in CSC or CSR format. Nothing is performed if IJV - * format is used. + * Nothing is performed if IJV format is used. * * WARNING: This function should NOT be called if dof is greater than 1. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * On entry, the pointer to the sparse matrix structure. * On exit, the same sparse matrix with subarrays of edges sorted by * ascending order. * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the sort was called - * \retval PASTIX_ERR_BADPARAMETER, if the given spm was incorrect. + * @retval PASTIX_SUCCESS if the sort was called + * @retval PASTIX_ERR_BADPARAMETER if the given spm was incorrect. * *******************************************************************************/ int @@ -575,26 +568,23 @@ spmSort( pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Merge mulitple entries in a spm by summing them. + * @brief Merge multiple entries in a spm by summing their values together. * - * This routine merge the multiple entries in a sparse - * matrix by suming their values together. The sparse matrix needs to be sorted - * first (see spmSort()). + * The sparse matrix needs to be sorted first (see spmSort()). * * WARNING: Not implemented for CSR and IJV format. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * On entry, the pointer to the sparse matrix structure. * On exit, the reduced sparse matrix of multiple entries were present * in it. The multiple values for a same vertex are sum up together. * ******************************************************************************** * - * @return - * \retval If >=0, the number of vertices that were merged - * \retval PASTIX_ERR_BADPARAMETER, if the given spm was incorrect. + * @retval >=0 the number of vertices that were merged, + * @retval PASTIX_ERR_BADPARAMETER if the given spm was incorrect. * *******************************************************************************/ pastix_int_t @@ -630,26 +620,23 @@ spmMergeDuplicate( pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Symmetrize the pattern of the spm - * - * Symmetrize the pattern of the input spm by edges when A(i,j) exists, but - * A(j,i) does not. When values are associated to the edge, zeroes are added to - * the values array. + * @brief Symmetrize the pattern of the spm. * - * WARNING: Not implemented for CSR and IJV format. + * This routine corrects the sparse matrix structure if it's pattern is not + * symmetric. It returns the new symmetric pattern with zeroes on the new + * entries. * ******************************************************************************* * - * @param[in,out] spm + * @param[inout] spm * On entry, the pointer to the sparse matrix structure. - * On exit, the reduced sparse matrix of multiple entries were present - * in it. The multiple values for a same vertex are sum up together. + * On exit, the same sparse matrix with extra entries that makes it + * pattern symmetric. * ******************************************************************************** * - * @return - * \retval If >=0, the number of vertices that were merged - * \retval PASTIX_ERR_BADPARAMETER, if the given spm was incorrect. + * @retval >=0 the number of entries added to the matrix, + * @retval PASTIX_ERR_BADPARAMETER if the given spm was incorrect. * *******************************************************************************/ pastix_int_t @@ -690,28 +677,21 @@ spmSymmetrize( pastix_spm_t *spm ) * This routine initializes the sparse matrix to fit the PaStiX requirements. If * needed, the format is changed to CSC, the duplicated vertices are merged * together by summing their values; the graph is made symmetric for matrices - * with unsymmetric pattern, new values are set to 0.; Only the lower part is - * kept for the symmetric matrices. + * with unsymmetric pattern, new values are set to 0. Only the lower part is + * kept for symmetric matrices. * - * On exit, if no changes have been made, the initial sparse matrix is returned, - * otherwise a copy of the sparse matrix structured fixed to meet the PaStiX - * requirements is returned. + ******************************************************************************* * - ******************************************************************************* - * - * @param[in,out] spm + * @param[inout] spm * The pointer to the sparse matrix structure to check, and correct. * On exit, the subarrays related to each column might have been sorted * by ascending order. * ******************************************************************************* * - * @return - * \retval If no modifications were made to the initial matrix - * structure, the one given as parameter is returned - * \retval Otherwise, the news sparse matrix structure is returned. It - * must be destroyed with spmExit() and a free of the returned - * pointer. + * @return if no changes have been made, the initial sparse matrix is returned, + * otherwise a copy of the sparse matrix, fixed to meet the PaStiX requirements, + * is returned. * *******************************************************************************/ pastix_spm_t * @@ -740,7 +720,7 @@ spmCheckAndCorrect( pastix_spm_t *spm ) fprintf(stderr, "spmCheckAndCorrect: %ld entries have been merged\n", (long)count ); } - /** + /* * If the matrix is symmetric or hermitian, we keep only the upper or lower * part, otherwise, we symmetrize the graph to get A+A^t, new values are set * to 0. @@ -755,7 +735,7 @@ spmCheckAndCorrect( pastix_spm_t *spm ) //spmToLower( newspm ); } - /** + /* * Check if we return the new one, or the original one because no changes * have been made */ @@ -776,7 +756,7 @@ spmCheckAndCorrect( pastix_spm_t *spm ) * * @ingroup pastix_spm * - * @brief Create a copy of the spm + * @brief Create a copy of the spm. * * Duplicate the spm data structure given as parameter. All new arrays are * allocated and copied from the original matrix. Both matrices need to be @@ -856,10 +836,10 @@ spmCopy( const pastix_spm_t *spm ) ******************************************************************************* * * @param[in] f - * File to print the spm matrix + * File to print the spm matrix. * * @param[in] spm - * The sparse matrix to copy. + * The sparse matrix to print. * *******************************************************************************/ void @@ -890,7 +870,7 @@ spmPrint(FILE *f, const pastix_spm_t* spm) * * @ingroup pastix_spm * - * @brief Expand a multi-dof spm matrix into an spm with constant dof to 1. + * @brief Expand a multi-dof spm matrix into an spm with constant dof set to 1. * * Duplicate the spm data structure given as parameter. All new arrays are * allocated and copied from the original matrix. Both matrices need to be @@ -935,9 +915,7 @@ spmExpand(const pastix_spm_t* spm) * * @ingroup pastix_spm * - * @brief Compute a matrix-vector product - * - * Compute the matrix vector product: + * @brief Compute a matrix-vector product. * * y = alpha * op(A) * x + beta * y, where op(A) is one of * @@ -948,11 +926,10 @@ spmExpand(const pastix_spm_t* spm) ******************************************************************************* * * @param[in] trans - * Specifies whether the matrix spm is transposed, not transposed or - * conjugate transposed: - * = PastixNoTrans: A is not transposed; - * = PastixTrans: A is transposed; - * = PastixConjTrans: A is conjugate transposed. + * Specifies whether the matrix spm is transposed, not transposed or conjugate transposed: + * - PastixTrans + * - PastixNoTrans + * - PastixConjTrans * * @param[in] alpha * alpha specifies the scalar alpha. @@ -966,14 +943,13 @@ spmExpand(const pastix_spm_t* spm) * @param[in] beta * beta specifies the scalar beta. * - * @param[in,out] y + * @param[inout] y * The vector y. * ******************************************************************************* * - * @return - * \retval PASTIX_SUCCESS if the y vector has been computed succesfully, - * \retval PASTIX_ERR_BADPARAMETER otherwise. + * @retval PASTIX_SUCCESS if the y vector has been computed successfully, + * @retval PASTIX_ERR_BADPARAMETER otherwise. * *******************************************************************************/ int @@ -1021,11 +997,9 @@ spmMatVec(const pastix_trans_t trans, * * @ingroup pastix_spm * - * @brief Generate right hand sides. + * @brief Generate right hand side vectors associated to a given matrix. * - * Generate nrhs right hand side vectors associated to a given matrix to test a - * problem with a solver. The vectors can be initialized randomly, or to get a - * specific solution. + * The vectors can be initialized randomly or to get a specific solution. * ******************************************************************************* * @@ -1052,7 +1026,7 @@ spmMatVec(const pastix_trans_t trans, * Defines the leading dimension of x when multiple right hand sides * are available. ldx >= spm->n. * - * @param[in,out] b + * @param[inout] b * b must be an allocated matrix of size at least ldb * nrhs. * On exit, b is initialized as defined by the type parameter. * @@ -1062,9 +1036,8 @@ spmMatVec(const pastix_trans_t trans, * ******************************************************************************* * - * @return - * \retval PASTIX_SUCCESS if the b vector has been computed succesfully, - * \retval PASTIX_ERR_BADPARAMETER otherwise. + * @retval PASTIX_SUCCESS if the b vector has been computed successfully, + * @retval PASTIX_ERR_BADPARAMETER otherwise. * *******************************************************************************/ int @@ -1094,9 +1067,7 @@ spmGenRHS( int type, int nrhs, * * @ingroup pastix_spm * - * @brief Check backward and forward errors - * - * Check the backward error, and the forward error if x0 is provided. + * @brief Check the backward error, and the forward error if x0 is provided. * ******************************************************************************* * @@ -1104,18 +1075,18 @@ spmGenRHS( int type, int nrhs, * Defines the number of right hand side that must be generated. * * @param[in] spm - * The sparse matrix uses to generate the right hand side, and the + * The sparse matrix used to generate the right hand side, and the * solution of the full problem. * - * @param[in,out] x0 + * @param[inout] x0 * If x0 != NULL, the forward error is computed. - * On exit, x0 stores (x0-x) + * On exit, x0 stores x0-x * * @param[in] ldx0 * Defines the leading dimension of x0 when multiple right hand sides * are available. ldx0 >= spm->n. * - * @param[in,out] b + * @param[inout] b * b is a matrix of size at least ldb * nrhs. * On exit, b stores Ax-b. * @@ -1132,9 +1103,8 @@ spmGenRHS( int type, int nrhs, * ******************************************************************************* * - * @return - * \retval PASTIX_SUCCESS if the b vector has been computed succesfully, - * \retval PASTIX_ERR_BADPARAMETER otherwise. + * @retval PASTIX_SUCCESS if the b vector has been computed successfully, + * @retval PASTIX_ERR_BADPARAMETER otherwise. * *******************************************************************************/ int @@ -1164,14 +1134,16 @@ spmCheckAxb( int nrhs, * * @ingroup pastix_spm * - * @brief Scal the spm: A = alpha * A + * @brief Scale the spm. + * + * A = alpha * A * ******************************************************************************* * * @param[in] alpha * The scaling parameter. * - * @param[in,out] spm + * @param[inout] spm * The sparse matrix to scal. * *******************************************************************************/ diff --git a/spm.h b/spm.h index b636c53458df70d735cd91f7a699ff179597a171..b9aec784311d8c883c0a5ab336c3c809149ed0a7 100644 --- a/spm.h +++ b/spm.h @@ -5,7 +5,7 @@ * PaStiX sparse matrix routines to handle different format of sparse matrices. * $COPYRIGHTS$ * - * @version 5.1.0 + * @version 6.0.0 * @author Xavier Lacoste * @author Pierre Ramet * @author Mathieu Faverge @@ -93,64 +93,85 @@ typedef struct pastix_spm_s { } pastix_spm_t; /** - * SPM subroutines + * @name SPM basic subroutines + * @{ */ void spmInit( pastix_spm_t *spm ); void spmExit( pastix_spm_t *spm ); pastix_spm_t *spmCopy( const pastix_spm_t *spm ); void spmBase( pastix_spm_t *spm, int baseval ); -void spmUpdateComputedFields( pastix_spm_t *spm ); -int spmConvert( int ofmttype, pastix_spm_t *ospm ); -void * spm2Dense( const pastix_spm_t *spm ); pastix_int_t spmFindBase( const pastix_spm_t *spm ); +int spmConvert( int ofmttype, pastix_spm_t *ospm ); +void spmUpdateComputedFields( pastix_spm_t *spm ); + +/** + * @} + * @name SPM BLAS subroutines + * @{ + */ double spmNorm( int ntype, const pastix_spm_t *spm ); int spmMatVec(const pastix_trans_t trans, const void *alpha, const pastix_spm_t *spm, const void *x, const void *beta, void *y ); void spmScal( const pastix_complex64_t alpha, pastix_spm_t* spm ); +/** + * @} + * @name SPM subroutines to check format + * @{ + */ int spmSort( pastix_spm_t *spm ); pastix_int_t spmMergeDuplicate( pastix_spm_t *spm ); pastix_int_t spmSymmetrize( pastix_spm_t *spm ); - pastix_spm_t *spmCheckAndCorrect( pastix_spm_t *spm ); /** - * SPM IO subroutines - */ -int spmLoad( pastix_spm_t *spm, FILE *infile ); -int spmSave( pastix_spm_t *spm, FILE *outfile ); - -/** - * SPM subroutines to check factorization/solve + * @} + * @name SPM subroutines to check factorization/solve + * @{ */ int spmGenRHS( int type, int nrhs, const pastix_spm_t *spm, void *x, int ldx, void *b, int ldb ); int spmCheckAxb( int nrhs, const pastix_spm_t *spm, void *x0, int ldx0, void *b, int ldb, const void *x, int ldx ); /** - * SPM print output + * @} + * @name SPM subroutines to manipulate integers arrays + * @{ */ -void spmPrint( FILE *f, const pastix_spm_t *spm ); +pastix_int_t *spmIntConvert( pastix_int_t n, int *input ); +void spmIntSort1Asc1(void * const pbase, const pastix_int_t n); +void spmIntSort2Asc1(void * const pbase, const pastix_int_t n); +void spmIntSort2Asc2(void * const pbase, const pastix_int_t n); /** - * SPM multi-dof subroutines + * @} + * @name SPM IO subroutines + * @{ */ -pastix_spm_t *spmExpand(const pastix_spm_t* spm); -pastix_spm_t *spmDofExtend( const int type, const int dof, const pastix_spm_t *spm ); +int spmLoad( pastix_spm_t *spm, FILE *infile ); +int spmSave( pastix_spm_t *spm, FILE *outfile ); /** - * SPM read driver access + * @} + * @name SPM driver + * @{ */ int spmReadDriver( pastix_driver_t driver, char *filename, pastix_spm_t *spm, MPI_Comm pastix_comm ); +/** + * @} + * @name SPM debug subroutines + * @{ + */ +void * spm2Dense( const pastix_spm_t *spm ); +void spmPrint( FILE *f, const pastix_spm_t *spm ); +pastix_spm_t *spmExpand(const pastix_spm_t* spm); +pastix_spm_t *spmDofExtend( const int type, const int dof, const pastix_spm_t *spm ); /** - * SPM subroutines to manipulate integers arrays + * @} */ -pastix_int_t *spmIntConvert( pastix_int_t n, int *input ); -void spmIntSort1Asc1(void * const pbase, const pastix_int_t n); -void spmIntSort2Asc1(void * const pbase, const pastix_int_t n); -void spmIntSort2Asc2(void * const pbase, const pastix_int_t n); + /** * @} */ diff --git a/spm_dofs.c b/spm_dofs.c index 4febd9ba181065b1760efdcfb813478f59fdfbdd..facbe5fc35d5d505e4c6c5f5b169d4fb181445c2 100644 --- a/spm_dofs.c +++ b/spm_dofs.c @@ -6,7 +6,7 @@ * PaStiX is a software package provided by Inria Bordeaux - Sud-Ouest, * LaBRI, University of Bordeaux 1 and IPB. * - * @version 5.1.0 + * @version 6.0.0 * @author Mathieu Faverge * @author Theophile Terraz * @author Alban Bellot @@ -27,21 +27,24 @@ * * @ingroup pastix_spm * - * @brief SPM multi-dof subroutines - * - * TODO + * @brief Generate a random multidof spm from a given spm (with dof=1). * ******************************************************************************* * - * @param[in] type TODO + * @param[in] type + * Defines how to generate dofs. + * - 0: Generate a constant dof vector, + * - else: Generate a variable dof vector. * - * @param[in] dof TODO + * @param[in] dof + * The maximum value for dofs. * - * @param[in] spm TODO + * @param[in] spm + * The sparse matrix used to generate the new multidof spm. * ******************************************************************************** * - * @return TODO + * @return the new multidof spm. * *******************************************************************************/ pastix_spm_t * @@ -62,7 +65,7 @@ spmDofExtend( const int type, newspm = spmCopy( spm ); - /** + /* * Generate constant dof */ if (type == 0) { @@ -78,7 +81,7 @@ spmDofExtend( const int type, newspm->dofs = malloc( (spm->n+1) * sizeof(pastix_int_t) ); dofptr = newspm->dofs; - /** + /* * Initialize the dofs array where the degree of freedom of vertex i is * dof[i+1] - dof[i] */ diff --git a/spm_integers.c b/spm_integers.c index 3486c60e01f0d9496980044dd0e6e91d9bf2a82a..2029da67154482f31152da0539b9381e9211c2ad 100644 --- a/spm_integers.c +++ b/spm_integers.c @@ -6,7 +6,7 @@ * PaStiX is a software package provided by Inria Bordeaux - Sud-Ouest, * LaBRI, University of Bordeaux 1 and IPB. * - * @version 5.1.0 + * @version 6.0.0 * @author Francois Pellegrini * @author Xavier Lacoste * @author Pierre Ramet @@ -25,8 +25,7 @@ * * @ingroup pastix_spm * - * @brief Convert integer array to the pastix_int_t format if it is not already - * the case. + * @brief Convert integer array to pastix_int_t format. * ******************************************************************************* * @@ -34,13 +33,13 @@ * The number of elements in the array. * * @param[in,out] input - * The input array. If the type size is not the same, the array is + * The input array. If the types are not the same, the array is * freed on exit. * ******************************************************************************* * - * @return The pointer to the new allocated array if size has changed, or to - * input if sizes are identical. + * @return The pointer to the new allocated array if the type has changed, + * or the original array if the types are identical. * *******************************************************************************/ pastix_int_t * diff --git a/spm_io.c b/spm_io.c index 89b7fd474d5e3ef7885b33527fca69e526d0f4b8..76678ba001a92d7179ee583e5ddd40bc532dcd31 100644 --- a/spm_io.c +++ b/spm_io.c @@ -6,7 +6,7 @@ * PaStiX is a software package provided by Inria Bordeaux - Sud-Ouest, * LaBRI, University of Bordeaux 1 and IPB. * - * @version 5.1.0 + * @version 6.0.0 * @author Xavier Lacoste * @author Pierre Ramet * @author Mathieu Faverge @@ -36,9 +36,8 @@ * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the read happened successfuly. - * \retval PASTIX_ERR_FILE if the input format is incorrect. + * @retval PASTIX_SUCCESS if the read happened successfully, + * @retval PASTIX_ERR_FILE if the input format is incorrect. * *******************************************************************************/ static inline int @@ -118,9 +117,8 @@ readArrayOfInteger( FILE *stream, * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the read happened successfuly. - * \retval PASTIX_ERR_FILE if the input format is incorrect. + * @retval PASTIX_SUCCESS if the read happened successfully, + * @retval PASTIX_ERR_FILE if the input format is incorrect. * *******************************************************************************/ static inline int @@ -205,9 +203,8 @@ readArrayOfComplex64( FILE *stream, * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the read happened successfuly. - * \retval PASTIX_ERR_FILE if the input format is incorrect. + * @retval PASTIX_SUCCESS if the read happened successfully, + * @retval PASTIX_ERR_FILE if the input format is incorrect. * *******************************************************************************/ static inline int @@ -292,9 +289,8 @@ readArrayOfComplex32( FILE *stream, * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the read happened successfuly. - * \retval PASTIX_ERR_FILE if the input format is incorrect. + * @retval PASTIX_SUCCESS if the read happened successfully, + * @retval PASTIX_ERR_FILE if the input format is incorrect. * *******************************************************************************/ static inline int @@ -377,9 +373,8 @@ readArrayOfDouble( FILE *stream, * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the read happened successfuly. - * \retval PASTIX_ERR_FILE if the input format is incorrect. + * @retval PASTIX_SUCCESS if the read happened successfully, + * @retval PASTIX_ERR_FILE if the input format is incorrect. * *******************************************************************************/ static inline int @@ -445,25 +440,22 @@ readArrayOfFloat( FILE *stream, * * @ingroup pastix_spm * - * @brief Load the spm structure from a file (internal format) + * @brief Load the spm structure from a file (internal format). * - * Load the spm data structure from a file store in an internal format. For now - * this function only load a simple csc matrix. * ******************************************************************************* * * @param[in,out] spm * On entry, an allocated spm data structure. - * On exit, the spm filled with the information read in the file + * On exit, the spm filled with the information read in the file. * * @param[in] infile * The opened file in which the spm is stored. * ******************************************************************************* * - * @return - * \retval PASTIX_SUCCESS if the load happened successfuly. - * \retval PASTIX_ERR_FILE if the input format is incorrect. + * @retval PASTIX_SUCCESS if the load happened successfully, + * @retval PASTIX_ERR_FILE if the input format is incorrect. * *******************************************************************************/ int @@ -474,7 +466,7 @@ spmLoad( pastix_spm_t *spm, char line[256], *test; int rc = PASTIX_SUCCESS; - /** + /* * Skip comments */ do { @@ -485,7 +477,7 @@ spmLoad( pastix_spm_t *spm, } while( line[0] == '#' ); - /** + /* * Read header */ { @@ -533,7 +525,7 @@ spmLoad( pastix_spm_t *spm, break; } - /** + /* * Read colptr */ spm->colptr = malloc( colsize * sizeof(pastix_int_t) ); @@ -542,7 +534,7 @@ spmLoad( pastix_spm_t *spm, return rc; } - /** + /* * Read rowptr */ spm->rowptr = malloc( rowsize * sizeof(pastix_int_t) ); @@ -551,7 +543,7 @@ spmLoad( pastix_spm_t *spm, return rc; } - /** + /* * Read dofs */ if ( spm->dof > 0 ) { @@ -565,7 +557,7 @@ spmLoad( pastix_spm_t *spm, } } - /** + /* * Read dofs */ if ( spm->gN == spm->n ) { @@ -579,7 +571,7 @@ spmLoad( pastix_spm_t *spm, } } - /** + /* * Read values */ if (spm->flttype == PastixPattern ) { @@ -629,7 +621,7 @@ spmLoad( pastix_spm_t *spm, * ******************************************************************************* * - * @return PASTIX_SUCCESS if the write happened successfuly. + * @return PASTIX_SUCCESS if the write happened successfully. * *******************************************************************************/ static inline int @@ -670,7 +662,7 @@ writeArrayOfComplex64( FILE *outfile, * ******************************************************************************* * - * @return PASTIX_SUCCESS if the write happened successfuly. + * @return PASTIX_SUCCESS if the write happened successfully. * *******************************************************************************/ static inline int @@ -711,7 +703,7 @@ writeArrayOfComplex32( FILE *outfile, * ******************************************************************************* * - * @return PASTIX_SUCCESS if the write happened successfuly. + * @return PASTIX_SUCCESS if the write happened successfully. * *******************************************************************************/ static inline int @@ -752,7 +744,7 @@ writeArrayOfDouble( FILE *outfile, * ******************************************************************************* * - * @return PASTIX_SUCCESS if the write happened successfuly. + * @return PASTIX_SUCCESS if the write happened successfully. * * *******************************************************************************/ @@ -779,10 +771,8 @@ writeArrayOfFloat( FILE *outfile, * * @ingroup pastix_spm * - * @brief Save the spm structure into a file (internal format) + * @brief Save the spm structure into a file (internal format). * - * Save the spm data structure into a file and stored in an internal format. For - * now this function only save a simple csc matrix. * ******************************************************************************* * @@ -794,7 +784,7 @@ writeArrayOfFloat( FILE *outfile, * ******************************************************************************** * - * @return PASTIX_SUCCESS if the save happened successfuly + * @return PASTIX_SUCCESS if the save happened successfully. * *******************************************************************************/ int @@ -803,7 +793,7 @@ spmSave( pastix_spm_t *spm, { pastix_int_t i, colsize, rowsize; - /** + /* * Write header */ fprintf( outfile, @@ -831,7 +821,7 @@ spmSave( pastix_spm_t *spm, rowsize = 0; } - /** + /* * Write colptr */ for (i=0; i<colsize; i++) @@ -841,7 +831,7 @@ spmSave( pastix_spm_t *spm, } if ((i-1)%4 !=3) fprintf(outfile, "\n"); - /** + /* * Write rowptr */ for (i=0; i<rowsize; i++) @@ -851,7 +841,7 @@ spmSave( pastix_spm_t *spm, } if ((i-1)%4 !=3) fprintf(outfile, "\n"); - /** + /* * Write dofs */ if ( spm->dof <= 0 ) { @@ -863,7 +853,7 @@ spmSave( pastix_spm_t *spm, if ((i-1)%4 !=3) fprintf(outfile, "\n"); } - /** + /* * Write loc2glob */ if ( spm->n != spm->gN ) { @@ -875,7 +865,7 @@ spmSave( pastix_spm_t *spm, if ((i-1)%4 !=3) fprintf(outfile, "\n"); } - /** + /* * Write values */ switch( spm->flttype ) { diff --git a/spm_read_driver.c b/spm_read_driver.c index 1de44c1f4afab9ec78390a2ea81bbe0ddc4a6856..8fb6382be28e2cd0fa80a334eced10500d3c7ef0 100644 --- a/spm_read_driver.c +++ b/spm_read_driver.c @@ -25,7 +25,7 @@ * * @ingroup pastix_spm * - * @brief Import a matrix file into a spm structure + * @brief Import a matrix file into a spm structure. * * This function read or generate a sparse matrix from a file to store it into a * spm structure. The different formats accepted by this driver are described by @@ -34,17 +34,17 @@ ******************************************************************************* * * @param[in] driver - * This defines the driver to use to create the spm structure. - * = PastixDriverRSA - * = PastixDriverHB - * = PastixDriverIJV - * = PastixDriverMM - * = PastixDriverLaplacian - * = PastixDriverXLaplacian - * = PastixDriverGraph + * This defines the driver to use to create the spm structure: + * - PastixDriverRSA + * - PastixDriverHB + * - PastixDriverIJV + * - PastixDriverMM + * - PastixDriverLaplacian + * - PastixDriverXLaplacian + * - PastixDriverGraph * * @param[in] filename - * The name of the file that stores the matrix (see driver) + * The name of the file that stores the matrix (see driver). * * @param[in,out] spm * On entry, an allocated sparse matrix structure. @@ -57,9 +57,8 @@ * ******************************************************************************** * - * @return - * \retval PASTIX_SUCCESS if the file reading happened successfuly - * \retval PASTIX_ERR_BADPARAMETER if one the parameter is incorrect. + * @retval PASTIX_SUCCESS if the file reading happened successfully, + * @retval PASTIX_ERR_BADPARAMETER if one the parameter is incorrect. * *******************************************************************************/ int diff --git a/z_spm.c b/z_spm.c index 4560b5512345ad7de2eb93de638c59048b078be7..a7cb855a42dfb3b9e94fb7b9287195158a958d85 100644 --- a/z_spm.c +++ b/z_spm.c @@ -191,20 +191,20 @@ z_spmMergeDuplicate( pastix_spm_t *spm ) * @brief This routine corrects the sparse matrix structure if it's * pattern is not symmetric. * - * It returns the new symmetric pattern with zeores on + * It returns the new symmetric pattern with zeroes on * the new entries. * ******************************************************************************* * * @param[in,out] spm * On entry, the pointer to the sparse matrix structure. - * On exit, the same sparse matrix with extra entires that makes it + * On exit, the same sparse matrix with extra entries that makes it * pattern symmetric. * ******************************************************************************* * * @return - * \retval Returns the number of elements added to the matrix. + * \retval Returns the number of entries added to the matrix. * *******************************************************************************/ pastix_int_t