Mentions légales du service

Skip to content
Snippets Groups Projects

Fix issue #43 - Submatrix fields

Merged Mathieu Faverge requested to merge faverge/chameleon:issue43 into master
Files
4
+ 8
5
@@ -62,7 +62,7 @@ int morse_desc_check (const MORSE_desc_t *desc);
int morse_desc_mat_alloc(MORSE_desc_t *desc);
int morse_desc_mat_free (MORSE_desc_t *desc);
#define BLKLDD(A, k) A->get_blkldd( A,k )
#define BLKLDD(A, k) A->get_blkldd( A, k )
/**
* Internal function to return address of block (m,n) with m,n = block indices
@@ -174,18 +174,21 @@ inline static int morse_getblkldd_cm(const MORSE_desc_t *A, int m) {
/**
* Internal function to return MPI rank of element A(m,n) with m,n = block indices
*/
inline static int morse_getrankof_2d(const MORSE_desc_t *desc, int m, int n)
inline static int morse_getrankof_2d(const MORSE_desc_t *A, int m, int n)
{
return (m % desc->p) * desc->q + (n % desc->q);
int mm = m + A->i / A->mb;
int nn = n + A->j / A->nb;
return (mm % A->p) * A->q + (nn % A->q);
}
/**
* Internal function to return MPI rank of element DIAG(m,0) with m,n = block indices
*/
inline static int morse_getrankof_2d_diag(const MORSE_desc_t *desc, int m, int n)
inline static int morse_getrankof_2d_diag(const MORSE_desc_t *A, int m, int n)
{
int mm = m + A->i / A->mb;
assert( n == 0 );
return (m % desc->p) * desc->q + (m % desc->q);
return (mm % A->p) * A->q + (mm % A->q);
}
Loading