Code cleanup.

This commit is contained in:
Joe Taylor 2024-02-02 12:30:32 -05:00
parent 347e32548c
commit 5cc29df68f
2 changed files with 13 additions and 35 deletions

View File

@ -24,54 +24,31 @@ void rs_encode_sf_(int *dgen, int *sent)
int b[256];
int i;
// Reverse data order for the Karn codec.
for(i=0; i<kk; i++) {
// dat1[i]=dgen[kk-1-i];
dat1[i]=dgen[i]; //### Temporary, no reversal ###
for(i=0; i<kk; i++) { //Copy data into dat1
dat1[i]=dgen[i];
}
// Compute the parity symbols
encode_rs_sf(rs_sf,dat1,b);
// Move parity symbols and data into sent[] array, in reverse order.
encode_rs_sf(rs_sf,dat1,b); // Compute the parity symbols
// Copy parity symbols into sent[] array, followed by data
for (i = 0; i < nroots; i++) {
// sent[nroots-1-i] = b[i];
sent[i] = b[i]; //### Temporary, no reversal ###
sent[i] = b[i];
}
for (i = 0; i < kk; i++) {
// sent[i+nroots] = dat1[kk-1-i];
sent[i+nroots] = dat1[i]; //### Temporary, no reversal ###
sent[i+nroots] = dat1[i];
}
}
void rs_decode_sf_(int *recd0, int *era0, int *numera0, int *decoded, int *nerr)
void rs_decode_sf_(int *recd, int *era_pos, int *numera, int *decoded, int *nerr)
// Decode JT65 received data recd0[63], producing decoded[12].
// Erasures are indicated in era0[numera]. The number of corrected
// errors is *nerr. If the data are uncorrectable, *nerr=-1 is
// returned.
{
int numera;
int i;
int era_pos[200];
int recd[255];
numera=*numera0;
*nerr=decode_rs_sf(rs_sf,recd,era_pos,*numera);
for(i=0; i<kk; i++) {
// recd[i]=recd0[nn-1-i];
recd[i]=recd0[i];
}
for(i=0; i<nroots; i++) {
// recd[kk+i]=recd0[nroots-1-i];
recd[kk+i]=recd0[kk+i];
}
if(numera) {
for(i=0; i<numera; i++) {
era_pos[i]=era0[i];
// printf("erased %d %d\n",i,era_pos[i]);
}
}
*nerr=decode_rs_sf(rs_sf,recd,era_pos,numera);
for(i=0; i<kk; i++) {
// decoded[i]=recd[kk-1-i];
decoded[i]=recd[nroots+i];
}
}

View File

@ -63,8 +63,9 @@ program rstest
write(*,1008)
1008 format(/'Decoded result:')
write(*,1002) dat(1:kk)
write(*,1100) nerr,nera,nfixed
1100 format(/'nerr:',i3,' nera:',i3,' nfixed:',i3)
maxfix=(nn-kk)/2 + nera/2
write(*,1100) nerr,nera,nfixed,maxfix
1100 format(/'nerr:',i3,' nera:',i3,' nfixed:',i3,' maxfix:',i3)
999 end program rstest