Changeset 39457 for trunk/Ohana/src/libfits/table/F_uncompress_T.c
- Timestamp:
- Mar 11, 2016, 10:23:42 PM (10 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/libfits/table/F_uncompress_T.c (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
-
Property svn:mergeinfo
set to
/branches/eam_branches/ohana.20160226 merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Ohana/src/libfits/table/F_uncompress_T.c
r39358 r39457 13 13 int gfits_dump_raw_table (FTable *table, char *message) { 14 14 # if (VERBOSE_DUMP) 15 int i;16 15 fprintf (stderr, "%s data:\n", message); 17 for (i = 0; i < table->header->Naxis[0]*table->header->Naxis[1]; i++) {16 for (int i = 0; i < table->header->Naxis[0]*table->header->Naxis[1]; i++) { 18 17 // for (i = 0; i < 16; i++) { 19 18 fprintf (stderr, "%02hhx", table->buffer[i]); … … 22 21 } 23 22 fprintf (stderr, "\n"); 23 # else 24 OHANA_UNUSED_PARAM(table); 25 OHANA_UNUSED_PARAM(message); 24 26 # endif 25 27 return TRUE; … … 28 30 int gfits_dump_cmp_table (FTable *table, char *message) { 29 31 # if (VERBOSE_DUMP) 30 int i;31 32 fprintf (stderr, "%s pntr:\n", message); 32 for (i = 0; i < table->header->Naxis[0]*table->header->Naxis[1]; i++) {33 for (int i = 0; i < table->header->Naxis[0]*table->header->Naxis[1]; i++) { 33 34 fprintf (stderr, "%02hhx", table->buffer[i]); 34 35 if (i % 2) fprintf (stderr, " "); … … 38 39 39 40 fprintf (stderr, "%s data:\n", message); 40 for (i = 0; i < table->header->pcount; i++) {41 for (int i = 0; i < table->header->pcount; i++) { 41 42 fprintf (stderr, "%02hhx", table->buffer[table->heap_start + i]); 42 43 if (i % 2) fprintf (stderr, " "); … … 44 45 } 45 46 fprintf (stderr, "\n"); 47 # else 48 OHANA_UNUSED_PARAM(table); 49 OHANA_UNUSED_PARAM(message); 46 50 # endif 47 51 return TRUE; … … 77 81 int gfits_uncompress_table (FTable *srctable, FTable *tgttable) { 78 82 79 int i;80 81 83 char keyword[256]; 82 84 … … 114 116 115 117 ALLOCATE (fields, TableField, Nfields); 116 for (i = 0; i < Nfields; i++) {118 for (int i = 0; i < Nfields; i++) { 117 119 snprintf (keyword, 80, "TTYPE%d", i+1); 118 120 if (!gfits_scan (srcheader, keyword, "%s", 1, fields[i].ttype)) ESCAPE; … … 170 172 // calling with an empty data array, data values are not actually copied (this is done 171 173 // below after decompression) 172 for (i = 0; i < Nfields; i++) {174 for (int i = 0; i < Nfields; i++) { 173 175 if (!gfits_set_bintable_column (tgtheader, tgttable, fields[i].ttype, NULL, Ny)) ESCAPE; 174 176 } … … 200 202 gettimeofday (&startTimer, (void *) NULL); 201 203 202 off_t row; 203 for (row = 0; row < srcheader->Naxis[1]; row++) { 204 205 for (i = 0; i < Nfields; i++) { 204 for (off_t row = 0; row < srcheader->Naxis[1]; row++) { 205 206 for (int i = 0; i < Nfields; i++) { 206 207 207 208 // gfits_uncompress_data can take values specific to the compression mode … … 218 219 219 220 if (VERBOSE_DUMP) { 220 int k;221 221 fprintf (stderr, "u4: "); 222 for ( k = 0; k < Nzdata; k++) {222 for (int k = 0; k < Nzdata; k++) { 223 223 fprintf (stderr, "%02hhx", zdata[k]); 224 224 if (k % 2) fprintf (stderr, " "); … … 250 250 251 251 if (VERBOSE_DUMP) { 252 int k;253 252 fprintf (stderr, "u3: "); 254 for ( k = 0; k < Nzdata; k++) {253 for (int k = 0; k < Nzdata; k++) { 255 254 fprintf (stderr, "%02hhx", zdata[k]); 256 255 if (k % 2) fprintf (stderr, " "); … … 266 265 gettimeofday (&startTimer, (void *) NULL); 267 266 268 int Nrows = (row == Ntile - 1) ? ztilelast : ztilelen;269 int Nraw = Nrows*fields[i].Nvalues*fields[i].pixsize; // expected number of bytes267 unsigned long int Nrows = (row == Ntile - 1) ? ztilelast : ztilelen; 268 unsigned long int Nraw = Nrows*fields[i].Nvalues*fields[i].pixsize; // expected number of bytes 270 269 if (!gfits_uncompress_data (zdata, Nzdata, fields[i].zctype, NULL, NULL, 0, raw, &Nraw, Nraw_alloc, fields[i].pixsize)) ESCAPE; 271 270 272 271 if (VERBOSE_DUMP) { 273 int k;274 272 fprintf (stderr, "u2: "); 275 for ( k = 0; k < Nraw*fields[i].pixsize; k++) {273 for (unsigned long int k = 0; k < Nraw*fields[i].pixsize; k++) { 276 274 fprintf (stderr, "%02hhx", raw[k]); 277 275 if (k % 2) fprintf (stderr, " "); … … 299 297 300 298 if (VERBOSE_DUMP) { 301 int k;302 299 fprintf (stderr, "u1: "); 303 for ( k = 0; k < Nraw*fields[i].pixsize; k++) {300 for (unsigned long int k = 0; k < Nraw*fields[i].pixsize; k++) { 304 301 fprintf (stderr, "%02hhx", raw[k]); 305 302 if (k % 2) fprintf (stderr, " "); … … 356 353 int gfits_distribute_table_data (FTable *table, TableField *field, char *raw, int row_start, int Nrows) { 357 354 358 off_t i;359 360 355 // we are copying NN rows into the column which starts at XX and has MM bytes per row 361 356 … … 367 362 368 363 if (VERBOSE) fprintf (stderr, "distribute: "); 369 for ( i = 0; i < Nrows; i++, tblbuffer += Nx) {364 for (off_t i = 0; i < Nrows; i++, tblbuffer += Nx) { 370 365 memcpy (tblbuffer, &raw[i*rowsize], rowsize); 371 366 # if (VERBOSE) 372 int j; for (j = 0; j < field->rowsize; j++) fprintf (stderr, "0x%02hhx ", table->buffer[Nx*row + field->offset + j]);367 for (int j = 0; j < field->rowsize; j++) fprintf (stderr, "0x%02hhx ", table->buffer[Nx*row + field->offset + j]); 373 368 # endif 374 369 } … … 379 374 380 375 int gfits_distribute_table_gzp2 (FTable *table, TableField *field, char *raw, int row_start, int Nrows) { 381 382 off_t i, j, k;383 376 384 377 // we are copying NN rows into the column which starts at XX and has MM bytes per row … … 391 384 char *rawptr = raw; 392 385 393 for ( k = 0; k < field->pixsize; k++) {386 for (off_t k = 0; k < field->pixsize; k++) { 394 387 # ifdef BYTE_SWAP 395 388 char *tblptr_start = &table->buffer[Nx*row_start + offset + (pixsize - k - 1)]; … … 397 390 char *tblptr_start = &table->buffer[Nx*row_start + offset + k]; 398 391 # endif 399 for ( i = 0; i < Nrows; i++, tblptr_start += Nx) {392 for (off_t i = 0; i < Nrows; i++, tblptr_start += Nx) { 400 393 char *tblptr = tblptr_start; 401 for ( j = 0; j < Nvalues; j++, tblptr += pixsize, rawptr++) {394 for (off_t j = 0; j < Nvalues; j++, tblptr += pixsize, rawptr++) { 402 395 *tblptr = *rawptr; 403 396 } … … 409 402 int gfits_distribute_table_gzp2_alt (FTable *table, TableField *field, char *raw, int row_start, int Nrows) { 410 403 411 off_t i, j, k;412 413 404 // we are copying NN rows into the column which starts at XX and has MM bytes per row 414 405 415 406 off_t Nx = table->header->Naxis[0]; 416 407 417 for ( k = 0; k < field->pixsize; k++) {418 for ( i = 0; i < Nrows; i++) {408 for (off_t k = 0; k < field->pixsize; k++) { 409 for (off_t i = 0; i < Nrows; i++) { 419 410 int row = row_start + i; 420 411 char *rawptr = &raw[i*field->Nvalues + k*Nrows*field->Nvalues]; … … 424 415 char *tblptr = &table->buffer[Nx*row + field->offset + k]; 425 416 # endif 426 for ( j = 0; j < field->Nvalues; j++, tblptr += field->pixsize, rawptr++) {417 for (off_t j = 0; j < field->Nvalues; j++, tblptr += field->pixsize, rawptr++) { 427 418 *tblptr = *rawptr; 428 419 }
Note:
See TracChangeset
for help on using the changeset viewer.
