IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39428


Ignore:
Timestamp:
Mar 1, 2016, 12:16:46 PM (10 years ago)
Author:
eugene
Message:

converting some dangerous loop variables to inline

Location:
branches/eam_branches/ohana.20160226/src/libfits/table
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ohana.20160226/src/libfits/table/F_compress_T.c

    r39422 r39428  
    103103  ALLOCATE_ZERO (fields, TableField, Nfields);
    104104
    105   int field;
    106   for (field = 0; field < Nfields; field++) {
     105  for (int field = 0; field < Nfields; field++) {
    107106    snprintf (keyword, 80, "TTYPE%d", field+1);
    108107    if (!gfits_scan (srcheader, keyword, "%s", 1, fields[field].ttype)) ESCAPE;
     
    137136  char *tmpbuffer = NULL;
    138137  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++) {
    140139    if (!gfits_set_bintable_column (tgtheader, tgttable, fields[field].ttype, tmpbuffer, Ntile)) ESCAPE;
    141140  }
     
    163162  int offset = 0; // bytes from first column of first field to the current field (accumulate to set)
    164163
    165   for (field = 0; field < Nfields; field++) {
     164  for (int field = 0; field < Nfields; field++) {
    166165    snprintf (keyword, 81, "ZFORM%d", field+1);
    167166    if (!gfits_modify (tgtheader, keyword, "%s", 1, fields[field].tformat)) ESCAPE;
     
    229228  // compress the data : copy into a tile, compress the tile, then add to the output table
    230229  // 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++) {
    235233
    236234      gettimeofday (&startTimer, (void *) NULL);
     
    257255 
    258256      if (VERBOSE_DUMP) {
    259         unsigned long int k;
    260257        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++) {
    262259          fprintf (stderr, "%02hhx", raw[k]);
    263260          if (k % 2) fprintf (stderr, " ");
     
    282279 
    283280      if (VERBOSE_DUMP) {
    284         unsigned long int k;
    285281        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++) {
    287283          fprintf (stderr, "%02hhx", raw[k]);
    288284          if (k % 2) fprintf (stderr, " ");
     
    302298 
    303299      if (VERBOSE_DUMP) {
    304         unsigned long int k;
    305300        fprintf (stderr, "c3: ");
    306         for (k = 0; k < Nzdata; k++) {
     301        for (unsigned long int k = 0; k < Nzdata; k++) {
    307302          fprintf (stderr, "%02hhx", zdata[k]);
    308303          if (k % 2) fprintf (stderr, " ");
     
    327322 
    328323      if (VERBOSE_DUMP) {
    329         unsigned long int k;
    330324        fprintf (stderr, "c4: ");
    331         for (k = 0; k < Nzdata; k++) {
     325        for (unsigned long int k = 0; k < Nzdata; k++) {
    332326          fprintf (stderr, "%02hhx", zdata[k]);
    333327          if (k % 2) fprintf (stderr, " ");
     
    348342  if (OHANA_MEMCHECK) ohana_memcheck (TRUE);
    349343
    350   for (field = 0; field < Nfields; field++) {
     344  for (int field = 0; field < Nfields; field++) {
    351345    if (!gfits_varlength_column_finish (tgttable, &fields[field].zdef)) ESCAPE;
    352346  }
     
    378372int gfits_collect_table_data (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) {
    379373
    380   unsigned long int i;
    381 
    382374  // we are copying NN rows into the column which starts at XX and has MM bytes per row
    383375
     
    389381
    390382  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) {
    392384    memcpy (&raw[i*rowsize], tblbuffer, rowsize);
    393385# 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]);
    395387# endif
    396388  }
     
    402394int gfits_collect_table_data_alt (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) {
    403395
    404   unsigned long int i;
    405 
    406396  // we are copying NN rows of the column which starts at XX and has MM bytes per row
    407397
     
    409399
    410400  if (VERBOSE) fprintf (stderr, "collect: ");
    411   for (i = 0; i < Nrows; i++) {
     401  for (unsigned long i = 0; i < Nrows; i++) {
    412402    int row = row_start + i;
    413403    memcpy (&raw[i*field->rowsize], &table->buffer[Nx*row + field->offset], field->rowsize);
     
    423413int gfits_collect_table_gzp2 (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) {
    424414
    425   off_t j, k;
    426 
    427415  // we are copying NN rows into the column which starts at XX and has MM bytes per row
    428416
     
    434422  char *rawptr = raw;
    435423
    436   for (k = 0; k < field->pixsize; k++) {
     424  for (off_t k = 0; k < field->pixsize; k++) {
    437425# ifdef BYTE_SWAP     
    438426    char *tblptr_start = &table->buffer[Nx*row_start + offset + (pixsize - k - 1)];
     
    440428    char *tblptr_start = &table->buffer[Nx*row_start + offset + k];
    441429# 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) {
    444431      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++) {
    446433        *rawptr = *tblptr;
    447434      }
     
    453440int gfits_collect_table_gzp2_alt (FTable *table, TableField *field, char *raw, unsigned long int row_start, unsigned long int Nrows) {
    454441
    455   off_t j, k;
    456 
    457442  // we are copying NN rows into the column which starts at XX and has MM bytes per row
    458443
    459444  off_t Nx = table->header->Naxis[0];
    460445
    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++) {
    464448      unsigned long int row = row_start + i;
    465449      char *rawptr = &raw[i*field->Nvalues + k*Nrows*field->Nvalues];
     
    469453      char *tblptr = &table->buffer[Nx*row + field->offset + k];
    470454# 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++) {
    472456        *rawptr = *tblptr;
    473457        myAssert (rawptr >= raw, "oops");
  • branches/eam_branches/ohana.20160226/src/libfits/table/F_uncompress_T.c

    r39409 r39428  
    1313int gfits_dump_raw_table (FTable *table, char *message) {
    1414# if (VERBOSE_DUMP)
    15   int i;
    1615  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++) {
    1817    // for (i = 0; i < 16; i++) {
    1918    fprintf (stderr, "%02hhx", table->buffer[i]);
     
    3130int gfits_dump_cmp_table (FTable *table, char *message) {
    3231# if (VERBOSE_DUMP)
    33   int i;
    3432  fprintf (stderr, "%s pntr:\n", message);
    35   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++) {
    3634    fprintf (stderr, "%02hhx", table->buffer[i]);
    3735    if (i % 2) fprintf (stderr, " ");
     
    4139
    4240  fprintf (stderr, "%s data:\n", message);
    43   for (i = 0; i < table->header->pcount; i++) {
     41  for (int i = 0; i < table->header->pcount; i++) {
    4442    fprintf (stderr, "%02hhx", table->buffer[table->heap_start + i]);
    4543    if (i % 2) fprintf (stderr, " ");
     
    8381int gfits_uncompress_table (FTable *srctable, FTable *tgttable) {
    8482
    85   int i;
    86 
    8783  char keyword[256];
    8884
     
    120116
    121117  ALLOCATE (fields, TableField, Nfields);
    122   for (i = 0; i < Nfields; i++) {
     118  for (int i = 0; i < Nfields; i++) {
    123119    snprintf (keyword, 80, "TTYPE%d", i+1);
    124120    if (!gfits_scan (srcheader, keyword, "%s", 1, fields[i].ttype)) ESCAPE;
     
    176172  // calling with an empty data array, data values are not actually copied (this is done
    177173  // below after decompression)
    178   for (i = 0; i < Nfields; i++) {
     174  for (int i = 0; i < Nfields; i++) {
    179175    if (!gfits_set_bintable_column (tgtheader, tgttable, fields[i].ttype, NULL, Ny)) ESCAPE;
    180176  }
     
    206202  gettimeofday (&startTimer, (void *) NULL);
    207203
    208   off_t row;
    209   for (row = 0; row < srcheader->Naxis[1]; row++) {
    210 
    211     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++) {
    212207
    213208      // gfits_uncompress_data can take values specific to the compression mode
     
    224219   
    225220      if (VERBOSE_DUMP) {
    226         int k;
    227221        fprintf (stderr, "u4: ");
    228         for (k = 0; k < Nzdata; k++) {
     222        for (int k = 0; k < Nzdata; k++) {
    229223          fprintf (stderr, "%02hhx", zdata[k]);
    230224          if (k % 2) fprintf (stderr, " ");
     
    256250 
    257251      if (VERBOSE_DUMP) {
    258         int k;
    259252        fprintf (stderr, "u3: ");
    260         for (k = 0; k < Nzdata; k++) {
     253        for (int k = 0; k < Nzdata; k++) {
    261254          fprintf (stderr, "%02hhx", zdata[k]);
    262255          if (k % 2) fprintf (stderr, " ");
     
    277270
    278271      if (VERBOSE_DUMP) {
    279         unsigned long int k;
    280272        fprintf (stderr, "u2: ");
    281         for (k = 0; k < Nraw*fields[i].pixsize; k++) {
     273        for (unsigned long int k = 0; k < Nraw*fields[i].pixsize; k++) {
    282274          fprintf (stderr, "%02hhx", raw[k]);
    283275          if (k % 2) fprintf (stderr, " ");
     
    305297 
    306298      if (VERBOSE_DUMP) {
    307         unsigned long int k;
    308299        fprintf (stderr, "u1: ");
    309         for (k = 0; k < Nraw*fields[i].pixsize; k++) {
     300        for (unsigned long int k = 0; k < Nraw*fields[i].pixsize; k++) {
    310301          fprintf (stderr, "%02hhx", raw[k]);
    311302          if (k % 2) fprintf (stderr, " ");
     
    362353int gfits_distribute_table_data (FTable *table, TableField *field, char *raw, int row_start, int Nrows) {
    363354
    364   off_t i;
    365 
    366355  // we are copying NN rows into the column which starts at XX and has MM bytes per row
    367356
     
    373362
    374363  if (VERBOSE) fprintf (stderr, "distribute: ");
    375   for (i = 0; i < Nrows; i++, tblbuffer += Nx) {
     364  for (off_t i = 0; i < Nrows; i++, tblbuffer += Nx) {
    376365    memcpy (tblbuffer, &raw[i*rowsize], rowsize);
    377366# if (VERBOSE)
    378     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]);
    379368# endif
    380369  }
     
    385374
    386375int gfits_distribute_table_gzp2 (FTable *table, TableField *field, char *raw, int row_start, int Nrows) {
    387 
    388   off_t i, j, k;
    389376
    390377  // we are copying NN rows into the column which starts at XX and has MM bytes per row
     
    397384  char *rawptr = raw;
    398385
    399   for (k = 0; k < field->pixsize; k++) {
     386  for (off_t k = 0; k < field->pixsize; k++) {
    400387# ifdef BYTE_SWAP     
    401388    char *tblptr_start = &table->buffer[Nx*row_start + offset + (pixsize - k - 1)];
     
    403390    char *tblptr_start = &table->buffer[Nx*row_start + offset + k];
    404391# endif
    405     for (i = 0; i < Nrows; i++, tblptr_start += Nx) {
     392    for (off_t i = 0; i < Nrows; i++, tblptr_start += Nx) {
    406393      char *tblptr = tblptr_start;
    407       for (j = 0; j < Nvalues; j++, tblptr += pixsize, rawptr++) {
     394      for (off_t j = 0; j < Nvalues; j++, tblptr += pixsize, rawptr++) {
    408395        *tblptr = *rawptr;
    409396      }
     
    415402int gfits_distribute_table_gzp2_alt (FTable *table, TableField *field, char *raw, int row_start, int Nrows) {
    416403 
    417   off_t i, j, k;
    418  
    419404  // we are copying NN rows into the column which starts at XX and has MM bytes per row
    420405 
    421406  off_t Nx = table->header->Naxis[0];
    422407 
    423   for (k = 0; k < field->pixsize; k++) {
    424     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++) {
    425410      int row = row_start + i;
    426411      char *rawptr = &raw[i*field->Nvalues + k*Nrows*field->Nvalues];
     
    430415      char *tblptr = &table->buffer[Nx*row + field->offset + k];
    431416# endif
    432       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++) {
    433418        *tblptr = *rawptr;
    434419      }
Note: See TracChangeset for help on using the changeset viewer.