Étudions la fonction :

/* ------------------------------------ */
double **i_duplicate_mZ(
int      r,
int      c
)
{
  r =  (r-R1);
  c = ((c-C1)/C2);

return( i_mZ(r,c) );
}
/* ------------------------------------ */


pow_mZ(); utilise cette fonction.

  T = i_duplicate_mZ(A[R_SIZE][C0],A[C_SIZE][C0]);


En fait on initialise la taille de la matrice directement en lisant en mémoire celle-ci, au lieu d'utiliser rsize_mZ(); et csize_mZ(); simplement car cela est plus rapide.


On se rappel qu'avant de mémoriser la taille de la matrice dans la fonction i_mZ(); on ajoute la ligne zéro et la colonne zéro.

Il faut donc les retrancher avant l'appel de la fonction i_mZ(); qui va naturellement les rajouter un peu plus tard.

  • (r-R1)
  • (c-C1)
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.