IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

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

converting some dangerous loop variables to inline

File:
1 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");
Note: See TracChangeset for help on using the changeset viewer.