Bonjour,
J'obtiens cette erreur de mémoire dans la partie suivante de mon programme :
J'ai une matrice Q avec un nombre de ligne :Code->M (=252)*GF->M (=8) et un nombre de colonne : nbColumn (=5).
J'ai une matrice H de taille Code->M (=252) par nbColumn (=5).
J'ai une matrice Decoder->LR_INIT de taille GF->M (=8) par Code->N (=512).
Je remplis la matrice Q avec les valeurs contenues dans LR_INIT. Mais comme elles ne sont pas de même taille au niveau des colonnes, LR_INIT ayant plus de colonnes, je séléctionne seulement certains éléments de LR_INIT. Le numéro de colonne de l'élément sélectionné est contenu dans la matrice qui contient les indices des colonnes à séléctionnner, c'est à dire H.
J'obtiens l'erreur indiqué pour k=1, i=4, j=4, qui correspond à une valeur nulle dans H[k][j]. Le programme me dit alors qu'il ne peut évaluer Q[i+k*GF->M][j].
Je n'arrive pas à trouver le problème. Si certains d'entre vous ont des idées ?
// correction de la taile de H, ne résoud pas l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for (k = 0; k < Code->M ; k++){ for (i = 0 ; i < GF->M ; i++){ for (j = 0 ; j < nbColumn ; j++) { if (Code->H[k][j]== 0){ Q[i+k*GF->M][j] = 0; } else{ Q[i+k*GF->M][j]= Decoder->LR_INIT[i][Code->H[k][j]]; } } } }
Partager