[Tech] Ancora non va :(
Valerio Montagnani
tech@vmontagnani.it
Mer 9 Giu 2004 12:15:53 CEST
Il problema persiste anche usando il suggerimento di Franco.
L'allocazione e l'inizializzazione del vettore features, per quanto contorna funziona.
Simone: non mi sembra tanto diversa da quella che suggerivi tu nella tua mail.
Ricominciamo.
int i,j;
float *features;
float *alloca_mem(int sizeX, int sizeY) {
float **m;
int j;
m=(float **)malloc(sizeX*sizeof(float*));
for (j=0; j<sizeX; j++) {
m[j]=(float *)malloc(sizeY*sizeof(float));
}
return *m;
}
void frame_blocking(int16_t data[], int size) {
int i,j;
for (h=0; h<size; h++) {
for(i=0; i<200; i++) {
features[h,i]=data[h*120+2*i); //(*)
}
}
}
main() {
// frame è un numero intero;
// buffer è un array regolarmente allocato e con valori validi
features=alloca_mem(frame,200); // features è ora una matrice (frame,200) = righe*colonne;
//chiamo la funzione frame_blocking
frame_blocking(buffer, frame);
// All'uscita di questa funzione mi aspetto che i valori
// di features siano stati aggiornati in base alla riga (*)
// invece:
for (i=0;<i<frame;i++) {
for (j=0;j<200;j++) {
printf("%f\n",features[i,j]);
}
}
// mi dà sempre il valore 0.0000 per ogni componente di features[i,j]
}
--
Valerio Montagnani (Lug-Account) <tech@vmontagnani.it>
pub 1024/C7E4BC57 sub 2048g/0E170155
Key fingerprint = D5A4 EDFC 060C 5BD6 E2DD 8252 3B67 C1EB C7E4 BC57
Maggiori informazioni sulla lista
flug-tech