[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