From 92fcc3bb5ba93bfebd98715a21a1a72fda296604 Mon Sep 17 00:00:00 2001 From: Oli Date: Wed, 19 Jan 2022 19:24:47 -0300 Subject: [PATCH] fix --- fftma_module/gen/lib_src/chunk_array.c | 49 ++++++-------------------- 1 file changed, 11 insertions(+), 38 deletions(-) diff --git a/fftma_module/gen/lib_src/chunk_array.c b/fftma_module/gen/lib_src/chunk_array.c index 0502e86..1553869 100644 --- a/fftma_module/gen/lib_src/chunk_array.c +++ b/fftma_module/gen/lib_src/chunk_array.c @@ -111,15 +111,15 @@ void chunk_array_free(chunk_array_t* chunk_array) { } void chunk_array_flush(chunk_array_t* chunk_array) { - printf("[FLUSH][%s] init_write %d\n", chunk_array->filename, chunk_array->init_write); + //printf("[FLUSH][%s] init_write %d\n", chunk_array->filename, chunk_array->init_write); size_t mod; if (chunk_array->total_size - chunk_array->init_write > chunk_array->chunk_size ) { mod = chunk_array->chunk_size; } else { mod = chunk_array->total_size - chunk_array->init_write; - printf("[FLUSH] ACA mod = %d\n", mod); + //printf("[FLUSH] ACA mod = %d\n", mod); } - fseek(chunk_array->fp, chunk_array->init_write * chunk_array->chunk_size * sizeof(double), SEEK_SET); + fseek(chunk_array->fp, chunk_array->init_write * sizeof(double), SEEK_SET); fwrite(chunk_array->write_data, sizeof(double), mod, chunk_array->fp); } @@ -127,13 +127,11 @@ bool chunk_array_update(chunk_array_t* chunk_array, size_t pos) { chunk_array_flush(chunk_array); int new_init = pos/chunk_array->chunk_size; + chunk_array->init_write = new_init * chunk_array->chunk_size; - printf("[UPDATE] pos= %d new_init = %d\n", pos, new_init); + //printf("[UPDATE] pos = %d new_init = %d\n", pos, chunk_array->init_write); - fseek(chunk_array->fp, new_init * chunk_array->chunk_size * sizeof(double), SEEK_SET); - - chunk_array->init_write = new_init * chunk_array->chunk_size; - + fseek(chunk_array->fp, chunk_array->init_write * sizeof(double), SEEK_SET); fread(chunk_array->write_data, sizeof(double), chunk_array->chunk_size, chunk_array->fp); } @@ -150,15 +148,6 @@ chunk_array_t* chunk_array_create(char* filename, size_t total_size) { } } - /*chunk_array->read_data = malloc(MAX_CHUNK_SIZE * sizeof(double)); - - if (MAX_CHUNK_SIZE > 0 && chunk_array->read_data == NULL) { - free(chunk_array); - return NULL; - } - //fread(chunk_array->write_data, sizeof(double), MAX_CHUNK_SIZE, chunk_array->fp); - */ - chunk_array->write_data = malloc(MAX_CHUNK_SIZE * sizeof(double)); if (MAX_CHUNK_SIZE > 0 && chunk_array->write_data == NULL) { @@ -178,23 +167,9 @@ chunk_array_t* chunk_array_create(char* filename, size_t total_size) { } bool chunk_array_get(chunk_array_t* chunk_array, size_t pos, double *valor) { - //printf("[READ] pos = %d y init_write = %d\n", pos, chunk_array->init_write); - /*if (pos > chunk_array->init_write && pos < chunk_array->init_write + chunk_array->chunk_size) { - *valor=chunk_array->write_data[pos%chunk_array->chunk_size]; - printf("[READ] Del write valor = %f\n", *valor); - return true; - } - if (posinit_read || pos>chunk_array->init_read + chunk_array->chunk_size) { - printf("[READ] actualizo porq pos = %d y init_read = %d\n", pos, chunk_array->init_read); - chunk_array_update_read(chunk_array, pos); - } - *valor=chunk_array->read_data[pos%chunk_array->chunk_size]; - printf("[READ] Del read valor = %f\n", *valor); - return true;*/ if (posinit_write || pos>chunk_array->init_write + chunk_array->chunk_size-1) { - printf("[READ][%s] actualizo pos = %d init_write = %d\n",chunk_array->filename, pos, chunk_array->init_write); - //chunk_array_flush(chunk_array); + //printf("[READ][%s] actualizo pos = %d init_write = %d\n",chunk_array->filename, pos, chunk_array->init_write); chunk_array_update(chunk_array, pos); } size_t mod; @@ -205,16 +180,14 @@ bool chunk_array_get(chunk_array_t* chunk_array, size_t pos, double *valor) { } int real_pos = pos%mod; *valor=chunk_array->write_data[real_pos]; - printf("[READ] %s[%d] = %f = chunk[%d] init_write = %d\n", chunk_array-> filename, pos, *valor, real_pos, chunk_array->init_write); + //printf("[READ] %s[%d] = %f = chunk[%d] init_write = %d\n", chunk_array-> filename, pos, *valor, real_pos, chunk_array->init_write); return true; } bool chunk_array_save(chunk_array_t* chunk_array, size_t pos, double valor) { - //printf("[WRITE] pos = %d y init_write = %d\n", pos, chunk_array->init_write); if (posinit_write || pos>chunk_array->init_write + chunk_array->chunk_size-1) { - printf("[WRITE][%s] actualizo pos = %d init_write = %d\n",chunk_array->filename, pos, chunk_array->init_write); - //chunk_array_flush(chunk_array); + //printf("[WRITE][%s] actualizo pos = %d init_write = %d\n",chunk_array->filename, pos, chunk_array->init_write); chunk_array_update(chunk_array,pos); } size_t mod; @@ -222,10 +195,10 @@ bool chunk_array_save(chunk_array_t* chunk_array, size_t pos, double valor) { mod = chunk_array->chunk_size; } else { mod = chunk_array->total_size - chunk_array->init_write; - printf("[WRITE] ACA mod = %d\n", mod); + //printf("[WRITE] ACA mod = %d\n", mod); } chunk_array->write_data[pos%mod]=valor; - printf("[WRITE] %s[%d] = %f\n", chunk_array-> filename, pos, valor); + //printf("[WRITE] %s[%d] = %f\n", chunk_array-> filename, pos, valor); return true; } \ No newline at end of file