- Timestamp:
- Mar 1, 2016, 12:16:46 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ohana.20160226/src/libfits/table/F_compress_T.c
r39422 r39428 103 103 ALLOCATE_ZERO (fields, TableField, Nfields); 104 104 105 int field; 106 for (field = 0; field < Nfields; field++) { 105 for (int field = 0; field < Nfields; field++) { 107 106 snprintf (keyword, 80, "TTYPE%d", field+1); 108 107 if (!gfits_scan (srcheader, keyword, "%s", 1, fields[field].ttype)) ESCAPE; … … 137 136 char *tmpbuffer = NULL; 138 137 ALLOCATE_ZERO (tmpbuffer, char, 16*Ntile); // need space for Ntile entries, each of width 16 bytes (2 long) 139 for ( field = 0; field < Nfields; field++) {138 for (int field = 0; field < Nfields; field++) { 140 139 if (!gfits_set_bintable_column (tgtheader, tgttable, fields[field].ttype, tmpbuffer, Ntile)) ESCAPE; 141 140 } … … 163 162 int offset = 0; // bytes from first column of first field to the current field (accumulate to set) 164 163 165 for ( field = 0; field < Nfields; field++) {164 for (int field = 0; field < Nfields; field++) { 166 165 snprintf (keyword, 81, "ZFORM%d", field+1); 167 166 if (!gfits_modify (tgtheader, keyword, "%s", 1, fields[field].tformat)) ESCAPE; … … 229 228 // compress the data : copy into a tile, compress the tile, then add to the output table 230 229 // each tile -> 1 row of the output table 231 unsigned long int tile; 232 for (tile = 0; tile < Ntile; tile++) { 233 234 for (field = 0; field < Nfields; field++) { 230 for (unsigned long int tile = 0; tile < Ntile; tile++) { 231 232 for (int field = 0; field < Nfields; field++) { 235 233 236 234 gettimeofday (&startTimer, (void *) NULL); … … 257 255 258 256 if (VERBOSE_DUMP) { 259 unsigned long int k;260 257 fprintf (stderr, "c1: "); 261 for ( k = 0; k < Nrows*fields[field].Nvalues*fields[field].pixsize; k++) {258 for (unsigned long int k = 0; k < Nrows*fields[field].Nvalues*fields[field].pixsize; k++) { 262 259 fprintf (stderr, "%02hhx", raw[k]); 263 260 if (k % 2) fprintf (stderr, " "); … … 282 279 283 280 if (VERBOSE_DUMP) { 284 unsigned long int k;285 281 fprintf (stderr, "c2: "); 286 for ( k = 0; k < Nrows*fields[field].Nvalues*fields[field].pixsize; k++) {282 for (unsigned long int k = 0; k < Nrows*fields[field].Nvalues*fields[field].pixsize; k++) { 287 283 fprintf (stderr, "%02hhx", raw[k]); 288 284 if (k % 2) fprintf (stderr, " "); … … 302 298 303 299 if (VERBOSE_DUMP) { 304 unsigned long int k;305 300 fprintf (stderr, "c3: "); 306 for ( k = 0; k < Nzdata; k++) {301 for (unsigned long int k = 0; k < Nzdata; k++) { 307 302 fprintf (stderr, "%02hhx", zdata[k]); 308 303 if (k % 2) fprintf (stderr, " "); … … 327 322 328 323 if (VERBOSE_DUMP) { 329 unsigned long int k;330 324 fprintf (stderr, "c4: "); 331 for ( k = 0; k < Nzdata; k++) {325 for (unsigned long int k = 0; k < Nzdata; k++) { 332 326 fprintf (stderr, "%02hhx", zdata[k]); 333 327 if (k % 2) fprintf (stderr, " "); … … 348 342 if (OHANA_MEMCHECK) ohana_memcheck (TRUE); 349 343 350 for ( field = 0; field < Nfields; field++) {344 for (int field = 0; field < Nfields; field++) { 351 345 if (!gfits_varlength_column_finish (tgttable, &fields[field].zdef)) ESCAPE; 352 346 } … … 378 372 int gfits_collect_table_data (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) { 379 373 380 unsigned long int i;381 382 374 // we are copying NN rows into the column which starts at XX and has MM bytes per row 383 375 … … 389 381 390 382 if (VERBOSE) fprintf (stderr, "distribute: "); 391 for ( i = 0; i < Nrows; i++, tblbuffer += Nx) {383 for (unsigned long i = 0; i < Nrows; i++, tblbuffer += Nx) { 392 384 memcpy (&raw[i*rowsize], tblbuffer, rowsize); 393 385 # if (VERBOSE) 394 int j; for (j = 0; j < field->rowsize; j++) fprintf (stderr, "0x%02hhx ", table->buffer[Nx*row + field->offset + j]);386 for (int j = 0; j < field->rowsize; j++) fprintf (stderr, "0x%02hhx ", table->buffer[Nx*row + field->offset + j]); 395 387 # endif 396 388 } … … 402 394 int gfits_collect_table_data_alt (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) { 403 395 404 unsigned long int i;405 406 396 // we are copying NN rows of the column which starts at XX and has MM bytes per row 407 397 … … 409 399 410 400 if (VERBOSE) fprintf (stderr, "collect: "); 411 for ( i = 0; i < Nrows; i++) {401 for (unsigned long i = 0; i < Nrows; i++) { 412 402 int row = row_start + i; 413 403 memcpy (&raw[i*field->rowsize], &table->buffer[Nx*row + field->offset], field->rowsize); … … 423 413 int gfits_collect_table_gzp2 (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) { 424 414 425 off_t j, k;426 427 415 // we are copying NN rows into the column which starts at XX and has MM bytes per row 428 416 … … 434 422 char *rawptr = raw; 435 423 436 for ( k = 0; k < field->pixsize; k++) {424 for (off_t k = 0; k < field->pixsize; k++) { 437 425 # ifdef BYTE_SWAP 438 426 char *tblptr_start = &table->buffer[Nx*row_start + offset + (pixsize - k - 1)]; … … 440 428 char *tblptr_start = &table->buffer[Nx*row_start + offset + k]; 441 429 # endif 442 unsigned long int i; 443 for (i = 0; i < Nrows; i++, tblptr_start += Nx) { 430 for (unsigned long int i = 0; i < Nrows; i++, tblptr_start += Nx) { 444 431 char *tblptr = tblptr_start; 445 for ( j = 0; j < Nvalues; j++, tblptr += pixsize, rawptr++) {432 for (off_t j = 0; j < Nvalues; j++, tblptr += pixsize, rawptr++) { 446 433 *rawptr = *tblptr; 447 434 } … … 453 440 int gfits_collect_table_gzp2_alt (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) { 454 441 455 off_t j, k;456 457 442 // we are copying NN rows into the column which starts at XX and has MM bytes per row 458 443 459 444 off_t Nx = table->header->Naxis[0]; 460 445 461 for (k = 0; k < field->pixsize; k++) { 462 unsigned long int i; 463 for (i = 0; i < Nrows; i++) { 446 for (off_t k = 0; k < field->pixsize; k++) { 447 for (unsigned long int i = 0; i < Nrows; i++) { 464 448 unsigned long int row = row_start + i; 465 449 char *rawptr = &raw[i*field->Nvalues + k*Nrows*field->Nvalues]; … … 469 453 char *tblptr = &table->buffer[Nx*row + field->offset + k]; 470 454 # endif 471 for ( j = 0; j < field->Nvalues; j++, tblptr += field->pixsize, rawptr++) {455 for (off_t j = 0; j < field->Nvalues; j++, tblptr += field->pixsize, rawptr++) { 472 456 *rawptr = *tblptr; 473 457 myAssert (rawptr >= raw, "oops");
Note:
See TracChangeset
for help on using the changeset viewer.
