IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 28484 for branches/pap/Ohana


Ignore:
Timestamp:
Jun 24, 2010, 2:59:09 PM (16 years ago)
Author:
Paul Price
Message:

Merging trunk in advance of reintegrating into trunk.

Location:
branches/pap
Files:
138 edited
6 copied

Legend:

Unmodified
Added
Removed
  • branches/pap

  • branches/pap/Ohana

  • branches/pap/Ohana/Makefile.in

    r22741 r28484  
    3131delstar     \
    3232dvosplit    \
     33dvomerge    \
    3334elixir      \
    3435gastro      \
  • branches/pap/Ohana/configure.tcsh

    r27482 r28484  
    186186
    187187# use_gnu99
    188 if ($use_gnu99) set CFLAGS = "$CFLAGS -std=gnu99"
     188if ($use_gnu99) then
     189    set CFLAGS = "$CFLAGS -std=gnu99"
     190else
     191    set CFLAGS = "$CFLAGS -std=gnu89"
     192endif
    189193
    190194# no_largefiles
     
    670674  --use-tcmalloc          use the alternate tcmalloc from Google
    671675  --use-gnu99             use gnu99 flags to ensure C99 compatibility
    672   --use-largefiles        ensure large file compatibility
     676  --no-largefiles         skip large file compatibility
    673677
    674678Installation directories:
  • branches/pap/Ohana/src/addstar/src/ConfigInit.c

    r27435 r28484  
    77  double ZERO_POINT;
    88  char *config, *file;
    9   char RadiusWord[80];
     9  char RadiusWord[80], tmpword[80];
    1010  char CatdirPhotcodeFile[256];
    1111  char MasterPhotcodeFile[256];
     
    6868  ScanConfig (config, "CCDNUM-KEYWORD",         "%s",  0, CCDNumKeyword);
    6969  ScanConfig (config, "ST-KEYWORD",             "%s",  0, STKeyword);
    70   ScanConfig (config, "OBSERVATORY-LATITUDE",   "%lf", 0, &Latitude);
    71   ScanConfig (config, "OBSERVATORY-LONGITUDE",  "%lf", 0, &Longitude);
     70
     71  ScanConfig (config, "OBSERVATORY-LATITUDE",   "%s",  0, tmpword);
     72  if (!strcasecmp(tmpword, "NONE")) {
     73      fprintf (stderr, "observatory latitude is not set\n");
     74      Latitude = NAN;
     75  } else {
     76      ScanConfig (config, "OBSERVATORY-LATITUDE",   "%lf", 0, &Latitude);
     77  }
     78  ScanConfig (config, "OBSERVATORY-LONGITUDE",   "%s",  0, tmpword);
     79  if (!strcasecmp(tmpword, "NONE")) {
     80      fprintf (stderr, "observatory longitude is not set\n");
     81      Longitude = NAN;
     82  } else {
     83      ScanConfig (config, "OBSERVATORY-LONGITUDE",  "%lf", 0, &Longitude);
     84  }
     85  fprintf (stderr, "observatory @ (%f,%f)\n", Longitude, Latitude);
     86
     87  if (!strcasecmp(STKeyword, "NONE")) {
     88      if (isnan(Longitude)) {
     89          fprintf (stderr, "WARNING: ST cannot be determined for this image (no ST Keyword, no longitude)\n");
     90      } else {
     91          fprintf (stderr, "ST Keyword is not defined, ST will be derived from time & longitude\n");
     92      }
     93  }
     94
    7295  ScanConfig (config, "SUBPIX_DATAFILE",        "%s",  0, SubpixDatafile);
    7396
  • branches/pap/Ohana/src/addstar/src/FilterStars.c

    r27435 r28484  
    5454    /* calculate accurate per-star airmass and azimuth */
    5555    stars[N].measure.airmass = airmass (image[0].secz, stars[N].average.R, stars[N].average.D, image[0].sidtime, image[0].latitude);
    56     stars[N].measure.az      = azimuth (image[0].sidtime - stars[N].average.R, stars[N].average.D, image[0].latitude);
     56    stars[N].measure.az      = azimuth (15.0*image[0].sidtime - stars[N].average.R, stars[N].average.D, image[0].latitude);
    5757    stars[N].measure.Mcal    = image[0].Mcal;
    5858    stars[N].measure.t       = image[0].tzero + 1e-4*stars[N].measure.Yccd*image[0].trate;  /* trate is in 0.1 msec / row */
  • branches/pap/Ohana/src/addstar/src/LoadStars.c

    r27435 r28484  
    8181      continue;
    8282    }
    83     if (VERBOSE) fprintf (stderr, "file %s has %d headers, including %lld images\n", file[i], Nheaders, (long long) NheaderSets);
     83    if (VERBOSE) fprintf (stderr, "file %s has %d headers, including "OFF_T_FMT" images\n", file[i], Nheaders, NheaderSets);
    8484
    8585    /* supplied photcode is incompatible with multi-chip images */
  • branches/pap/Ohana/src/addstar/src/ReadImageHeader.c

    r27435 r28484  
    148148  image[0].fwhm_y = tmp * 25.0 * image[0].coords.cdelt1 * 3600.0;
    149149
    150   if (STKeyword[0]) {
     150  if (STKeyword[0] && strcasecmp(STKeyword, "NONE")) {
    151151    /* get ST (used for airmass calculation) */
    152152    gfits_scan (header, STKeyword, "%s", 1, line);
  • branches/pap/Ohana/src/addstar/src/SkyTableFromTychoIndex.c

    r27435 r28484  
    147147    skytable[0].filename[i] = NULL;
    148148  }
    149   if (VERBOSE) fprintf (stderr, "loaded %lld tables from tycho index\n", (long long) skytable[0].Nregions);
     149  if (VERBOSE) fprintf (stderr, "loaded "OFF_T_FMT" tables from tycho index\n", skytable[0].Nregions);
    150150
    151151  return (skytable);
  • branches/pap/Ohana/src/addstar/src/UpdateImageIDs.c

    r27435 r28484  
    5555
    5656  if (isEmpty) {
    57     dvo_image_addrows (&db, NULL, 0);
     57    if (!dvo_image_addrows (&db, NULL, 0)) Shutdown ("failed to create image table");
    5858    SetProtect (TRUE);
    59     dvo_image_update (&db, VERBOSE);
     59    if (!dvo_image_update (&db, VERBOSE)) Shutdown ("failed to update image table");
    6060    SetProtect (FALSE);
    6161  } else {
  • branches/pap/Ohana/src/addstar/src/addstar.c

    r27435 r28484  
    4848        newlist = SkyListByImage (sky, -1, &images[i]);
    4949        SkyListMerge (&skylist, newlist);
    50         if (VERBOSE) fprintf (stderr, "added %lld regions to yield %lld total\n", (long long) newlist[0].Nregions, (long long) skylist[0].Nregions);
     50        if (VERBOSE) fprintf (stderr, "added "OFF_T_FMT" regions to yield "OFF_T_FMT" total\n",  newlist[0].Nregions, skylist[0].Nregions);
    5151        SkyListFree (newlist);
    5252      }
     
    8080    skylist = tmp;
    8181  }
    82   if (VERBOSE) fprintf (stderr, "writing to %lld regions\n", (long long) skylist[0].Nregions);
     82  if (VERBOSE) fprintf (stderr, "writing to "OFF_T_FMT" regions\n", skylist[0].Nregions);
    8383
    8484  /* don't load the object tables for only_images, unless we are getting the calibration. */
     
    213213  gettimeofday (&stop, NULL);
    214214  dtime = DTIME (stop, start);
    215   fprintf (stderr, "SUCCESS: elapsed time %9.4f sec for %5d stars (%5d matches), %6lld average, %7lld measure\n", dtime, Nstars, Nmatch, (long long) Naverage, (long long) Nmeasure);
     215  fprintf (stderr, "SUCCESS: elapsed time %9.4f sec for %5d stars (%5d matches), "OFF_T_FMT" average, "OFF_T_FMT" measure\n", dtime, Nstars, Nmatch,  Naverage, Nmeasure);
    216216
    217217  exit (0);
  • branches/pap/Ohana/src/addstar/src/find_matches.c

    r27582 r28484  
    33int find_matches (SkyRegion *region, Stars *stars, unsigned int NstarsIn, Catalog *catalog, AddstarClientOptions options) {
    44
    5   off_t i, j, n, N, J, status, Nstars;
     5  off_t i, j, n, N, J, Nstars;
    66  double RADIUS, RADIUS2;
    77  double *X1, *Y1, *X2, *Y2;
     
    99  off_t *N1, *N2, *next_meas;
    1010  off_t Nave, NAVE, Nmeas, NMEAS, Nmatch;
    11   int Nsecfilt, Nsec;
     11  int Nsecfilt, Nsec, status;
    1212  unsigned int objID, catID;
    1313  Coords tcoords;
     
    356356  catalog[0].Nmeasure = Nmeas;
    357357  catalog[0].Nsecf_mem = Nave*Nsecfilt;
    358   if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
     358  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas, Nmatch);
    359359
    360360  free (catalog[0].found);
  • branches/pap/Ohana/src/addstar/src/find_matches_closest.c

    r27582 r28484  
    350350  catalog[0].Nmeasure = Nmeas;
    351351  catalog[0].Nsecf_mem = Nave*Nsecfilt;
    352   if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
     352  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas, Nmatch);
    353353
    354354  free (catalog[0].found);
  • branches/pap/Ohana/src/addstar/src/find_matches_closest_refstars.c

    r27790 r28484  
    361361  catalog[0].Nmeasure = Nmeas;
    362362  catalog[0].Nsecf_mem = Nave*Nsecfilt;
    363   if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
     363  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas, Nmatch);
    364364
    365365  free (catalog[0].found);
  • branches/pap/Ohana/src/addstar/src/find_matches_refstars.c

    r27582 r28484  
    329329  catalog[0].Nmeasure = Nmeas;
    330330  catalog[0].Nsecf_mem = Nave*Nsecfilt;
    331   if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
     331  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %d "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas, Nmatch);
    332332
    333333  free (catalog[0].found);
  • branches/pap/Ohana/src/addstar/src/sky_tessalation.c

    r27435 r28484  
    940940int dvo_image_clear_vtable (FITS_DB *db) {
    941941
    942   int i;
     942  int i, nbytes;
    943943
    944944  // free memory used by the current vtable rows
     
    951951
    952952  // reset db[0].theader(NAXIS1) to match Image
    953   gfits_modify (&db[0].theader, "NAXIS1", "%lld", 1, (long long) sizeof(Image));
     953  nbytes = sizeof(Image);
     954  gfits_modify (&db[0].theader, "NAXIS1", "%d", 1,  nbytes);
    954955  db[0].theader.Naxis[0] = sizeof(Image);
    955956
  • branches/pap/Ohana/src/addstar/test

    • Property svn:ignore
      •  

        old new  
         1test.cmf
        12test.1.cmf
        23test.2.cmf
        34test.in.txt
        45catdir.test
         6catdir.test1
         7catdir.test2
         8catdir.test3
        59.dvo
        610relphot.airmass.png
  • branches/pap/Ohana/src/addstar/test/dvomerge.dvo

    r27435 r28484  
    3030  exec rsync -auc catdir.test2/ catdir.test3/
    3131
     32  date -var t1 -seconds -reftime 1276000000
    3233  exec dvomerge catdir.test1 into catdir.test3
     34  date -var t2 -seconds -reftime 1276000000
     35  echo "merge time: {$t2 - $t1}"
    3336
    3437  catdir catdir.test3
     
    105108end
    106109
    107 # create 2 populated catdirs, each with a couple of cmf files
    108 macro test.dvomerge.create
    109 
    110   tapPLAN 21
     110# create 1 populated catdir, merge into currently non-existent catdir
     111macro test.dvomerge.update.new
     112
     113  tapPLAN 51
     114
     115  exec rm -rf catdir.test1
     116  exec rm -rf catdir.test2
     117
     118  $RA = 10.0
     119  $DEC = 20.0
     120
     121  mkinput
     122  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 01:00:00 -radec $RA $DEC
     123  exec addstar -D CATDIR catdir.test1 -D CAMERA simtest test.cmf
     124
     125  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 02:00:00 -radec $RA $DEC
     126  exec addstar -D CATDIR catdir.test1 -D CAMERA simtest test.cmf
     127
     128  date -var t1 -seconds -reftime 1276000000
     129  exec dvomerge catdir.test1 into catdir.test2
     130  date -var t2 -seconds -reftime 1276000000
     131  echo "merge time: {$t2 - $t1}"
     132
     133  catdir catdir.test2
     134  skyregion {$RA-1} {$RA+1} {$DEC-1} {$DEC+1}
     135  mextract ra dec mag
     136  create n 0 ra[]
     137  subset r0 = ra if (n % 2 == 0)
     138  subset r1 = ra if (n % 2 == 1)
     139
     140  catdir catdir.test1/
     141  mextract RA DEC MAG
     142  create N 0 RA[]
     143  subset R0 = RA if (N % 2 == 0)
     144  subset R1 = RA if (N % 2 == 1)
     145
     146  set dr0 = r0 - R0
     147  vstat -q dr0
     148  tapOK {abs($MEAN)  < 0.001} "ra (in - 0) vs ra (out - 0) (MEAN)"
     149  tapOK {abs($SIGMA) < 0.001} "ra (in - 0) vs ra (out - 0) (SIGMA)"
     150
     151  set dr1 = r1 - R1
     152  vstat -q dr1
     153  tapOK {abs($MEAN)  < 0.001} "ra (in - 0) vs ra (out - 0) (MEAN)"
     154  tapOK {abs($SIGMA) < 0.001} "ra (in - 0) vs ra (out - 0) (SIGMA)"
     155
     156  # check on updates to imageID
     157  catdir catdir.test3
     158  imextract imageID
     159  sort imageID
     160  tapOK {imageID[]  == 4} "image IDs exist"
     161  tapOK {imageID[0] == 1} "updated image IDs"
     162  tapOK {imageID[1] == 2} "updated image IDs"
     163
     164  catdir catdir.test2
     165  mextract imageID, time
     166  set id = imageID
     167  set t = time
     168  imextract imageID, time
     169
     170  for i 0 time[]
     171    subset T = t if (id == imageID[$i])
     172    set dT = T - time[$i]
     173    vstat -q dT
     174    tapOK {abs($MEAN)  < 0.00001} "time for measure ID $i (MEAN)"
     175    tapOK {abs($SIGMA) < 0.00001} "time for measure ID $i (SIGMA)"
     176  end
     177
     178  # exec rm test.in.txt test.cmf
     179  # exec rm -rf catdir.test1
     180  # exec rm -rf catdir.test2
     181  # exec rm -rf catdir.test3
     182
     183  tapDONE
     184end
     185
     186# create 2 populated catdirs, each with a couple of cmf files -- force some unmatched objects
     187macro test.dvomerge.update.extras
     188
     189  tapPLAN 51
    111190
    112191  exec rm -rf catdir.test1
     
    124203  exec addstar -D CATDIR catdir.test1 -D CAMERA simtest test.cmf
    125204
     205  # generate a few extra unmatched sources
     206  mkinput.extras
    126207  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 03:00:00 -radec $RA $DEC
    127208  exec addstar -D CATDIR catdir.test2 -D CAMERA simtest test.cmf
     
    130211  exec addstar -D CATDIR catdir.test2 -D CAMERA simtest test.cmf
    131212
    132   exec dvomerge catdir.test1 and catdir.test2 to catdir.test3
     213  exec rsync -auc catdir.test2/ catdir.test3/
     214
     215  exec dvomerge catdir.test1 into catdir.test3
    133216
    134217  catdir catdir.test3
     
    205288end
    206289
     290# create 2 populated catdirs, each with a couple of cmf files
     291macro test.dvomerge.create
     292
     293  tapPLAN 21
     294
     295  exec rm -rf catdir.test1
     296  exec rm -rf catdir.test2
     297  exec rm -rf catdir.test3
     298
     299  $RA = 10.0
     300  $DEC = 20.0
     301
     302  mkinput
     303  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 01:00:00 -radec $RA $DEC
     304  exec addstar -D CATDIR catdir.test1 -D CAMERA simtest test.cmf
     305
     306  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 02:00:00 -radec $RA $DEC
     307  exec addstar -D CATDIR catdir.test1 -D CAMERA simtest test.cmf
     308
     309  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 03:00:00 -radec $RA $DEC
     310  exec addstar -D CATDIR catdir.test2 -D CAMERA simtest test.cmf
     311
     312  exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 04:00:00 -radec $RA $DEC
     313  exec addstar -D CATDIR catdir.test2 -D CAMERA simtest test.cmf
     314
     315  exec dvomerge catdir.test1 and catdir.test2 to catdir.test3
     316
     317  catdir catdir.test3
     318  skyregion {$RA-1} {$RA+1} {$DEC-1} {$DEC+1}
     319  mextract ra dec mag
     320  create n 0 ra[]
     321  subset r0 = ra if (n % 4 == 0)
     322  subset r1 = ra if (n % 4 == 1)
     323  subset r2 = ra if (n % 4 == 2)
     324  subset r3 = ra if (n % 4 == 3)
     325
     326  catdir catdir.test1/
     327  mextract RA DEC MAG
     328  create N 0 RA[]
     329  subset R0 = RA if (N % 2 == 0)
     330  subset R1 = RA if (N % 2 == 1)
     331
     332  set dr0 = r0 - R0
     333  vstat -q dr0
     334  tapOK {abs($MEAN)  < 0.001} "ra (in - 0) vs ra (out - 0) (MEAN)"
     335  tapOK {abs($SIGMA) < 0.001} "ra (in - 0) vs ra (out - 0) (SIGMA)"
     336
     337  set dr1 = r1 - R1
     338  vstat -q dr1
     339  tapOK {abs($MEAN)  < 0.001} "ra (in - 0) vs ra (out - 0) (MEAN)"
     340  tapOK {abs($SIGMA) < 0.001} "ra (in - 0) vs ra (out - 0) (SIGMA)"
     341
     342  catdir catdir.test2/
     343  mextract RA DEC MAG
     344  create N 0 RA[]
     345  subset R2 = RA if (N % 2 == 0)
     346  subset R3 = RA if (N % 2 == 1)
     347
     348  set dr2 = r2 - R2
     349  vstat -q dr2
     350  tapOK {abs($MEAN)  < 0.001} "ra (in - 0) vs ra (out - 0) (MEAN)"
     351  tapOK {abs($SIGMA) < 0.001} "ra (in - 0) vs ra (out - 0) (SIGMA)"
     352
     353  set dr3 = r3 - R3
     354  vstat -q dr3
     355  tapOK {abs($MEAN)  < 0.001} "ra (in - 0) vs ra (out - 0) (MEAN)"
     356  tapOK {abs($SIGMA) < 0.001} "ra (in - 0) vs ra (out - 0) (SIGMA)"
     357
     358  # check on updates to imageID
     359  catdir catdir.test3
     360  imextract imageID
     361  sort imageID
     362  tapOK {imageID[]  == 4} "image IDs exist"
     363  tapOK {imageID[0] == 1} "updated image IDs"
     364  tapOK {imageID[1] == 2} "updated image IDs"
     365  tapOK {imageID[2] == 3} "updated image IDs"
     366  tapOK {imageID[3] == 4} "updated image IDs"
     367
     368  catdir catdir.test3
     369  mextract imageID, time
     370  set id = imageID
     371  set t = time
     372  imextract imageID, time
     373
     374  for i 0 time[]
     375    subset T = t if (id == imageID[$i])
     376    set dT = T - time[$i]
     377    vstat -q dT
     378    tapOK {abs($MEAN)  < 0.00001} "time for measure ID $i (MEAN)"
     379    tapOK {abs($SIGMA) < 0.00001} "time for measure ID $i (SIGMA)"
     380  end
     381
     382  # exec rm test.in.txt test.cmf
     383  # exec rm -rf catdir.test1
     384  # exec rm -rf catdir.test2
     385  # exec rm -rf catdir.test3
     386
     387  tapDONE
     388end
     389
    207390# make a simple input file for mkcmf
    208391macro mkinput.alt
     
    225408  for i 10 1024 100
    226409    for j 10 1024 100
     410      fprintf " %4d %4d  %6.2f" $i $j {-15.0 + 2.5*($i + $j)/1000.0}
     411    end
     412  end
     413  output stdout
     414end
     415
     416# make a simple input file for mkcmf
     417macro mkinput.extras
     418  exec rm -f test.in.txt
     419
     420  output test.in.txt
     421  for i 10 1024 100
     422    for j 10 1024 100
     423      fprintf " %4d %4d  %6.2f" $i $j {-15.0 + 2.5*($i + $j)/1000.0}
     424    end
     425  end
     426  for i 20 1024 500
     427    for j 20 1024 500
    227428      fprintf " %4d %4d  %6.2f" $i $j {-15.0 + 2.5*($i + $j)/1000.0}
    228429    end
  • branches/pap/Ohana/src/delstar/src/delete_imagename.c

    r27435 r28484  
    7777  Noutimage = Nimage - Nimlist;
    7878 
    79   if (VERBOSE) fprintf (stderr, "removing %lld images (leaving %lld of %lld)\n", (long long) Nimlist, (long long) Noutimage, (long long) Nimage);
     79  if (VERBOSE) fprintf (stderr, "removing "OFF_T_FMT" images (leaving "OFF_T_FMT" of "OFF_T_FMT")\n",  Nimlist,  Noutimage, Nimage);
    8080  // gfits_table_set_Image (&db[0].ftable, outimage, Noutimage);
    8181
    82   gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Noutimage);
    83   gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, (long long) Noutimage);
     82  gfits_modify (&db[0].theader, "NAXIS2", OFF_T_FMT, 1, Noutimage);
     83  gfits_modify (&db[0].header, "NIMAGES", OFF_T_FMT, 1, Noutimage);
    8484  db[0].theader.Naxis[1] = Noutimage;
    8585  db[0].ftable.buffer = (char *) outimage;
  • branches/pap/Ohana/src/delstar/src/delete_missed.c

    r27435 r28484  
    1111  Nmiss = catalog[0].Nmissing;
    1212 
    13   if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
     13  if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas, Nmiss);
    1414
    1515  /* set up references for missing to average */
     
    1919  REALLOCATE (catalog[0].missing, Missing, 1);
    2020  catalog[0].Nmissing = 0;
    21   if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
     21  if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas, Nmiss);
    2222}
    2323
  • branches/pap/Ohana/src/delstar/src/find_matches.c

    r27435 r28484  
    2222  ALLOCATE (ave_miss, off_t, MAX(Nmiss,1));
    2323 
    24   if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
     24  if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas, Nmiss);
    2525
    2626  /* set up pointers for linked list of measure */
     
    7575      if (next_meas[j] != i) {
    7676        fprintf (stderr, "error? (1)  this link seems to have been lost\n");
    77         fprintf (stderr, "j: %lld, next_meas[j]: %lld, i: %lld\n", (long long) j, (long long) next_meas[j], (long long) i);
     77        fprintf (stderr, "j: "OFF_T_FMT", next_meas[j]: "OFF_T_FMT", i: "OFF_T_FMT"\n",  j,  next_meas[j], i);
    7878        exit (1);
    7979      }
     
    108108        if (next_miss[j] != m) {
    109109          fprintf (stderr, "error? (2) this link seems to have been lost\n");
    110           fprintf (stderr, "j: %lld, next_miss[j]: %lld, i: %lld\n", (long long) j, (long long) next_miss[j], (long long) i);
     110          fprintf (stderr, "j: "OFF_T_FMT", next_miss[j]: "OFF_T_FMT", i: "OFF_T_FMT"\n",  j,  next_miss[j], i);
    111111          exit (1);
    112112        }
     
    131131    }
    132132  }
    133   fprintf (stderr, "found %lld meas to remove\n", (long long) Nmeasfound);
     133  fprintf (stderr, "found "OFF_T_FMT" meas to remove\n", Nmeasfound);
    134134
    135135  if (VERBOSE) fprintf (stderr, "fixing missing...");
     
    146146      if (next_miss[j] != i) {
    147147        fprintf (stderr, "error? (3) this link seems to have been lost\n");
    148         fprintf (stderr, "j: %lld, next_miss[j]: %lld, i: %lld\n", (long long) j, (long long) next_miss[j], (long long) i);
     148        fprintf (stderr, "j: "OFF_T_FMT", next_miss[j]: "OFF_T_FMT", i: "OFF_T_FMT"\n",  j,  next_miss[j], i);
    149149        exit (1);
    150150      }
     
    249249  catalog[0].Nsecf_mem = Nave*Nsecfilt;
    250250
    251   if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
     251  if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas, Nmiss);
    252252
    253253  free (next_meas);
  • branches/pap/Ohana/src/dvomerge/src/LoadCatalog.c

    r24745 r28484  
    77    catalog[0].Nsecfilt  = GetPhotcodeNsecfilt ();
    88
    9     if (!strcmp (mode, "w")) {
    10         catalog[0].catflags = LOAD_NONE;
    11     } else {
    12         catalog[0].catflags = LOAD_AVES | LOAD_MEAS | LOAD_MISS | LOAD_SECF;
    13     }
     9    // always load all of the data (if any exists)
     10    catalog[0].catflags = LOAD_AVES | LOAD_MEAS | LOAD_MISS | LOAD_SECF;
    1411
    1512    catalog[0].catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
  • branches/pap/Ohana/src/dvomerge/src/dvo_image_merge_dbs.c

    r27435 r28484  
    11# include "dvomerge.h"
     2
     3void sort_IDmap (IDmapType *IDmap);
    24
    35// merge db2 into db1
     
    1719 /* adjust header */
    1820  Nout = 0;
    19   gfits_scan (&out[0].header, "NIMAGES", "%lld", 1, (long long *) &Nout);
    20   status = gfits_scan (&out[0].header, "IMAGEID", "%lld", 1, (long long *) &IDstart);
     21  gfits_scan (&out[0].header, "NIMAGES", OFF_T_FMT, 1, &Nout);
     22  status = gfits_scan (&out[0].header, "IMAGEID", OFF_T_FMT, 1, &IDstart);
    2123  if (!status) {
    2224    IDstart = 1;
     
    2931  }
    3032
     33  // sort IDmap->old,new on the basis of IDmap->old:
     34  sort_IDmap (IDmap);
     35
    3136  if (!out[0].swapped) {
    3237    gfits_convert_Image ((Image *) out[0].ftable.buffer, sizeof(Image), Nout);
     
    3641  Nout += Nimages;
    3742  IDstart += Nimages;
    38   gfits_modify (&out[0].header, "NIMAGES", "%lld", 1, (long long) Nout);
    39   gfits_modify (&out[0].header, "IMAGEID", "%lld", 1, (long long) IDstart);
     43  gfits_modify (&out[0].header, "NIMAGES", OFF_T_FMT, 1, Nout);
     44  gfits_modify (&out[0].header, "IMAGEID", OFF_T_FMT, 1, IDstart);
    4045
    4146  gfits_add_rows (&out[0].ftable, (char *) images, Nimages, sizeof(Image));
     
    4348}
    4449
    45 // optimize with sort and bisection
     50// XXX isn't the map just ID_new = ID_old + offset ??
    4651off_t dvo_map_image_ID (IDmapType *IDmap, off_t oldID) {
    4752
    48   off_t i;
     53  // off_t i;
     54  //
     55  // for (i = 0; i < IDmap->Nmap; i++) {
     56  //   if (IDmap->old[i] != oldID) continue;
     57  //   return (IDmap->new[i]);
     58  // }
    4959
    50   for (i = 0; i < IDmap->Nmap; i++) {
    51     if (IDmap->old[i] != oldID) continue;
    52     return (IDmap->new[i]);
     60  off_t Nlo, Nhi, N;
     61
     62  // find the a close entry below desired ID
     63  Nlo = 0; Nhi = IDmap->Nmap;
     64  while (Nhi - Nlo > 10) {
     65    N = 0.5*(Nlo + Nhi);
     66    if (IDmap->old[N] < oldID) {
     67      Nlo = MAX(N, 0);
     68    } else {
     69      Nhi = MIN(N + 1, IDmap->Nmap);
     70    }
     71  }
     72
     73  // search for the desired ID starting from Nlo, give up at Nhi
     74  for (N = Nlo; N < Nhi; N++) {
     75    if (IDmap->old[N] < oldID) continue;
     76    if (IDmap->old[N] > oldID) return 0;
     77    return (IDmap->new[N]);
    5378  }
    5479  return 0;
     
    6590    newID = dvo_map_image_ID (IDmap, oldID);
    6691    if (newID == 0) {
    67       fprintf (stderr, "cannot find image ID %lld\n", (long long) oldID);
     92      fprintf (stderr, "cannot find image ID "OFF_T_FMT"\n", oldID);
    6893      exit (2);
    6994    }
     
    7297  return TRUE;
    7398}
     99
     100// sort two times vectors and an index by first time vector
     101void sort_IDmap (IDmapType *IDmap) {
     102
     103# define SWAPFUNC(A,B){ off_t tmp_old, tmp_new;    \
     104  tmp_old = IDmap->old[A]; IDmap->old[A] = IDmap->old[B]; IDmap->old[B] = tmp_old; \
     105  tmp_new = IDmap->new[A]; IDmap->new[A] = IDmap->new[B]; IDmap->new[B] = tmp_new; \
     106}
     107# define COMPARE(A,B)(IDmap->old[A] < IDmap->old[B])
     108
     109  OHANA_SORT (IDmap->Nmap, COMPARE, SWAPFUNC);
     110
     111# undef SWAPFUNC
     112# undef COMPARE
     113
     114}
     115
  • branches/pap/Ohana/src/dvomerge/src/dvoconvert.c

    r27584 r28484  
    150150
    151151  // update additional metadata
    152   gfits_scan (&inDB.header, "IMAGEID", "%lld", 1, (long long *) &ID);
    153   gfits_modify (&outDB.header, "NIMAGES", "%lld", 1, (long long) Nimages);
    154   gfits_modify (&outDB.header, "IMAGEID", "%lld", 1, (long long) ID);
     152  gfits_scan (&inDB.header, "IMAGEID", OFF_T_FMT, 1, &ID);
     153  gfits_modify (&outDB.header, "NIMAGES", OFF_T_FMT, 1, Nimages);
     154  gfits_modify (&outDB.header, "IMAGEID", OFF_T_FMT, 1, ID);
    155155
    156156  // copy input rows to output table
  • branches/pap/Ohana/src/dvomerge/src/dvomerge.c

    r27583 r28484  
    77  ConfigInit (&argc, argv);
    88  dvomerge_args (&argc, argv);
     9
     10  // XXX require both inputs to be sorted?
    911
    1012  if (argc == 6) dvomergeCreate (argc, argv);
  • branches/pap/Ohana/src/dvomerge/src/dvomergeUpdate.c

    r27583 r28484  
    1616  output = argv[3];
    1717
    18   // the first input defines the photcode table & db layout
    19   sprintf (filename, "%s/Photcodes.dat", input);
     18  // since we are merging the input db into the output db, the output defines the photcode
     19  // table & db layout but, this requires the output to exist.  if it does not, instead use the
     20  // input.
     21  sprintf (filename, "%s/Photcodes.dat", output);
    2022  if (!LoadPhotcodes (filename, NULL, FALSE)) {
    21     fprintf (stderr, "error loading photcode table %s\n", filename);
    22     exit (1);
     23    sprintf (filename, "%s/Photcodes.dat", input);
     24    if (!LoadPhotcodes (filename, NULL, FALSE)) {
     25      fprintf (stderr, "error loading photcode table: tried %s/Photcodes.dat and %s/Photcodes.dat\n", output, input);
     26      exit (1);
     27    }
     28    if (!check_dir_access (output, VERBOSE)) {
     29      fprintf (stderr, "error creating output database directory %s\n", output);
     30      exit (1);
     31    }   
     32    sprintf (filename, "%s/Photcodes.dat", output);
     33    if (!SavePhotcodesFITS (filename)) {
     34      fprintf (stderr, "error saving photcode table in %s/Photcodes.dat\n", output);
     35      exit (1);
     36    }   
    2337  }
    2438
     
    2741  // load the sky table for the existing database
    2842  insky = SkyTableLoadOptimal (input, NULL, NULL, FALSE, SKY_DEPTH_HST, VERBOSE);
     43  if (!insky) {
     44      Shutdown ("can't read SkyTable for %s", input);
     45  }
    2946  SkyTableSetFilenames (insky, input, "cpt");
    3047
    3148  // generate an output table populated at the desired depth
    32   outsky = SkyTableLoadOptimal (output, NULL, NULL, TRUE, SKY_DEPTH, VERBOSE);
     49  outsky = SkyTableLoadOptimal (output, NULL, GSCFILE, TRUE, SKY_DEPTH, VERBOSE);
     50  if (!outsky) {
     51      Shutdown ("can't read or create SkyTable for %s", output);
     52  }
    3353  SkyTableSetFilenames (outsky, output, "cpt");
    3454
     
    4363    if (VERBOSE) fprintf (stderr, "output: %s\n", outsky[0].regions[i].name);
    4464
    45     // load / create output catalog
    46     LoadCatalog (&outcatalog, &outsky[0].regions[i], outsky[0].filename[i], "a");
     65    // load / create output catalog (if catalog does not exist, it will be created)
     66    LoadCatalog (&outcatalog, &outsky[0].regions[i], outsky[0].filename[i], "w");
    4767
    4868    // combine only tables at equal or larger depth
    4969     
    5070    // load in all of the tables from input for this region
    51     inlist = SkyListByBounds (insky, depth, outsky[0].regions[i].Rmin, outsky[0].regions[i].Rmax, outsky[0].regions[i].Dmin, outsky[0].regions[i].Dmax);
     71    // SkyListByBounds will return neighbor catalogs if the boundaries exactly match (due to rounding).  Since the regions are not infinitely small,
     72    // compare to a slightly reduced footprint
     73    float dPos = 2.0/3600.0;
     74    inlist = SkyListByBounds (insky, depth, outsky[0].regions[i].Rmin + dPos, outsky[0].regions[i].Rmax - dPos, outsky[0].regions[i].Dmin + dPos, outsky[0].regions[i].Dmax - dPos);
    5275    for (j = 0; j < inlist[0].Nregions; j++) {
    5376      if (VERBOSE) fprintf (stderr, "input : %s\n", inlist[0].regions[j][0].name);
     
    6689      dvo_catalog_unlock (&incatalog);
    6790      dvo_catalog_free (&incatalog);
     91
     92      fprintf (stderr, "merged %s into %s\n", outsky[0].regions[i].name, inlist[0].regions[j][0].name);
    6893    }
    6994    SkyListFree (inlist);
     
    102127  // load the image table
    103128  if (inDB.dbstate == LCK_EMPTY) {
    104     Shutdown ("can't find input (1) image catalog %s", inDB.filename);
     129    Shutdown ("can't find input image catalog %s", inDB.filename);
    105130  }
    106131  if (!dvo_image_load (&inDB, VERBOSE, TRUE)) {
    107     Shutdown ("can't read input (1) image catalog %s", inDB.filename);
     132    Shutdown ("can't read input image catalog %s", inDB.filename);
    108133  }
    109134
     
    117142  /* load the image table */
    118143  if (outDB.dbstate == LCK_EMPTY) {
    119     Shutdown ("can't find input (2) image catalog %s", outDB.filename);
    120   }
    121   if (!dvo_image_load (&outDB, VERBOSE, TRUE)) {
    122     Shutdown ("can't read input (2) image catalog %s", outDB.filename);
     144    dvo_image_create (&outDB, GetZeroPoint());
     145  } else {
     146    if (!dvo_image_load (&outDB, VERBOSE, TRUE)) {
     147      Shutdown ("can't read output image catalog %s", outDB.filename);
     148    }
    123149  }
    124150
  • branches/pap/Ohana/src/dvomerge/src/merge_catalogs_new.c

    r27435 r28484  
    7272 
    7373  if (VERBOSE) {
    74       fprintf (stderr, "%lld: using %lld stars (%lld measures) for catalog\n",
    75                (long long) i,
    76                (long long) output[0].Naverage,
    77                (long long) output[0].Nmeasure);
     74      fprintf (stderr, OFF_T_FMT": using "OFF_T_FMT" stars ("OFF_T_FMT" measures) for catalog\n",
     75                i,
     76                output[0].Naverage,
     77                output[0].Nmeasure);
    7878  }
    7979  return (TRUE);
  • branches/pap/Ohana/src/dvomerge/src/merge_catalogs_old.c

    r27724 r28484  
    22# define PSPS_ID TRUE
    33
    4 # define IN_REGION(R,D) ( \
    5 ((D) >= region[0].Dmin) && ((D) < region[0].Dmax) && \
    6 ((R) >= region[0].Rmin)  && ((R) < region[0].Rmax))
     4# define MARKTIME(MSG,...) {                    \
     5    float dtime;                                \
     6    gettimeofday (&stop, (void *) NULL);        \
     7    dtime = DTIME (stop, start);                \
     8    fprintf (stderr, MSG, __VA_ARGS__);         \
     9    gettimeofday (&start, (void *) NULL);       \
     10  }
     11
     12# define IN_REGION(R,D) (                                       \
     13    ((D) >= region[0].Dmin) && ((D) < region[0].Dmax) &&        \
     14    ((R) >= region[0].Rmin)  && ((R) < region[0].Rmax))
    715
    816// merge the input data into the output catalog
     
    1018int merge_catalogs_old (SkyRegion *region, Catalog *output, Catalog *input, double RADIUS) {
    1119
    12   off_t i, j, Nin, offset, J, Jmin, status, Nstars;
     20  off_t i, j, k, Nin, offset, J, Jmin, status, Nstars;
    1321  double RADIUS2, Rmin, Rin, Din;
    1422  double *X1, *Y1, *X2, *Y2;
     
    1927  unsigned int objID, catID;
    2028  Coords tcoords;
     29
     30  // struct timeval start, stop;
     31  // gettimeofday (&start, (void *) NULL);
    2132
    2233  Nsecfilt = output[0].Nsecfilt;
     
    6475  strcpy (tcoords.ctype, "RA---ARC");
    6576
     77  if (VERBOSE) fprintf (stderr, "merging %s into %s\n", input[0].filename, output[0].filename);
     78
    6679  /* build spatial index (RA sort) referencing input array sequence */
    6780  Nstars = 0;
     
    96109
    97110  /* set up pointers for linked list of measure */
    98   if (output[0].sorted && (output[0].Nmeasure == output[0].Nmeas_disk)) {
     111  if (output[0].sorted && (output[0].Nmeasure >= output[0].Nmeas_disk)) {
    99112    // this version is only valid if we have done a full catalog load, and if the catalog
    100113    // is sorted while processed
     
    106119  /* choose a radius for matches */
    107120  RADIUS2 = RADIUS*RADIUS;
     121
     122  // MARKTIME("set up structures: %f sec\n", dtime);
    108123
    109124  /** find matched stars **/
     
    162177    }
    163178
     179    // 4) average properties from the input and the output db need to be properly merged.
     180
    164181    /** add ALL measurements for this input average object **/
    165182    for (Nin = 0; Nin < input[0].average[N].Nmeasure; Nin ++) {
     
    183200      output[0].measure[Nmeas].catID    = output[0].catID;
    184201
    185       // fprintf (stderr, "Nave : %lld, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", (long long) n, (long long) Nmeas, output[0].measure[Nmeas].dR, output[0].measure[Nmeas].dD, output[0].measure[i].catID);
     202      assert (output[0].measure[Nmeas].averef < Nave);
     203
     204      // fprintf (stderr, "Nave : "OFF_T_FMT", Nmeas : "OFF_T_FMT", dR: %f, dD: %f, catID: %d\n",  n,  Nmeas, output[0].measure[Nmeas].dR, output[0].measure[Nmeas].dD, output[0].measure[i].catID);
    186205
    187206      // rationalize dR
     
    207226    }
    208227
     228    // update the average properties to reflect the incoming entries:
     229    // if the original value is NAN but the input value is not, accept the input:
     230    for (k = 0; k < Nsecfilt; k++) {
     231      if ( isfinite(output[0].secfilt[n*Nsecfilt+k].M)) continue;
     232      if (!isfinite( input[0].secfilt[N*Nsecfilt+k].M)) continue;
     233      output[0].secfilt[n*Nsecfilt+k] = input[0].secfilt[N*Nsecfilt+k];
     234    }
     235
    209236    /* Nm is updated, but not written out in -update mode (for existing entries)
    210237       Nm is recalculated in build_meas_links if loaded table is not sorted */
     
    212239    i++;
    213240  }
    214 
    215 # if (0)
    216   fprintf (stderr, "--- 1 ---\n");
    217   for (i = 0; i < Nmeas; i++) {
    218     fprintf (stderr, "Nave : %d, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef, (long long) i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
    219   }
    220 # endif
     241  // MARKTIME("find matched stars: %f sec for "OFF_T_FMT","OFF_T_FMT" stars\n", dtime, Nstars, Nave);
    221242
    222243  /** incorporate unmatched image stars, if this star is in field of this catalog **/
     
    240261    if (!IN_REGION (input[0].average[N].R, input[0].average[N].D)) continue;
    241262
     263    // XXX should we accept the input measurements for these fields?
     264
    242265    output[0].average[Nave].R              = input[0].average[N].R;
    243266    output[0].average[Nave].D              = input[0].average[N].D;
     
    245268    output[0].average[Nave].dD             = 0;
    246269
    247     output[0].average[Nave].Nmeasure       = 1;
     270    output[0].average[Nave].Nmeasure       = 0; // this value is update as the measurements are associated with this entry below
    248271    output[0].average[Nave].Nmissing       = 0;
    249272    output[0].average[Nave].Nextend        = 0;
     
    280303
    281304    for (j = 0; j < Nsecfilt; j++) {
    282       output[0].secfilt[Nave*Nsecfilt+j].M  = NAN;
    283       output[0].secfilt[Nave*Nsecfilt+j].dM = NAN;
    284       output[0].secfilt[Nave*Nsecfilt+j].Xm = NAN_S_SHORT;
    285       output[0].secfilt[Nave*Nsecfilt+j].M_20   = NAN_S_SHORT;
    286       output[0].secfilt[Nave*Nsecfilt+j].M_80   = NAN_S_SHORT;
    287       output[0].secfilt[Nave*Nsecfilt+j].Ncode = 0;
    288       output[0].secfilt[Nave*Nsecfilt+j].Nused = 0;
     305      if (isfinite(input[0].secfilt[N*Nsecfilt+j].M)) {
     306        output[0].secfilt[Nave*Nsecfilt+j].M     = input[0].secfilt[N*Nsecfilt+j].M;
     307        output[0].secfilt[Nave*Nsecfilt+j].dM    = input[0].secfilt[N*Nsecfilt+j].dM;
     308        output[0].secfilt[Nave*Nsecfilt+j].Xm    = input[0].secfilt[N*Nsecfilt+j].Xm;
     309        output[0].secfilt[Nave*Nsecfilt+j].M_20  = input[0].secfilt[N*Nsecfilt+j].M_20;
     310        output[0].secfilt[Nave*Nsecfilt+j].M_80  = input[0].secfilt[N*Nsecfilt+j].M_80;
     311        output[0].secfilt[Nave*Nsecfilt+j].Ncode = input[0].secfilt[N*Nsecfilt+j].Ncode;
     312        output[0].secfilt[Nave*Nsecfilt+j].Nused = input[0].secfilt[N*Nsecfilt+j].Nused;
     313      } else {
     314        output[0].secfilt[Nave*Nsecfilt+j].M     = NAN;
     315        output[0].secfilt[Nave*Nsecfilt+j].dM    = NAN;
     316        output[0].secfilt[Nave*Nsecfilt+j].Xm    = NAN_S_SHORT;
     317        output[0].secfilt[Nave*Nsecfilt+j].M_20  = NAN_S_SHORT;
     318        output[0].secfilt[Nave*Nsecfilt+j].M_80  = NAN_S_SHORT;
     319        output[0].secfilt[Nave*Nsecfilt+j].Ncode = 0;
     320        output[0].secfilt[Nave*Nsecfilt+j].Nused = 0;
     321      }
    289322    }
    290323
     
    302335      output[0].measure[Nmeas].catID    = output[0].catID;
    303336
    304       /* next[Nmeas] should always be -1 in this context (it is always the only
    305          measurement for the star) */
     337      // as we add measurements, update Nmeasure to match
     338      output[0].average[Nave].Nmeasure ++;
     339
     340      /* we set next[Nmeas] to -1 here, and update correctly below */
    306341      input[0].found[N] = Nmeas;
    307342      next_meas[Nmeas] = -1;
     
    310345    int Ngroup = input[0].average[N].Nmeasure;
    311346    for (j = 0; j < Ngroup - 1; j++) {
    312         next_meas[Nmeas - Ngroup + j] = Nmeas - Ngroup + j + 1;
     347      next_meas[Nmeas - Ngroup + j] = Nmeas - Ngroup + j + 1;
    313348    }
    314349    Nave ++;
    315350  }
    316351     
     352  // MARKTIME("save unmatched stars: %f sec\n", dtime);
     353
    317354  REALLOCATE (output[0].average, Average, Nave);
    318355  REALLOCATE (output[0].measure, Measure, Nmeas);
    319356 
    320 # if (0)
    321   fprintf (stderr, "--- 2 ---\n");
    322   for (i = 0; i < Nmeas; i++) {
    323     fprintf (stderr, "Nave : %d, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef, (long long) i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
    324   }
    325 # endif
    326 
    327 # define NOSORT FALSE
     357# define NOSORT 0
    328358  if (NOSORT) {
    329359    output[0].sorted = FALSE;
     
    332362    output[0].measure = sort_measure (output[0].average, Nave, output[0].measure, Nmeas, next_meas);
    333363  }
    334 
    335 # if (0)
    336   fprintf (stderr, "--- 3 ---\n");
    337   for (i = 0; i < Nmeas; i++) {
    338     fprintf (stderr, "Nave : %d, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef, (long long) i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
    339   }
    340 # endif
    341364
    342365  /* note stars which have been found in this catalog */
     
    354377  output[0].Nmeasure = Nmeas;
    355378  output[0].Nsecf_mem = Nave*Nsecfilt;
    356   if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
     379  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas, Nmatch);
    357380
    358381  free (next_meas);
     
    366389  free (Y1);
    367390  free (N1);
     391
     392  // MARKTIME("cleanup: %f sec\n", dtime);
    368393  return (Nmatch);
    369394}
  • branches/pap/Ohana/src/fixcat/src/wcatalog.c

    r27435 r28484  
    3434  chmod (filename, mode);
    3535 
    36   gfits_modify (&catalog[0].header, "NSTARS", "%lld", 1, catalog[0].Naverage);
    37   gfits_modify (&catalog[0].header, "NMEAS",  "%lld", 1, catalog[0].Nmeasure);
    38   gfits_modify (&catalog[0].header, "NMISS",  "%lld", 1, catalog[0].Nmissing);
     36  gfits_modify (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, catalog[0].Naverage);
     37  gfits_modify (&catalog[0].header, "NMEAS",  OFF_T_FMT, 1, catalog[0].Nmeasure);
     38  gfits_modify (&catalog[0].header, "NMISS",  OFF_T_FMT, 1, catalog[0].Nmissing);
    3939
    4040  gfits_modify_alt (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE);
  • branches/pap/Ohana/src/getstar/src/MatchImages.c

    r27435 r28484  
    132132  }
    133133 
    134   if (VERBOSE) fprintf (stderr, "found %lld overlapping images\n", (long long) nmatch);
     134  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" overlapping images\n", nmatch);
    135135
    136136  *Nmatch = nmatch;
  • branches/pap/Ohana/src/getstar/src/SelectImages.c

    r27435 r28484  
    3131  } 
    3232
    33   if (VERBOSE) fprintf (stderr, "found %lld matching images\n", (long long) nmatch);
     33  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" matching images\n", nmatch);
    3434
    3535  *Nmatch = nmatch;
  • branches/pap/Ohana/src/getstar/src/select_by_region.c

    r27675 r28484  
    161161  output[0].Nsecf_mem = Nave*Nsecfilt;
    162162
    163   fprintf (stderr, "output catalog has %lld stars (%lld measures, %d secfilt)\n",
    164            (long long) output[0].Naverage, (long long) output[0].Nmeasure, output[0].Nsecfilt);
     163  fprintf (stderr, "output catalog has "OFF_T_FMT" stars ("OFF_T_FMT" measures, %d secfilt)\n",
     164            output[0].Naverage, output[0].Nmeasure, output[0].Nsecfilt);
    165165  return (TRUE);
    166166}
  • branches/pap/Ohana/src/imregister/detrend/delete.c

    r27435 r28484  
    1010  ALLOCATE (keep, off_t, MAX (Nimage, 1));
    1111  for (i = 0; i < Nimage; i++) keep[i] = TRUE;
    12   fprintf (stderr, "total of %lld detrend images\n", (long long) Nimage);
     12  fprintf (stderr, "total of "OFF_T_FMT" detrend images\n", Nimage);
    1313
    1414  Ndel = 0;
     
    2020    delete_image (&image[i]);
    2121  }
    22   fprintf (stderr, "delete %lld images\n", (long long) Ndel);
     22  fprintf (stderr, "delete "OFF_T_FMT" images\n", Ndel);
    2323  if (Ndel == 0) {
    2424    fprintf (stderr, "SUCCESS\n");
     
    3030  Nsubset = Nimage - Ndel;
    3131  ALLOCATE (subset, DetReg, MAX (1, Nsubset));
    32   fprintf (stderr, "keeping %lld images\n", (long long) Nsubset);
     32  fprintf (stderr, "keeping "OFF_T_FMT" images\n", Nsubset);
    3333  for (j = i = 0; i < Nimage; i++) {
    3434    if (!keep[i]) continue;
  • branches/pap/Ohana/src/imregister/imphot/rtext.c

    r27435 r28484  
    1010  /* check that file size makes sense */
    1111  Nimage = 0;
    12   gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     12  gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    1313  if (stat (db[0].filename, &filestatus) == -1) {
    1414    if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
     
    2121    Ndata = (filestatus.st_size - db[0].header.datasize) / sizeof (Image);
    2222    if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
    23     if (VERBOSE) fprintf (stderr, "header: %lld, data: %d\n", (long long) Nimage, Ndata);
     23    if (VERBOSE) fprintf (stderr, "header: "OFF_T_FMT", data: %d\n", Nimage, Ndata);
    2424    if (!FORCE_READ) exit (1);
    2525    Nimage = Ndata;
     
    4141  }
    4242  db[0].ftable.buffer = (char *) image;
    43   gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Nimage);
     43  gfits_modify (&db[0].theader, "NAXIS2", OFF_T_FMT, 1, Nimage);
    4444  db[0].theader.Naxis[1] = Nimage;
    4545  db[0].ftable.datasize = gfits_data_size (&db[0].theader);
  • branches/pap/Ohana/src/imregister/imreg/delete.c

    r27435 r28484  
    1010  ALLOCATE (keep, off_t, MAX (Nimage, 1));
    1111  for (i = 0; i < Nimage; i++) keep[i] = TRUE;
    12   fprintf (stderr, "total of %lld images\n", (long long) Nimage);
     12  fprintf (stderr, "total of "OFF_T_FMT" images\n", Nimage);
    1313
    1414  Ndel = 0;
     
    1919    Ndel ++;
    2020  }
    21   fprintf (stderr, "delete %lld images\n", (long long) Ndel);
     21  fprintf (stderr, "delete "OFF_T_FMT" images\n", Ndel);
    2222  if (Ndel == 0) {
    2323    fprintf (stderr, "SUCCESS\n");
     
    2929  Nsubset = Nimage - Ndel;
    3030  ALLOCATE (subset, RegImage, MAX (1, Nsubset));
    31   fprintf (stderr, "keeping %lld images\n", (long long) Nsubset);
     31  fprintf (stderr, "keeping "OFF_T_FMT" images\n", Nsubset);
    3232  for (j = i = 0; i < Nimage; i++) {
    3333    if (!keep[i]) continue;
  • branches/pap/Ohana/src/imregister/photreg/delete.c

    r27435 r28484  
    1010  ALLOCATE (keep, off_t, MAX (Nphotdata, 1));
    1111  for (i = 0; i < Nphotdata; i++) keep[i] = TRUE;
    12   fprintf (stderr, "total of %lld photdata\n", (long long) Nphotdata);
     12  fprintf (stderr, "total of "OFF_T_FMT" photdata\n", Nphotdata);
    1313
    1414  Ndel = 0;
     
    1919    Ndel ++;
    2020  }
    21   fprintf (stderr, "delete %lld photdata\n", (long long) Ndel);
     21  fprintf (stderr, "delete "OFF_T_FMT" photdata\n", Ndel);
    2222
    2323  if (Ndel == 0) {
     
    3131  Nsubset = Nphotdata - Ndel;
    3232  ALLOCATE (subset, PhotPars, MAX (1, Nsubset));
    33   fprintf (stderr, "keeping %lld photdata\n", (long long) Nsubset);
     33  fprintf (stderr, "keeping "OFF_T_FMT" photdata\n", Nsubset);
    3434  for (j = i = 0; i < Nphotdata; i++) {
    3535    if (!keep[i]) continue;
  • branches/pap/Ohana/src/imregister/spreg/delete.c

    r27435 r28484  
    1010  ALLOCATE (keep, off_t, MAX (Nspectrum, 1));
    1111  for (i = 0; i < Nspectrum; i++) keep[i] = TRUE;
    12   fprintf (stderr, "total of %lld spectra\n", (long long) Nspectrum);
     12  fprintf (stderr, "total of "OFF_T_FMT" spectra\n", Nspectrum);
    1313
    1414  Nbad = 0;
     
    1919    Nbad ++;
    2020  }
    21   fprintf (stderr, "delete %lld spectra\n", (long long) Nbad);
     21  fprintf (stderr, "delete "OFF_T_FMT" spectra\n", Nbad);
    2222  if (Nbad == 0) {
    2323    fprintf (stderr, "SUCCESS\n");
     
    2828  Nsubset = Nspectrum - Nbad;
    2929  ALLOCATE (subset, Spectrum, MAX (1, Nsubset));
    30   fprintf (stderr, "keeping %lld spectra\n", (long long) Nsubset);
     30  fprintf (stderr, "keeping "OFF_T_FMT" spectra\n", Nsubset);
    3131  for (j = i = 0; i < Nspectrum; i++) {
    3232    if (!keep[i]) continue;
  • branches/pap/Ohana/src/imregister/src/convertimreg.c

    r27435 r28484  
    4141
    4242  /* load existing data from database */
    43   gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     43  gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    4444  ALLOCATE (pimage, RegImage, Nimage);
    4545  status = fread (pimage, sizeof(RegImage), Nimage, f);
    4646  if (status != Nimage) {
    47     fprintf (stderr, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status);
     47    fprintf (stderr, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nimage, status);
    4848    fclearlockfile (argv[1], f, lockstate, &dbstate);
    4949    exit (1);
  • branches/pap/Ohana/src/imregister/src/imphotmerge.c

    r27530 r28484  
    113113  }
    114114  Nimage += Nin;
    115   gfits_modify (&header, "NIMAGES", "%lld", 1, (long long) Nimage);
     115  gfits_modify (&header, "NIMAGES", OFF_T_FMT, 1, Nimage);
    116116
    117117  /* position to begining of file to write header */
     
    152152  /* check that file size makes sense */
    153153  Nimage = 0;
    154   gfits_scan (header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     154  gfits_scan (header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    155155  if (fstat (fileno(f), &filestatus) == -1) {
    156156    fprintf (stderr, "ERROR: failed to get status of image catalog\n");
     
    161161    Ndata = (filestatus.st_size - header[0].datasize) / sizeof (Image);
    162162    fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
    163     fprintf (stderr, "header: %lld, data: %lld\n", (long long) Nimage, (long long) Ndata);
     163    fprintf (stderr, "header: "OFF_T_FMT", data: "OFF_T_FMT"\n",  Nimage, Ndata);
    164164    Nimage = Ndata;
    165165  }
  • branches/pap/Ohana/src/kapa2/src/LoadPicture.c

    r27435 r28484  
    3232  gfits_init_header (&header);
    3333  header.Naxes = 2;
    34   KiiScanMessage (sock, "%lld %lld", (long long *) &header.Naxis[0], (long long *) &header.Naxis[1]);
     34  KiiScanMessage (sock, OFF_T_FMT" "OFF_T_FMT,  &header.Naxis[0], &header.Naxis[1]);
    3535
    3636  // internal image are 32 bit floats; sender must send in this format
     
    4141
    4242  KiiScanMessage (sock, "%lf %lf %s %s",  &image[0].image[0].zero, &image[0].image[0].range, image[0].image[0].name, image[0].image[0].file);
    43   KiiScanMessage (sock, "%lf %lf %lld", &image[0].image[0].min,  &image[0].image[0].max, (long long *) &header.datasize);
     43  KiiScanMessage (sock, "%lf %lf "OFF_T_FMT, &image[0].image[0].min,  &image[0].image[0].max, &header.datasize);
    4444  KiiScanMessage (sock, "%lf %f %f %f %f", &image[0].image[0].coords.crval1, &image[0].image[0].coords.crpix1, &image[0].image[0].coords.cdelt1, &image[0].image[0].coords.pc1_1, &image[0].image[0].coords.pc1_2);
    4545  KiiScanMessage (sock, "%lf %f %f %f %f", &image[0].image[0].coords.crval2, &image[0].image[0].coords.crpix2, &image[0].image[0].coords.cdelt2, &image[0].image[0].coords.pc2_1, &image[0].image[0].coords.pc2_2);
     
    8585  fcntl (sock, F_SETFL, !O_NONBLOCK); 
    8686
    87   if (DEBUG) fprintf (stderr, "read %lld bytes\n", (long long) image[0].image[0].matrix.datasize);
     87  if (DEBUG) fprintf (stderr, "read "OFF_T_FMT" bytes\n", image[0].image[0].matrix.datasize);
    8888  /* it it not obvious this condition should kill kapa, but ... */
    8989  if (image[0].image[0].matrix.datasize != header.datasize) { 
    90     fprintf (stderr, "error: expected %lld bytes, but got only %lld\n", (long long) header.datasize, (long long) image[0].image[0].matrix.datasize);
     90    fprintf (stderr, "error: expected "OFF_T_FMT" bytes, but got only "OFF_T_FMT"\n",  header.datasize, image[0].image[0].matrix.datasize);
    9191    return (FALSE);
    9292  }
  • branches/pap/Ohana/src/kapa2/src/PSFrame.c

    r27796 r28484  
    44int PSFrame (KapaGraphWidget *graph, FILE *f) {
    55 
    6   int i, Nticks, P;
     6  int i, j, Nticks, P;
    77  double fx, fy, dfx, dfy, lweight;
    88  Graphic *graphic;
     
    3434    if (graph[0].axis[i].areticks) {
    3535      ticks = CreateAxisTicks (&graph[0].axis[i], &Nticks);
    36       for (i = 0; i < Nticks; i++) {
    37         PSTick (graphic, &graph[0].axis[i], P, &ticks[i], i, f);
     36      for (j = 0; j < Nticks; j++) {
     37        PSTick (graphic, &graph[0].axis[i], P, &ticks[j], i, f);
    3838      }
    3939      FREE (ticks);
     
    7272  y = fy + (value-min)*dfy/(max - min);
    7373
    74   dir = ((naxis == 0) || (naxis == 1)) ? -1 : +1;
     74  dir = ((naxis == 0) || (naxis == 1)) ? +1 : -1;
    7575  dx = dir*size*dfy*n; 
    7676  dy = dir*size*dfx*n;
     
    8686   
    8787    /* temporarily assume rectilinear axes */
    88     if (naxis == 0) { dx = 0; dy = +pad; pos = 1; }
    89     if (naxis == 2) { dx = 0; dy = -pad; pos = 7; }
     88    if (naxis == 0) { dx = 0; dy = -pad; pos = 1; }
     89    if (naxis == 2) { dx = 0; dy = +pad; pos = 7; }
    9090
    9191    if (naxis == 1) { dy = 0; dx = -pad; pos = 3; }
  • branches/pap/Ohana/src/kapa2/src/bDrawFrame.c

    r27796 r28484  
    44int bDrawFrame (KapaGraphWidget *graph) {
    55 
    6   int i, Nticks, P;
     6  int i, j, Nticks, P;
    77  double fx, fy, dfx, dfy, lweight;
    88  // Graphic graphic; is not needed
     
    3333    if (graph[0].axis[i].areticks) {
    3434      ticks = CreateAxisTicks (&graph[0].axis[i], &Nticks);
    35       for (i = 0; i < Nticks; i++) {
    36         bDrawTick (&graph[0].axis[i], P, &ticks[i], i);
     35      for (j = 0; j < Nticks; j++) {
     36        bDrawTick (&graph[0].axis[i], P, &ticks[j], i);
    3737      }
    3838      FREE (ticks);
  • branches/pap/Ohana/src/libautocode/def/autocode.c

    r27588 r28484  
    77
    88  if (size != $SIZE) {
    9     fprintf (stderr, "WARNING: mismatch in data types $STRUCT: %lld vs %lld\n", (long long) size, (long long) $SIZE);
     9    fprintf (stderr, "WARNING: mismatch in data types $STRUCT: "OFF_T_FMT" vs %d\n",  size, $SIZE);
    1010    return (FALSE);
    1111  }
     
    3232
    3333  if ($SIZE > size) {
    34     fprintf (stderr, "ERROR: uncorrectable mismatch in data types $STRUCT: %lld vs %lld\n", (long long) size, (long long) $SIZE);
     34    fprintf (stderr, "ERROR: uncorrectable mismatch in data types $STRUCT: "OFF_T_FMT" vs %d\n",  size, $SIZE);
    3535    exit (1);
    3636  }
     
    6060$STRUCT *gfits_table_get_$STRUCT (FTable *ftable, off_t *Ndata, char *swapped) {
    6161
     62  int Ncols;
    6263  $STRUCT *data, *output;
     64
     65  Ncols = ftable[0].header[0].Naxis[0];
     66  if (Ncols != $SIZE) {
     67    fprintf (stderr, "ERROR: mis-match in table size: width is %d but should be %d bytes\n", Ncols, $SIZE);
     68    exit (1);
     69  }
    6370
    6471  *Ndata = ftable[0].header[0].Naxis[1];
     
    8491
    8592  /* create table header */
    86   gfits_create_table_header (header, "$TYPE", "$EXTNAME");
     93  if (!gfits_create_table_header (header, "$TYPE", "$EXTNAME")) return (FALSE);
    8794
    8895  /* define table layout */
     
    9097
    9198  /* create table */
    92   gfits_create_table (header, ftable);
     99  if (!gfits_create_table (header, ftable)) return (FALSE);
    93100
    94101  /* add data values */
    95   gfits_table_scale_data (ftable);
    96   gfits_convert_$STRUCT (data, sizeof ($STRUCT), Ndata);
    97   gfits_add_rows (ftable, (char *) data, Ndata, sizeof ($STRUCT));
     102  if (!gfits_table_scale_data (ftable)) return (FALSE);
     103  if (!gfits_convert_$STRUCT (data, sizeof ($STRUCT), Ndata)) return (FALSE);
     104  if (!gfits_add_rows (ftable, (char *) data, Ndata, sizeof ($STRUCT))) return (FALSE);
    98105
    99106  return (TRUE);
     
    103110
    104111  /* create table header */
    105   gfits_create_table_header (header, "$TYPE", "$EXTNAME");
     112  if (!gfits_create_table_header (header, "$TYPE", "$EXTNAME")) return (FALSE);
    106113
    107114  /* define table layout */
     
    125132  }
    126133
    127   gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), Ndata);
     134  if (!gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), Ndata)) return (FALSE);
    128135
    129136  SendCommand (device, 16, "NVALUE: %6d", Ndata);
     
    153160 
    154161  tmpdata = ($STRUCT *) message.buffer;
    155   gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), ndata);
     162  if (!gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), ndata)) return (FALSE);
    156163
    157164  /* double-check data length? */
  • branches/pap/Ohana/src/libautocode/def/common.h

    r20936 r28484  
    2222  tmp = byte[X+3]; byte[X+3] = byte[X+4]; byte[X+4] = tmp;
    2323
    24 # ifdef linux
    25 # define BYTE_SWAP
     24# ifndef BYTE_SWAP
     25# ifndef NOT_BYTE_SWAP
     26# error "neither BYTE_SWAP not NOT_BYTE_SWAP is set"
    2627# endif
    27 
    28 # ifdef darwin_x86
    29 # define BYTE_SWAP
    30 # endif
    31 
    32 # ifdef sid
    33 # define BYTE_SWAP
    34 # endif
    35 
    36 # ifdef dec
    37 # define BYTE_SWAP
    3828# endif
    3929
  • branches/pap/Ohana/src/libdvo/src/LoadPhotcodes.c

    r25757 r28484  
    1515  if (LoadPhotcodesText (master_file)) {
    1616    if (!check_file_access (catdir_file, TRUE, TRUE, TRUE)) return TRUE;
    17     SavePhotcodesFITS (catdir_file);
     17    if (!SavePhotcodesFITS (catdir_file)) return FALSE;
    1818    return TRUE;
    1919  }
  • branches/pap/Ohana/src/libdvo/src/SavePhotcodesFITS.c

    r27580 r28484  
    3232
    3333  /* convert FITS format data to internal format (byteswaps & EXTNAME) */
    34   gfits_db_create (&db);
    35   gfits_table_set_PhotCode_PS1_V2 (&db.ftable, photcode_output, table[0].Ncode);
    36   gfits_db_save (&db);
    37   gfits_db_close (&db);
     34  if (!gfits_db_create (&db)) return (FALSE);
     35  if (!gfits_table_set_PhotCode_PS1_V2 (&db.ftable, photcode_output, table[0].Ncode)) return (FALSE);
     36  if (!gfits_db_save (&db)) return (FALSE);
     37  if (!gfits_db_close (&db)) return (FALSE);
    3838
    3939  free (photcode_output);
  • branches/pap/Ohana/src/libdvo/src/SavePhotcodesText.c

    r17190 r28484  
    6969             type,
    7070             table[0].code[i].C*SCALE,
    71              table[0].code[i].K*SCALE,
     71             table[0].code[i].K,
    7272             table[0].code[i].dC*SCALE);
    7373
  • branches/pap/Ohana/src/libdvo/src/cmf-ps1-v1-alt.c

    r27435 r28484  
    1313  // this function is a special case : it must have Nx = 136
    1414  if (ftable[0].header[0].Naxis[0] != 136) {
    15     fprintf (stderr, "ERROR: wrong format for CMF_PS1_V1_Alt: %lld vs %d\n", (long long) ftable[0].header[0].Naxis[0], 136);
     15    fprintf (stderr, "ERROR: wrong format for CMF_PS1_V1_Alt: "OFF_T_FMT" vs %d\n", ftable[0].header[0].Naxis[0], 136);
    1616    exit (2);
    1717  }
  • branches/pap/Ohana/src/libdvo/src/dvo_catalog_mef.c

    r27588 r28484  
    2424  }
    2525  /* get the components from the header */
    26   if (!gfits_scan (&catalog[0].header, "NSTARS",   "%lld", 1, (long long *) &Naverage)) return (FALSE);
    27   if (!gfits_scan (&catalog[0].header, "NMEAS",    "%lld", 1, (long long *) &Nmeasure)) return (FALSE);
    28   if (!gfits_scan (&catalog[0].header, "NMISS",    "%lld", 1, (long long *) &Nmissing)) return (FALSE);
     26  if (!gfits_scan (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, &Naverage)) return (FALSE);
     27  if (!gfits_scan (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, &Nmeasure)) return (FALSE);
     28  if (!gfits_scan (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, &Nmissing)) return (FALSE);
    2929  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d",   1,               &Nsecfilt)) Nsecfilt = 0;
    3030
     
    7373    catalog[0].average = FtableToAverage (&ftable, &Naverage, &catalog[0].catformat, &primary);
    7474    if (Naverage != catalog[0].Naves_disk) {
    75       fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%lld vs %lld)\n", (long long) Naverage, (long long) catalog[0].Naves_disk);
     75      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Naverage, catalog[0].Naves_disk);
    7676    }
    7777    catalog[0].Naverage = catalog[0].Naves_disk;
     
    100100    catalog[0].measure = FtableToMeasure (&ftable, &catalog[0].Nmeasure, &catalog[0].catformat);
    101101    if (Nmeasure != catalog[0].Nmeas_disk) {
    102       fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) catalog[0].Nmeas_disk);
     102      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure, catalog[0].Nmeas_disk);
    103103    }
    104104    catalog[0].Nmeasure = catalog[0].Nmeas_disk;
     
    126126    catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
    127127    if (Nmissing != catalog[0].Nmiss_disk) {
    128       fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) catalog[0].Nmiss_disk);
     128      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmissing, catalog[0].Nmiss_disk);
    129129    }
    130130    catalog[0].Nmissing = catalog[0].Nmiss_disk;
     
    154154    catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat);
    155155    if (Nexpect != Nitems) {
    156       fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%lld vs %lld)\n", (long long) Nexpect, (long long) Nitems);
     156      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nexpect, Nitems);
    157157    }
    158158
     
    238238
    239239  /* make sure header is consistent with data */
    240   gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) catalog[0].Naverage);
    241   gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) catalog[0].Nmeasure);
    242   gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) catalog[0].Nmissing);
     240  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, catalog[0].Naverage);
     241  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, catalog[0].Nmeasure);
     242  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, catalog[0].Nmissing);
    243243  gfits_modify (&catalog[0].header, "NSECFILT", "%d",   1,                        Nsecfilt);
    244244  gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
  • branches/pap/Ohana/src/libdvo/src/dvo_catalog_raw.c

    r27588 r28484  
    2121  /* get the components from the header */
    2222  catalog[0].Naverage = catalog[0].Nmeasure = catalog[0].Nmissing = catalog[0].Nsecfilt = 0;
    23   if (!gfits_scan (&catalog[0].header, "NSTARS",   "%lld", 1, (long long *) &catalog[0].Naverage)) return (FALSE);
    24   if (!gfits_scan (&catalog[0].header, "NMEAS",    "%lld", 1, (long long *) &catalog[0].Nmeasure)) return (FALSE);
    25   if (!gfits_scan (&catalog[0].header, "NMISS",    "%lld", 1, (long long *) &catalog[0].Nmissing)) return (FALSE);
     23  if (!gfits_scan (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, &catalog[0].Naverage)) return (FALSE);
     24  if (!gfits_scan (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, &catalog[0].Nmeasure)) return (FALSE);
     25  if (!gfits_scan (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, &catalog[0].Nmissing)) return (FALSE);
    2626  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d",   1,               &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;
    2727
     
    113113    if (VERBOSE) {
    114114      fprintf (stderr, "star catalog has inconsistent size\n");
    115       fprintf (stderr, "average: %lld = %lld bytes\n", (long long) catalog[0].Naverage, (long long) catalog[0].Naverage*AverageSize);
    116       fprintf (stderr, "measure: %lld = %lld bytes\n", (long long) catalog[0].Nmeasure, (long long) catalog[0].Nmeasure*MeasureSize);
    117       fprintf (stderr, "missing: %lld = %lld bytes\n", (long long) catalog[0].Nmissing, (long long) catalog[0].Nmissing*MissingSize);
    118       fprintf (stderr, "secfilt: %lld = %lld bytes\n", (long long) catalog[0].Nsecfilt, (long long) catalog[0].Nsecfilt*SecFiltSize*catalog[0].Naverage);
    119       fprintf (stderr, "expect: %lld, found: %lld\n", (long long) size, (long long) filestatus.st_size);
     115      fprintf (stderr, "average: "OFF_T_FMT" = "OFF_T_FMT" bytes\n",  catalog[0].Naverage, catalog[0].Naverage*AverageSize);
     116      fprintf (stderr, "measure: "OFF_T_FMT" = "OFF_T_FMT" bytes\n",  catalog[0].Nmeasure, catalog[0].Nmeasure*MeasureSize);
     117      fprintf (stderr, "missing: "OFF_T_FMT" = "OFF_T_FMT" bytes\n",  catalog[0].Nmissing, catalog[0].Nmissing*MissingSize);
     118      fprintf (stderr, "secfilt: %d = "OFF_T_FMT" bytes\n",  catalog[0].Nsecfilt, catalog[0].Nsecfilt*SecFiltSize*catalog[0].Naverage);
     119      fprintf (stderr, "expect: "OFF_T_FMT", found: "OFF_T_FMT"\n",  size, filestatus.st_size);
    120120    }
    121121    return (FALSE);
     
    155155    nitems = fread (catalog[0].missing, MissingSize, Nitems, f);
    156156    if (nitems != Nitems) {
    157       if (VERBOSE) fprintf (stderr, "failed to read missing from catalog file %s (%lld vs %lld)\n", catalog[0].filename, (long long) nitems, (long long) Nitems);
     157      if (VERBOSE) fprintf (stderr, "failed to read missing from catalog file %s ("OFF_T_FMT" vs "OFF_T_FMT")\n", catalog[0].filename,  nitems, Nitems);
    158158      return (FALSE);
    159159    }
     
    198198  }
    199199
    200   if (VERBOSE) fprintf (stderr, "read %lld stars from catalog file %s (%lld measurements, %lld missing, %lld secondary filters)\n",
    201                         (long long) catalog[0].Naverage,
     200  if (VERBOSE) fprintf (stderr, "read "OFF_T_FMT" stars from catalog file %s ("OFF_T_FMT" measurements, "OFF_T_FMT" missing, %d secondary filters)\n",
     201                        catalog[0].Naverage,
    202202                        catalog[0].filename,
    203                         (long long) catalog[0].Nmeasure,
    204                         (long long) catalog[0].Nmissing,
    205                         (long long) catalog[0].Nsecfilt);
     203                        catalog[0].Nmeasure,
     204                        catalog[0].Nmissing,
     205                        catalog[0].Nsecfilt);
    206206
    207207  /* check data integrity */
     
    214214      if (VERBOSE) {
    215215        fprintf (stderr, "****** data in catalog %s is corrupt, sums don't check\n", catalog[0].filename);
    216         fprintf (stderr, "****** Nmeas: %lld, %lld\n", (long long) Nmeas, (long long) catalog[0].Nmeasure);
    217         fprintf (stderr, "****** Nmiss: %lld, %lld\n", (long long) Nmiss, (long long) catalog[0].Nmissing);
     216        fprintf (stderr, "****** Nmeas: "OFF_T_FMT", "OFF_T_FMT"\n",  Nmeas, catalog[0].Nmeasure);
     217        fprintf (stderr, "****** Nmiss: "OFF_T_FMT", "OFF_T_FMT"\n",  Nmiss, catalog[0].Nmissing);
    218218      }
    219219      return (FALSE);
     
    264264
    265265  /* make sure header is consistent with data */
    266   gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) catalog[0].Naverage);
    267   gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) catalog[0].Nmeasure);
    268   gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) catalog[0].Nmissing);
    269   gfits_modify (&catalog[0].header, "NSECFILT", "%lld", 1, (long long) catalog[0].Nsecfilt);
     266  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, catalog[0].Naverage);
     267  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, catalog[0].Nmeasure);
     268  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, catalog[0].Nmissing);
     269  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
    270270  gfits_modify (&catalog[0].header, "OBJID",    "%d", 1, catalog[0].objID);
    271271
     
    353353      nitems = fread (tmpAverage, sizeof(Average_##TYPE), Naverage, f); \
    354354      if (nitems != Naverage) { \
    355         fprintf (stderr, "failed to read averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); \
     355        fprintf (stderr, "failed to read averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Naverage); \
    356356        return (NULL); \
    357357      } \
     
    367367      nitems = fread (average, sizeof(Average), Naverage, f);
    368368      if (nitems != Naverage) {
    369         fprintf (stderr, "failed to read averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage);
     369        fprintf (stderr, "failed to read averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Naverage);
    370370        return (NULL);
    371371      }
     
    406406      free (tmpAverage); \
    407407      if (nitems != Naverage) { \
    408         fprintf (stderr, "failed to write averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); \
     408        fprintf (stderr, "failed to write averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Naverage); \
    409409        return (FALSE); \
    410410      } \
     
    417417      nitems = fwrite (average, sizeof(Average), Naverage, f);
    418418      if (nitems != Naverage) {
    419         fprintf (stderr, "failed to write averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage);
     419        fprintf (stderr, "failed to write averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Naverage);
    420420        return (FALSE);
    421421      }
     
    455455      nitems = fread (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure, f); \
    456456      if (nitems != Nmeasure) { \
    457         fprintf (stderr, "failed to read measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); \
     457        fprintf (stderr, "failed to read measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nmeasure); \
    458458        return (NULL); \
    459459      } \
     
    469469      nitems = fread (measure, sizeof(Measure), Nmeasure, f);
    470470      if (nitems != Nmeasure) {
    471         fprintf (stderr, "failed to read measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure);
     471        fprintf (stderr, "failed to read measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nmeasure);
    472472        return (NULL);
    473473      }
     
    508508      free (tmpMeasure); \
    509509      if (nitems != Nmeasure) { \
    510         fprintf (stderr, "failed to write measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); \
     510        fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nmeasure); \
    511511        return (FALSE); \
    512512      } \
     
    519519      nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
    520520      if (nitems != Nmeasure) {
    521         fprintf (stderr, "failed to write measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure);
     521        fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nmeasure);
    522522        return (FALSE);
    523523      }
     
    557557      nitems = fread (tmpSecFilt, sizeof(SecFilt_##TYPE), Nsecfilt, f); \
    558558      if (nitems != Nsecfilt) { \
    559         fprintf (stderr, "failed to read secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); \
     559        fprintf (stderr, "failed to read secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nsecfilt); \
    560560        return (NULL); \
    561561      } \
     
    571571      nitems = fread (secfilt, sizeof(SecFilt), Nsecfilt, f);
    572572      if (nitems != Nsecfilt) {
    573         fprintf (stderr, "failed to read secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt);
     573        fprintf (stderr, "failed to read secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nsecfilt);
    574574        return (NULL);
    575575      }
     
    610610      free (tmpSecFilt); \
    611611      if (nitems != Nsecfilt) { \
    612         fprintf (stderr, "failed to write secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); \
     612        fprintf (stderr, "failed to write secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nsecfilt); \
    613613        return (FALSE); \
    614614      } \
     
    621621      nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f);
    622622      if (nitems != Nsecfilt) {
    623         fprintf (stderr, "failed to write secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt);
     623        fprintf (stderr, "failed to write secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems, Nsecfilt);
    624624        return (FALSE);
    625625      }
  • branches/pap/Ohana/src/libdvo/src/dvo_catalog_split.c

    r27435 r28484  
    174174
    175175  /* get the components from the header - these duplicate information in the split files (NAXIS2) */
    176   if (!gfits_scan (&catalog[0].header, "NSTARS",   "%lld", 1, (long long *) &Naverage)) return (FALSE);
    177   if (!gfits_scan (&catalog[0].header, "NMEAS",    "%lld", 1, (long long *) &Nmeasure)) return (FALSE);
    178   if (!gfits_scan (&catalog[0].header, "NMISS",    "%lld", 1, (long long *) &Nmissing)) return (FALSE);
     176  if (!gfits_scan (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, &Naverage)) return (FALSE);
     177  if (!gfits_scan (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, &Nmeasure)) return (FALSE);
     178  if (!gfits_scan (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, &Nmissing)) return (FALSE);
    179179  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d",   1,               &Nsecfilt)) Nsecfilt = 0;
    180180
     
    227227    catalog[0].average = FtableToAverage (&ftable, &Naverage, &catalog[0].catformat, &primary);
    228228    if (Naverage != catalog[0].Naves_disk) {
    229       fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%lld vs %lld)\n", (long long) Naverage, (long long) catalog[0].Naves_disk);
     229      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Naverage, catalog[0].Naves_disk);
    230230    }
    231231    gfits_free_header (&header);
     
    256256    catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat);
    257257    if (Nmeasure != catalog[0].Nmeas_disk) {
    258       fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) catalog[0].Nmeas_disk);
     258      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure, catalog[0].Nmeas_disk);
    259259    }
    260260    catalog[0].Nmeasure = catalog[0].Nmeas_disk;
     
    286286    catalog[0].missing = gfits_table_get_Missing (&ftable, &Nmissing, NULL);
    287287    if (Nmissing != catalog[0].Nmiss_disk) {
    288       fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) catalog[0].Nmiss_disk);
     288      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmissing, catalog[0].Nmiss_disk);
    289289    }
    290290    catalog[0].Nmissing = catalog[0].Nmiss_disk;
     
    315315    catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat);
    316316    if (Nitems != catalog[0].Nsecf_disk) {
    317       fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%lld vs %lld)\n", (long long) Nitems, (long long) catalog[0].Nsecf_disk);
     317      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nitems, catalog[0].Nsecf_disk);
    318318    }
    319319    catalog[0].Nsecf_mem = catalog[0].Nsecf_disk;
     
    408408    catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat);
    409409    if (Nitems != Nexpect) {
    410       fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%lld vs %lld)\n", (long long) Nitems, (long long) Nexpect);
     410      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nitems, Nexpect);
    411411    }
    412412    catalog[0].Nsecf_mem = catalog[0].Naverage * catalog[0].Nsecfilt;
     
    444444    catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat);
    445445    if (Nmeasure != Nrows) {
    446       fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) Nrows);
     446      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure, Nrows);
    447447    }
    448448    gfits_free_header (&header);
     
    474474    catalog[0].missing = gfits_table_get_Missing (&ftable, &Nmissing, NULL);
    475475    if (Nmissing != Nrows) {
    476       fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) Nrows);
     476      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmissing, Nrows);
    477477    }
    478478    gfits_free_header (&header);
     
    524524
    525525  /* make sure header is consistent with data */
    526   gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) Naves_disk_new);
    527   gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) Nmeas_disk_new);
    528   gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) Nmiss_disk_new);
     526  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, Naves_disk_new);
     527  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, Nmeas_disk_new);
     528  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, Nmiss_disk_new);
    529529  gfits_modify (&catalog[0].header, "NSECFILT", "%d",   1, Nsecfilt);
    530530  gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
     
    723723
    724724  /* make sure header is consistent with data */
    725   gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) Naves_disk_new);
    726   gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) Nmeas_disk_new);
    727   gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) Nmiss_disk_new);
     725  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, Naves_disk_new);
     726  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, Nmeas_disk_new);
     727  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, Nmiss_disk_new);
    728728  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt);
    729729  gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
     
    902902
    903903  /* make sure header is consistent with data */
    904   gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) Naves_disk_new);
    905   gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) Nmeas_disk_new);
    906   gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) Nmiss_disk_new);
     904  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1, Naves_disk_new);
     905  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1, Nmeas_disk_new);
     906  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1, Nmiss_disk_new);
    907907  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt);
    908908  gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
  • branches/pap/Ohana/src/libdvo/src/dvo_convert.c

    r27580 r28484  
    267267    gfits_free_header (theader);
    268268    gfits_table_mkheader_Image (theader);
    269     gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage);
     269    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1, Nimage);
    270270    theader[0].Naxis[1] = Nimage;
    271271    ftable[0].datasize = gfits_data_size (theader);
     
    288288    gfits_free_header (theader); \
    289289    gfits_table_mkheader_Image (theader); \
    290     gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); \
     290    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1, Nimage); \
    291291    theader[0].Naxis[1] = Nimage; \
    292292    ftable[0].datasize = gfits_data_size (theader); \
     
    373373      } \
    374374      /* convert header from old format to new format */ \
    375       gfits_scan (theader, "NAXIS2", "%lld", 1, (long long *) &Nimage); \
     375      gfits_scan (theader, "NAXIS2", OFF_T_FMT, 1, &Nimage); \
    376376      gfits_free_header (theader); \
    377377      gfits_table_mkheader_Image_##TYPE (theader); \
    378       gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); \
     378      gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1, Nimage); \
    379379      theader[0].Naxis[1] = Nimage; \
    380380      vtable[0].datasize = gfits_data_size (theader); \
  • branches/pap/Ohana/src/libdvo/src/dvo_image.c

    r27580 r28484  
    120120  /* adjust header */
    121121  Nimages = 0;
    122   gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimages);
     122  if (!gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nimages)) return (FALSE);
    123123  Nimages += Nnew;
    124   gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, (long long) Nimages);
    125 
    126   gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
    127   gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));
     124
     125  if (!gfits_modify (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  Nimages)) return (FALSE);
     126
     127  if (!gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0)) return (FALSE);
     128
     129  if (!gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image))) return (FALSE);
    128130
    129131  /* check that primary header and table header agree */
    130132  if (Nimages != db[0].theader.Naxis[1]) {
    131133    fprintf (stderr, "header / table length mismatch!\n");
     134    return (FALSE);
    132135  }
    133136  return (TRUE);
     
    157160      exit (2);
    158161  }
    159   return (TRUE);
     162  return (status);
    160163}
    161164
     
    195198  gfits_table_set_Image (&db[0].ftable, NULL, 0);
    196199
    197   gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, 0LL);
     200  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, 0);
    198201  gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPoint);
    199202
  • branches/pap/Ohana/src/libdvo/src/dvo_image_raw.c

    r27580 r28484  
    3939  /* find number of images */
    4040  Nimage = 0;
    41   gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     41  gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    4242  if (stat (db[0].filename, &filestatus) == -1) {
    4343    if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
     
    6464    Ndata = (filestatus.st_size - db[0].header.datasize) / ImageSize;
    6565    if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
    66     if (VERBOSE) fprintf (stderr, "header: %lld, data: %lld\n", (long long) Nimage, (long long) Ndata);
     66    if (VERBOSE) fprintf (stderr, "header: "OFF_T_FMT", data: "OFF_T_FMT"\n",  Nimage, Ndata);
    6767    if (!FORCE_READ) exit (1);
    6868    Nimage = Ndata;
     
    9696  }
    9797
    98   gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Nimage);
     98  gfits_modify (&db[0].theader, "NAXIS2", OFF_T_FMT, 1, Nimage);
    9999  db[0].theader.Naxis[1] = Nimage;
    100100  db[0].ftable.datasize = gfits_data_size (&db[0].theader);
     
    110110  off_t *row;
    111111
    112   if (VERBOSE) fprintf (stderr, "writing out %lld images\n", (long long) db[0].vtable.Nrow);
     112  if (VERBOSE) fprintf (stderr, "writing out "OFF_T_FMT" images\n", db[0].vtable.Nrow);
    113113
    114114  /* position to start of file */
     
    125125  Nrow = db[0].vtable.Nrow;
    126126  row = db[0].vtable.row;
    127   gfits_scan (db[0].vtable.header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    128   gfits_scan (db[0].vtable.header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     127  gfits_scan (db[0].vtable.header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     128  gfits_scan (db[0].vtable.header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    129129
    130130  /* file pointer is at beginning of desired table data */
     
    146146  int status;
    147147
    148   if (VERBOSE) fprintf (stderr, "writing out %lld images\n", (long long) db[0].theader.Naxis[1]);
     148  if (VERBOSE) fprintf (stderr, "writing out "OFF_T_FMT" images\n", db[0].theader.Naxis[1]);
    149149
    150150  /* position to start of file */
     
    158158  }
    159159
    160   gfits_scan (db[0].ftable.header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    161   gfits_scan (db[0].ftable.header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     160  gfits_scan (db[0].ftable.header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     161  gfits_scan (db[0].ftable.header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    162162  size = Nx * Ny;
    163163  Nbytes = fwrite (db[0].ftable.buffer, sizeof(char), size, db[0].f);
  • branches/pap/Ohana/src/libdvo/src/fits_db.c

    r27435 r28484  
    2020/* create an empty db */
    2121int gfits_db_create (FITS_DB *db) {
    22   gfits_init_header (&db[0].header);   
     22  if (!gfits_init_header (&db[0].header)) return (FALSE);
    2323  db[0].header.extend = TRUE;
    24   gfits_create_header (&db[0].header);
    25   gfits_create_matrix (&db[0].header, &db[0].matrix);
    26   gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1);
     24  if (!gfits_create_header (&db[0].header))  return (FALSE);
     25  if (!gfits_create_matrix (&db[0].header, &db[0].matrix)) return (FALSE);
     26  if (!gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1)) return (FALSE);
    2727  db[0].ftable.header = &db[0].theader;
    2828  return (TRUE);
  • branches/pap/Ohana/src/libfits/header/F_create_H.c

    r27435 r28484  
    2323  for (i = 0; i < header[0].Naxes; i++) {
    2424    snprintf (axis, 10, "NAXIS%d", i + 1);
    25     gfits_modify (header,  axis, "%lld", 1, (long long) header[0].Naxis[i]);
     25    gfits_modify (header,  axis, OFF_T_FMT, 1, header[0].Naxis[i]);
    2626  }
    2727
  • branches/pap/Ohana/src/libfits/header/F_modify.c

    r27435 r28484  
    5151
    5252  /* write the numeric modes */
    53   if (!strcmp (mode, "%d"))   snprintf (string, 81, "%-8s= %20d / %-s ",    field, va_arg (argp, int),                comment);
    54   if (!strcmp (mode, "%ld"))  snprintf (string, 81, "%-8s= %20ld / %-s ",   field, va_arg (argp, long),               comment);
    55   if (!strcmp (mode, "%lld")) snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long),          comment);
    56   if (!strcmp (mode, "%Ld"))  snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long),          comment);
    57   if (!strcmp (mode, "%u"))   snprintf (string, 81, "%-8s= %20u / %-s ",    field, va_arg (argp, unsigned),           comment);
    58   if (!strcmp (mode, "%lu"))  snprintf (string, 81, "%-8s= %20lu / %-s ",   field, va_arg (argp, unsigned long),      comment);
    59   if (!strcmp (mode, "%llu")) snprintf (string, 81, "%-8s= %20llu / %-s ",  field, va_arg (argp, unsigned long long), comment);
    60   if (!strcmp (mode, "%Lu"))  snprintf (string, 81, "%-8s= %20llu / %-s ",  field, va_arg (argp, unsigned long long), comment);
    61   if (!strcmp (mode, "%hd"))  snprintf (string, 81, "%-8s= %20d / %-s ",    field, va_arg (argp, int),                comment);
    62   if (!strcmp (mode, "%f"))   snprintf (string, 81, "%-8s= %20.10f / %-s ", field, va_arg (argp, double),             comment);
    63   if (!strcmp (mode, "%lf"))  snprintf (string, 81, "%-8s= %20.10f / %-s ", field, va_arg (argp, double),             comment);
    64   if (!strcmp (mode, "%e"))   snprintf (string, 81, "%-8s= %20.10E / %-s ", field, va_arg (argp, double),             comment);
    65   if (!strcmp (mode, "%le"))  snprintf (string, 81, "%-8s= %20.10E / %-s ", field, va_arg (argp, double),             comment);
    66   if (!strcmp (mode, "%g"))   snprintf (string, 81, "%-8s= %20.10G / %-s ", field, va_arg (argp, double),             comment);
    67   if (!strcmp (mode, "%lg"))  snprintf (string, 81, "%-8s= %20.10G / %-s ", field, va_arg (argp, double),             comment);
     53  if (!strcmp (mode, "%d"))   { snprintf (string, 81, "%-8s= %20d / %-s ",    field, va_arg (argp, int),                comment); goto found_it; }
     54  if (!strcmp (mode, "%ld"))  { snprintf (string, 81, "%-8s= %20ld / %-s ",   field, va_arg (argp, long),               comment); goto found_it; }
     55  if (!strcmp (mode, "%lld")) { snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long),          comment); goto found_it; }
     56  if (!strcmp (mode, "%Ld"))  { snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long),          comment); goto found_it; }
     57  if (!strcmp (mode, "%u"))   { snprintf (string, 81, "%-8s= %20u / %-s ",    field, va_arg (argp, unsigned),           comment); goto found_it; }
     58  if (!strcmp (mode, "%lu"))  { snprintf (string, 81, "%-8s= %20lu / %-s ",   field, va_arg (argp, unsigned long),      comment); goto found_it; }
     59  if (!strcmp (mode, "%llu")) { snprintf (string, 81, "%-8s= %20llu / %-s ",  field, va_arg (argp, unsigned long long), comment); goto found_it; }
     60  if (!strcmp (mode, "%Lu"))  { snprintf (string, 81, "%-8s= %20llu / %-s ",  field, va_arg (argp, unsigned long long), comment); goto found_it; }
     61  if (!strcmp (mode, "%hd"))  { snprintf (string, 81, "%-8s= %20d / %-s ",    field, va_arg (argp, int),                comment); goto found_it; }
     62  if (!strcmp (mode, "%f"))   { snprintf (string, 81, "%-8s= %20.10f / %-s ", field, va_arg (argp, double),             comment); goto found_it; }
     63  if (!strcmp (mode, "%lf"))  { snprintf (string, 81, "%-8s= %20.10f / %-s ", field, va_arg (argp, double),             comment); goto found_it; }
     64  if (!strcmp (mode, "%e"))   { snprintf (string, 81, "%-8s= %20.10E / %-s ", field, va_arg (argp, double),             comment); goto found_it; }
     65  if (!strcmp (mode, "%le"))  { snprintf (string, 81, "%-8s= %20.10E / %-s ", field, va_arg (argp, double),             comment); goto found_it; }
     66  if (!strcmp (mode, "%g"))   { snprintf (string, 81, "%-8s= %20.10G / %-s ", field, va_arg (argp, double),             comment); goto found_it; }
     67  if (!strcmp (mode, "%lg"))  { snprintf (string, 81, "%-8s= %20.10G / %-s ", field, va_arg (argp, double),             comment); goto found_it; }
     68  if (!strcmp (mode, "%jd"))  { snprintf (string, 81, "%-8s= %20jd / %-s ",   field, va_arg (argp, intmax_t),           comment); goto found_it; }
    6869
    6970  /* string value.  Quotes must be at least 18 chars apart */
     
    7172    strncpy (data, va_arg (argp, char *), 68);
    7273    snprintf (string, 81, "%-8s= '%-18s' / %-s ", field, data, comment);
    73   }
    74 
     74    goto found_it;
     75  }
     76
     77  /* failed to find mode */
     78  return (FALSE);
     79
     80found_it:
    7581  strncpy (p, string, 80);
    7682  va_end (argp);
  • branches/pap/Ohana/src/libfits/header/F_print.c

    r27435 r28484  
    4646
    4747  /* write the numeric modes */
    48   if (!strcmp (mode, "%d"))  { snprintf (string, 81, "%-8s= %20d / %46s ",    field, va_arg (argp, int),                blank); }
    49   if (!strcmp (mode, "%ld")) { snprintf (string, 81, "%-8s= %20ld / %46s ",   field, va_arg (argp, long),               blank); }
    50   if (!strcmp (mode, "%lld")){ snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); }
    51   if (!strcmp (mode, "%Ld")) { snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); }
    52   if (!strcmp (mode, "%u"))  { snprintf (string, 81, "%-8s= %20u / %46s ",    field, va_arg (argp, unsigned),           blank); }
    53   if (!strcmp (mode, "%lu")) { snprintf (string, 81, "%-8s= %20lu / %46s ",   field, va_arg (argp, unsigned long),      blank); }
    54   if (!strcmp (mode, "%llu")){ snprintf (string, 81, "%-8s= %20llu / %46s ",  field, va_arg (argp, unsigned long long), blank); }
    55   if (!strcmp (mode, "%Lu")) { snprintf (string, 81, "%-8s= %20llu / %46s ",  field, va_arg (argp, unsigned long long), blank); }
    56   if (!strcmp (mode, "%hd")) { snprintf (string, 81, "%-8s= %20d / %46s ",    field, va_arg (argp, int),                blank); }
    57   if (!strcmp (mode, "%f"))  { snprintf (string, 81, "%-8s= %20.10f / %46s ", field, va_arg (argp, double),             blank); }
    58   if (!strcmp (mode, "%lf")) { snprintf (string, 81, "%-8s= %20.10f / %46s ", field, va_arg (argp, double),             blank); }
    59   if (!strcmp (mode, "%e"))  { snprintf (string, 81, "%-8s= %20.10E / %46s ", field, va_arg (argp, double),             blank); }
    60   if (!strcmp (mode, "%le")) { snprintf (string, 81, "%-8s= %20.10E / %46s ", field, va_arg (argp, double),             blank); }
    61   if (!strcmp (mode, "%g"))  { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double),             blank); }
    62   if (!strcmp (mode, "%lg")) { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double),             blank); }
     48  if (!strcmp (mode, "%d"))  { snprintf (string, 81, "%-8s= %20d / %46s ",    field, va_arg (argp, int),                blank); goto found_it; }
     49  if (!strcmp (mode, "%ld")) { snprintf (string, 81, "%-8s= %20ld / %46s ",   field, va_arg (argp, long),               blank); goto found_it; }
     50  if (!strcmp (mode, "%lld")){ snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); goto found_it; }
     51  if (!strcmp (mode, "%Ld")) { snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); goto found_it; }
     52  if (!strcmp (mode, "%u"))  { snprintf (string, 81, "%-8s= %20u / %46s ",    field, va_arg (argp, unsigned),           blank); goto found_it; }
     53  if (!strcmp (mode, "%lu")) { snprintf (string, 81, "%-8s= %20lu / %46s ",   field, va_arg (argp, unsigned long),      blank); goto found_it; }
     54  if (!strcmp (mode, "%llu")){ snprintf (string, 81, "%-8s= %20llu / %46s ",  field, va_arg (argp, unsigned long long), blank); goto found_it; }
     55  if (!strcmp (mode, "%Lu")) { snprintf (string, 81, "%-8s= %20llu / %46s ",  field, va_arg (argp, unsigned long long), blank); goto found_it; }
     56  if (!strcmp (mode, "%hd")) { snprintf (string, 81, "%-8s= %20d / %46s ",    field, va_arg (argp, int),                blank); goto found_it; }
     57  if (!strcmp (mode, "%f"))  { snprintf (string, 81, "%-8s= %20.10f / %46s ", field, va_arg (argp, double),             blank); goto found_it; }
     58  if (!strcmp (mode, "%lf")) { snprintf (string, 81, "%-8s= %20.10f / %46s ", field, va_arg (argp, double),             blank); goto found_it; }
     59  if (!strcmp (mode, "%e"))  { snprintf (string, 81, "%-8s= %20.10E / %46s ", field, va_arg (argp, double),             blank); goto found_it; }
     60  if (!strcmp (mode, "%le")) { snprintf (string, 81, "%-8s= %20.10E / %46s ", field, va_arg (argp, double),             blank); goto found_it; }
     61  if (!strcmp (mode, "%g"))  { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double),             blank); goto found_it; }
     62  if (!strcmp (mode, "%lg")) { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double),             blank); goto found_it; }
     63  if (!strcmp (mode, "%jd")) { snprintf (string, 81, "%-8s= %20jd / %46s ",   field, va_arg (argp, intmax_t),           blank); goto found_it; }
    6364
    6465  /* string value.  Quotes must be at least 18 chars apart.  Longer lines will this should be fixed to allow arbitrary string lengths, up to 69 chars */
     
    6768    line[68] = 0;
    6869    snprintf (string, 81, "%-8s= '%-18s' / %46s ", field, line, blank);
     70    goto found_it;
    6971  }
     72  return (FALSE);
    7073
     74found_it:
    7175  strncpy (p, string, 80);
    72  
    7376  va_end (argp);
    7477  return (TRUE);
  • branches/pap/Ohana/src/libfits/header/F_read_H.c

    r27435 r28484  
    5454  }
    5555
     56  /* if these are not found in the header, they should be set to FALSE */
     57  header[0].simple = FALSE;
     58  header[0].extend = FALSE;
     59
    5660  header[0].unsign = gfits_get_unsign_mode();
    5761  header[0].bscale = 1;
    5862  header[0].bzero  = 0;
     63
    5964  for (i = 0; i < FT_MAX_NAXES; i++)
    6065    header[0].Naxis[i] = 0;
     
    6974  gfits_scan (header,  "BZERO",  "%lf",  1, &header[0].bzero);
    7075                                       
    71   gfits_scan (header,  "NAXIS1", "%lld", 1, (long long *) &header[0].Naxis[0]);
    72   gfits_scan (header,  "NAXIS2", "%lld", 1, (long long *) &header[0].Naxis[1]);
    73   gfits_scan (header,  "NAXIS3", "%lld", 1, (long long *) &header[0].Naxis[2]);
    74   gfits_scan (header,  "NAXIS4", "%lld", 1, (long long *) &header[0].Naxis[3]);
    75   gfits_scan (header,  "NAXIS5", "%lld", 1, (long long *) &header[0].Naxis[4]);
    76   gfits_scan (header,  "NAXIS6", "%lld", 1, (long long *) &header[0].Naxis[5]);
    77   gfits_scan (header,  "NAXIS7", "%lld", 1, (long long *) &header[0].Naxis[6]);
    78   gfits_scan (header,  "NAXIS8", "%lld", 1, (long long *) &header[0].Naxis[7]);
    79   gfits_scan (header,  "NAXIS9", "%lld", 1, (long long *) &header[0].Naxis[8]);
    80   gfits_scan (header, "NAXIS10", "%lld", 1, (long long *) &header[0].Naxis[9]);
     76  gfits_scan (header,  "NAXIS1", OFF_T_FMT, 1, &header[0].Naxis[0]);
     77  gfits_scan (header,  "NAXIS2", OFF_T_FMT, 1, &header[0].Naxis[1]);
     78  gfits_scan (header,  "NAXIS3", OFF_T_FMT, 1, &header[0].Naxis[2]);
     79  gfits_scan (header,  "NAXIS4", OFF_T_FMT, 1, &header[0].Naxis[3]);
     80  gfits_scan (header,  "NAXIS5", OFF_T_FMT, 1, &header[0].Naxis[4]);
     81  gfits_scan (header,  "NAXIS6", OFF_T_FMT, 1, &header[0].Naxis[5]);
     82  gfits_scan (header,  "NAXIS7", OFF_T_FMT, 1, &header[0].Naxis[6]);
     83  gfits_scan (header,  "NAXIS8", OFF_T_FMT, 1, &header[0].Naxis[7]);
     84  gfits_scan (header,  "NAXIS9", OFF_T_FMT, 1, &header[0].Naxis[8]);
     85  gfits_scan (header, "NAXIS10", OFF_T_FMT, 1, &header[0].Naxis[9]);
    8186
    8287  if (!gfits_scan (header, "PCOUNT",  "%d", 1, &header[0].pcount)) {
  • branches/pap/Ohana/src/libfits/header/F_scan.c

    r27435 r28484  
    8484  if (!strcmp (mode, "%hd"))  { *va_arg (argp, short *)              = value; return (TRUE); }
    8585
     86  // XXX is this safe for 64bit off_t and 32bit off_t?
     87  if (!strcmp (mode, "%jd"))  { *va_arg (argp, intmax_t *)           = value; return (TRUE); }
     88
    8689  /* no valid mode found */
    8790  return (FALSE);
     
    219222  if (!strcmp (mode, "%d"))   { *va_arg (argp, int *)                = value; return (TRUE); }
    220223  if (!strcmp (mode, "%ld"))  { *va_arg (argp, long *)               = value; return (TRUE); }
    221   if (!strcmp (mode, "%lld")) { *va_arg (argp, long long *)          = value; return (TRUE); }
     224  if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, long long *)       = value; return (TRUE); }
    222225  if (!strcmp (mode, "%Ld"))  { *va_arg (argp, long long *)          = value; return (TRUE); }
    223226  if (!strcmp (mode, "%u"))   { *va_arg (argp, unsigned *)           = value; return (TRUE); }
  • branches/pap/Ohana/src/libfits/include/gfitsio.h

    r27435 r28484  
    77# define GFITSIO
    88
    9 /* also defined in libautocode/def/common.h */
    10 /* what about lin64 ?? - 'linux' might be defined automatically by linux */
    119# ifndef BYTE_SWAP
    12 # ifdef linux
    13 # define BYTE_SWAP
     10# ifndef NOT_BYTE_SWAP
     11# error "neither BYTE_SWAP not NOT_BYTE_SWAP is set"
    1412# endif
    15 
    16 # ifdef sid
    17 # define BYTE_SWAP
    1813# endif
    19 
    20 # ifdef darwin_x86
    21 # define BYTE_SWAP
    22 # endif
    23 
    24 # ifdef dec
    25 # define BYTE_SWAP
    26 # endif
    27 # endif /* BYTE_SWAP */
    2814
    2915# ifndef NEWLINE
  • branches/pap/Ohana/src/libfits/matrix/F_add_M.c

    r27435 r28484  
    1313  if ((x + array[0].Naxis[0] > matrix[0].Naxis[0]) ||
    1414      (y + array[0].Naxis[1] > matrix[0].Naxis[1])) {
    15     fprintf (stderr, "can't add array here: (%lld,%lld) - (%lld,%lld) vs (%lld,%lld)\n",
    16              (long long) x,
    17              (long long) y,
    18              (long long) x + array[0].Naxis[0],
    19              (long long) y + array[0].Naxis[1],
    20              (long long) matrix[0].Naxis[0],
    21              (long long) matrix[0].Naxis[1]);
     15    fprintf (stderr, "can't add array here: ("OFF_T_FMT","OFF_T_FMT") - ("OFF_T_FMT","OFF_T_FMT") vs ("OFF_T_FMT","OFF_T_FMT")\n",
     16              x,
     17              y,
     18              x + array[0].Naxis[0],
     19              y + array[0].Naxis[1],
     20              matrix[0].Naxis[0],
     21              matrix[0].Naxis[1]);
    2222    return;
    2323  }
  • branches/pap/Ohana/src/libfits/matrix/F_compress_M.c

    r27435 r28484  
    7777    snprintf (zaxis, 10, "ZNAXIS%d", i + 1);
    7878    snprintf (naxis, 10, "NAXIS%d", i + 1);
    79     MOD_KEYWORD_REQUIRED (zaxis,  naxis,  "%lld", (long long *) &header->Naxis[i], (long long) header->Naxis[i]);
     79    MOD_KEYWORD_REQUIRED (zaxis,  naxis,  OFF_T_FMT,  &header->Naxis[i], header->Naxis[i]);
    8080  }   
    8181
     
    203203  if (!gfits_varlength_column_define (ftable, &zdef, zcol)) ESCAPE;
    204204  gfits_delete (header, "TFIELDS", 1);
    205   snprintf (key, 10, "TTYPE%lld", (long long) zcol);
     205  snprintf (key, 10, "TTYPE"OFF_T_FMT, zcol);
    206206  gfits_delete (header, key, 1);
    207   snprintf (key, 10, "TFORM%lld", (long long) zcol);
     207  snprintf (key, 10, "TFORM"OFF_T_FMT, zcol);
    208208  gfits_delete (header, key, 1);
    209209
  • branches/pap/Ohana/src/libfits/matrix/F_insert_M.c

    r27435 r28484  
    1212  if ((x + array[0].Naxis[0] > matrix[0].Naxis[0]) ||
    1313      (y + array[0].Naxis[1] > matrix[0].Naxis[1])) {
    14     fprintf (stderr, "can't insert array here: (%lld,%lld) - (%lld,%lld) vs (%lld,%lld)\n",
    15              (long long) x,
    16              (long long) y,
    17              (long long) x + array[0].Naxis[0],
    18              (long long) y + array[0].Naxis[1],
    19              (long long) matrix[0].Naxis[0],
    20              (long long) matrix[0].Naxis[1]);
     14    fprintf (stderr, "can't insert array here: ("OFF_T_FMT","OFF_T_FMT") - ("OFF_T_FMT","OFF_T_FMT") vs ("OFF_T_FMT","OFF_T_FMT")\n",
     15              x,
     16              y,
     17              x + array[0].Naxis[0],
     18              y + array[0].Naxis[1],
     19              matrix[0].Naxis[0],
     20              matrix[0].Naxis[1]);
    2121    return;
    2222  }
  • branches/pap/Ohana/src/libfits/matrix/F_load_M.c

    r27435 r28484  
    9595  }
    9696  if (nbytes != Nbytes) {  /* this is a FITS error, but often the image is OK */
    97     fprintf (stderr, "incomplete block in FITS file: (%lld, %lld)\n", (long long) nbytes, (long long) Nbytes);
     97    fprintf (stderr, "incomplete block in FITS file: ("OFF_T_FMT", "OFF_T_FMT")\n",  nbytes, Nbytes);
    9898    return (TRUE);
    9999  }
  • branches/pap/Ohana/src/libfits/matrix/F_read_portion.c

    r27435 r28484  
    108108
    109109  if (nbytes < Nbytes - 2880) {  /* this is a bad FITS error: image is not OK */
    110     fprintf (stderr, "error reading in matrix data from FITS file %s (%lld < %lld - 2880)\n", filename, (long long) nbytes, (long long) Nbytes);
     110    fprintf (stderr, "error reading in matrix data from FITS file %s ("OFF_T_FMT" < "OFF_T_FMT" - 2880)\n", filename,  nbytes, Nbytes);
    111111    return (FALSE);
    112112  }
    113113  if (nbytes != Nbytes) {  /* this is a FITS error, but often the image is OK */
    114     fprintf (stderr, "incomplete block in %s: (%lld, %lld)\n", filename, (long long) nbytes, (long long) Nbytes);
     114    fprintf (stderr, "incomplete block in %s: ("OFF_T_FMT", "OFF_T_FMT")\n", filename,  nbytes, Nbytes);
    115115    return (TRUE);
    116116  }
  • branches/pap/Ohana/src/libfits/matrix/F_read_segment.c

    r27435 r28484  
    148148
    149149  if (nbytes < Nbytes - 2880) {  /* this is a bad FITS error: image is not OK */
    150     fprintf (stderr, "error reading in matrix data from FITS file (%lld < %lld - 2880)\n", (long long) nbytes, (long long) Nbytes);
     150    fprintf (stderr, "error reading in matrix data from FITS file ("OFF_T_FMT" < "OFF_T_FMT" - 2880)\n",  nbytes, Nbytes);
    151151    return (FALSE);
    152152  }
    153153  if (nbytes != Nbytes) {  /* this is a FITS error, but often the image is OK */
    154     fprintf (stderr, "incomplete block in FITS file: (%lld, %lld)\n", (long long) nbytes, (long long) Nbytes);
     154    fprintf (stderr, "incomplete block in FITS file: ("OFF_T_FMT", "OFF_T_FMT")\n",  nbytes, Nbytes);
    155155    return (TRUE);
    156156  }
  • branches/pap/Ohana/src/libfits/table/F_create_TH.c

    r27435 r28484  
    2727  for (i = 0; i < header[0].Naxes; i++) {
    2828    sprintf (axis, "NAXIS%d", i + 1);
    29     gfits_modify (header,  axis, "%lld", 1, (long long) header[0].Naxis[i]);
     29    gfits_modify (header,  axis, OFF_T_FMT, 1, header[0].Naxis[i]);
    3030  }
    3131 
  • branches/pap/Ohana/src/libfits/table/F_define_column.c

    r27435 r28484  
    1313  Nfields = 0;
    1414  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    15   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Naxis1);
     15  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Naxis1);
    1616  Nfields ++;
    1717  Naxis1 += Nbytes*Nval;
     
    3535  /* update TFIELDS & NAXIS1 */
    3636  gfits_modify (header, "TFIELDS", "%d", 1, Nfields);
    37   gfits_modify (header, "NAXIS1",  "%lld", 1, (long long) Naxis1);
     37  gfits_modify (header, "NAXIS1",  OFF_T_FMT, 1, Naxis1);
    3838  header[0].Naxis[0] = Naxis1;
    3939
     
    5353  Nfields = 0;
    5454  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    55   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Naxis1);
     55  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Naxis1);
    5656  Nstart = Naxis1 + 1;
    5757  Nfields ++;
     
    7070
    7171  gfits_modify (header, "TFIELDS", "%d", 1, Nfields);
    72   gfits_modify (header, "NAXIS1",  "%lld", 1, (long long) Naxis1);
     72  gfits_modify (header, "NAXIS1",  OFF_T_FMT, 1, Naxis1);
    7373  header[0].Naxis[0] = Naxis1;
    7474
  • branches/pap/Ohana/src/libfits/table/F_get_column.c

    r27435 r28484  
    5151 
    5252  /* check existing table dimensions */
    53   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    54   gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     53  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     54  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    5555
    5656  /* scan columns to find insert point */
     
    187187 
    188188  /* check existing table dimensions */
    189   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    190   gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     189  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     190  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    191191
    192192  /* scan columns to find insert point */
     
    336336 
    337337  /* check existing table dimensions */
    338   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    339   gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     338  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     339  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    340340
    341341  /* scan columns to find insert point */
  • branches/pap/Ohana/src/libfits/table/F_read_T.c

    r27435 r28484  
    6464    perror (string);
    6565    if (Nread < gfits_data_min_size (table[0].header)) {
    66       fprintf (stderr, "error: fits read error in %s, read %lld, need %lld\n", __func__, (long long) Nread, (long long) gfits_data_min_size (table[0].header));
     66      fprintf (stderr, "error: fits read error in %s, read "OFF_T_FMT", need "OFF_T_FMT"\n", __func__,  Nread, gfits_data_min_size (table[0].header));
    6767      gfits_free_table  (table);
    6868      return (FALSE);
     
    109109  /* modify structure and header to match actual read rows Ny */
    110110  table[0].header[0].Naxis[1] = Nrows;
    111   gfits_modify (table[0].header, "NAXIS2",  "%lld", 1, (long long) Nrows);
     111  gfits_modify (table[0].header, "NAXIS2",  OFF_T_FMT, 1, Nrows);
    112112  table[0].datasize = gfits_data_size (table[0].header);
    113113
     
    185185    /* file pointer is at beginning of desired table data */
    186186    start = ftello (f);
    187     gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    188     gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     187
     188    gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     189    gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
     190
    189191    for (i = 0; i < Nrow; i++) {
    190192      if (row[i] > Ny) { return (FALSE); }
  • branches/pap/Ohana/src/libfits/table/F_read_TH.c

    r27435 r28484  
    7070  if (!status) return (FALSE);
    7171                                                           
    72   gfits_scan (Theader,  "NAXIS1", "%lld", 1, (long long *) &Theader[0].Naxis[0]);
    73   gfits_scan (Theader,  "NAXIS2", "%lld", 1, (long long *) &Theader[0].Naxis[1]);
    74   gfits_scan (Theader,  "NAXIS3", "%lld", 1, (long long *) &Theader[0].Naxis[2]);
    75   gfits_scan (Theader,  "NAXIS4", "%lld", 1, (long long *) &Theader[0].Naxis[3]);
    76   gfits_scan (Theader,  "NAXIS5", "%lld", 1, (long long *) &Theader[0].Naxis[4]);
    77   gfits_scan (Theader,  "NAXIS6", "%lld", 1, (long long *) &Theader[0].Naxis[5]);
    78   gfits_scan (Theader,  "NAXIS7", "%lld", 1, (long long *) &Theader[0].Naxis[6]);
    79   gfits_scan (Theader,  "NAXIS8", "%lld", 1, (long long *) &Theader[0].Naxis[7]);
    80   gfits_scan (Theader,  "NAXIS9", "%lld", 1, (long long *) &Theader[0].Naxis[8]);
    81   gfits_scan (Theader, "NAXIS10", "%lld", 1, (long long *) &Theader[0].Naxis[9]);
     72  gfits_scan (Theader,  "NAXIS1", OFF_T_FMT, 1, &Theader[0].Naxis[0]);
     73  gfits_scan (Theader,  "NAXIS2", OFF_T_FMT, 1, &Theader[0].Naxis[1]);
     74  gfits_scan (Theader,  "NAXIS3", OFF_T_FMT, 1, &Theader[0].Naxis[2]);
     75  gfits_scan (Theader,  "NAXIS4", OFF_T_FMT, 1, &Theader[0].Naxis[3]);
     76  gfits_scan (Theader,  "NAXIS5", OFF_T_FMT, 1, &Theader[0].Naxis[4]);
     77  gfits_scan (Theader,  "NAXIS6", OFF_T_FMT, 1, &Theader[0].Naxis[5]);
     78  gfits_scan (Theader,  "NAXIS7", OFF_T_FMT, 1, &Theader[0].Naxis[6]);
     79  gfits_scan (Theader,  "NAXIS8", OFF_T_FMT, 1, &Theader[0].Naxis[7]);
     80  gfits_scan (Theader,  "NAXIS9", OFF_T_FMT, 1, &Theader[0].Naxis[8]);
     81  gfits_scan (Theader, "NAXIS10", OFF_T_FMT, 1, &Theader[0].Naxis[9]);
    8282
    8383  return (TRUE);
  • branches/pap/Ohana/src/libfits/table/F_set_column.c

    r27435 r28484  
    4949 
    5050  /* check existing table dimensions */
    51   gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    52   gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     51  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     52  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    5353  if (Ny == 0) {
    5454    Ny = Nrow;
    5555    header[0].Naxis[1] = Ny;
    56     gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
     56    gfits_modify (header, "NAXIS2", OFF_T_FMT, 1, Ny);
    5757
    5858    nbytes = gfits_data_size (header);
     
    181181 
    182182  /* check existing table dimensions */
    183   gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    184   gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     183  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     184  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    185185  if (Ny == 0) {
    186186    Ny = Nrow;
    187187    header[0].Naxis[1] = Ny;
    188     gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
     188    gfits_modify (header, "NAXIS2", OFF_T_FMT, 1, Ny);
    189189
    190190    nbytes = gfits_data_size (header);
  • branches/pap/Ohana/src/libfits/table/F_table_format.c

    r27435 r28484  
    130130  off_t i, Nx, Ny;
    131131
    132   gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    133   gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     132  gfits_scan (ftable[0].header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     133  gfits_scan (ftable[0].header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    134134 
    135135  if (start + Nkeep > Ny) return (FALSE);
     
    158158  off_t i, N, Nx, Ny;
    159159
    160   gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    161   gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     160  gfits_scan (ftable[0].header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     161  gfits_scan (ftable[0].header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    162162
    163163  /* make empty vtable from table */
     
    191191  va_start (argp, table);
    192192
    193   gfits_scan (table[0].header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
     193  gfits_scan (table[0].header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
    194194  gfits_scan (table[0].header, "TFIELDS", "%d", 1, &Nfields);
    195195
     
    236236  off = 0;
    237237
    238   gfits_scan (ftable[0].header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    239   gfits_scan (ftable[0].header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     238  gfits_scan (ftable[0].header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     239  gfits_scan (ftable[0].header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    240240  gfits_scan (ftable[0].header, "TFIELDS", "%d", 1, &Nfields);
    241241
     
    320320  off = 0;
    321321
    322   gfits_scan (ftable[0].header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    323   gfits_scan (ftable[0].header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     322  gfits_scan (ftable[0].header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     323  gfits_scan (ftable[0].header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    324324  gfits_scan (ftable[0].header, "TFIELDS", "%d", 1, &Nfields);
    325325
  • branches/pap/Ohana/src/libfits/table/F_table_row.c

    r27435 r28484  
    1111  header = table[0].header;
    1212
    13   gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    14   gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     13  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     14  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    1515 
    1616  if (header[0].Naxis[1] != Ny) return (FALSE);
     
    2323  Ny += Nrow;
    2424  header[0].Naxis[1] = Ny;
    25   gfits_modify (header, "NAXIS2",  "%lld", 1, (long long) Ny);
     25  gfits_modify (header, "NAXIS2",  OFF_T_FMT, 1, Ny);
    2626
    2727  nbytes = gfits_data_size (header);
     
    4343  header = table[0].header;
    4444
    45   gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    46   gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     45  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     46  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    4747 
    4848  if (header[0].Naxis[1] != Ny) return (FALSE);
     
    6464  Ny += Nrow;
    6565  header[0].Naxis[1] = Ny;
    66   gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
     66  gfits_modify (header, "NAXIS2", OFF_T_FMT, 1, Ny);
    6767
    6868  table[0].datasize = gfits_data_size (table[0].header);
     
    8181  header = table[0].header;
    8282
    83   gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    84   gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     83  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     84  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    8585 
    8686  if (header[0].Naxis[1] != Ny) return (FALSE);
     
    9797  Ny -= Nrow;
    9898  header[0].Naxis[1] = Ny;
    99   gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
     99  gfits_modify (header, "NAXIS2", OFF_T_FMT, 1, Ny);
    100100
    101101  nbytes = gfits_data_size (header);
  • branches/pap/Ohana/src/libfits/table/F_table_varlength.c

    r27473 r28484  
    6464
    6565  // heap_start must be long long so file may be very large
    66   if (!gfits_scan (ftable->header, "THEAP", "%lld", 1, (long long *) &def->heap_start)) {
     66  if (!gfits_scan (ftable->header, "THEAP", OFF_T_FMT, 1, &def->heap_start)) {
    6767    def->heap_start = ftable->header->Naxis[0]*ftable->header->Naxis[1];
    6868  }
  • branches/pap/Ohana/src/libfits/table/F_write_T.c

    r27435 r28484  
    4040  Nrow = table[0].Nrow;
    4141  row = table[0].row;
    42   gfits_scan (table[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
    43   gfits_scan (table[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny);
     42  gfits_scan (table[0].header, "NAXIS1", OFF_T_FMT, 1, &Nx);
     43  gfits_scan (table[0].header, "NAXIS2", OFF_T_FMT, 1, &Ny);
    4444
    4545  /* file pointer is at beginning of desired table data */
     
    7979 
    8080  /* modify vtable to represent full disk table */
    81   gfits_modify (ftable[0].header, "NAXIS2", "%lld", 1, (long long) Ntotal);
     81  gfits_modify (ftable[0].header, "NAXIS2", OFF_T_FMT, 1, Ntotal);
    8282  ftable[0].header[0].Naxis[1] = Ntotal;
    8383
  • branches/pap/Ohana/src/libohana/Makefile

    r27435 r28484  
    11default: install
    22help:
    3         @echo "make options: install libohana clean dist"
     3        @echo "make options: install libohana clean dist test typetest"
    44
    55include ../../Makefile.System
     
    1919TFLAGS        = $(FULL_CFLAGS) $(FULL_CPPFLAGS) $(FULL_LDFLAGS) -lohana -ltap_ohana
    2020
    21 install: $(DESTLIB)/libohana.a $(DESTLIB)/libohana.$(DLLTYPE)
     21install: $(DESTLIB)/libohana.a $(DESTLIB)/libohana.$(DLLTYPE) typetest
    2222libohana: $(LIB)/libohana.$(ARCH).a $(LIB)/libohana.$(ARCH).$(DLLTYPE)
    2323
     
    4040$(SRC)/CommOps.$(ARCH).o         \
    4141$(SRC)/version.$(ARCH).o
     42
     43TYPETEST = \
     44$(TESTDIR)/typetest.$(ARCH)
     45
     46$(TYPETEST) : $(LIB)/libohana.$(ARCH).a
     47
     48typetest: $(TYPETEST)
     49        for i in $(TYPETEST); do $$i || exit 1; done
    4250
    4351TEST = \
  • branches/pap/Ohana/src/libohana/include/ohana.h

    r27484 r28484  
    9494};
    9595
     96/* note: in the Ohana tree, the byte order is determined by the ARCH variable
     97   if you have a small endian machine that is not listed here, the test
     98   program 'typestest' should fail */
     99# ifndef BYTE_SWAP
     100# ifdef linux
     101# define BYTE_SWAP
     102# endif
     103
     104# ifdef lin64
     105# define BYTE_SWAP
     106# endif
     107
     108# ifdef sid
     109# define BYTE_SWAP
     110# endif
     111
     112# if defined(darwin_x86) || defined(_DARWIN_C_SOURCE)
     113# define BYTE_SWAP
     114# endif
     115
     116# ifdef dec
     117# define BYTE_SWAP
     118# endif
     119# else
     120# define NOT_BYTE_SWAP
     121# endif /* BYTE_SWAP */
     122
    96123# ifndef NAN
    97124# ifndef BYTE_SWAP
     
    103130    __attribute_used__ = { __nan_bytes };
    104131# define NAN    (__nan_union.__d)
     132# endif
     133
     134/* if your build crashes on OFF_T_MODE, you probably need to add your 64bit hardware to this list */
     135# ifdef _LARGEFILE_SOURCE
     136# define OFF_T_FMT "%jd"
     137# endif
     138# ifdef lin64
     139# define OFF_T_FMT "%jd"
     140# endif
     141# ifdef _DARWIN_C_SOURCE
     142# define OFF_T_FMT "%jd"
     143#endif
     144# ifndef OFF_T_FMT
     145# define OFF_T_FMT "%ld"
     146# endif
     147
     148# ifndef isfinite
     149# define isfinite(A) (!isnan(A))
    105150# endif
    106151
  • branches/pap/Ohana/src/opihi/cmd.data/create.c

    r27817 r28484  
    44 
    55  int i, N, INT;
    6   float start, end, delta;
     6  opihi_flt start, end, delta;
    77  Vector *vec;
    88 
  • branches/pap/Ohana/src/opihi/cmd.data/extract.c

    r27435 r28484  
    7070    if ((out[0].header.Naxis[1] != Ny) || (out[0].header.Naxis[0] != Nx)) {
    7171      gprint (GP_ERR, "matrix sizes mis-matched\n");
    72       gprint (GP_ERR, "%d x %d  vs  %lld x %lld\n", Nx, Ny,
    73               (long long) out[0].header.Naxis[0], (long long) out[0].header.Naxis[1]);
     72      gprint (GP_ERR, "%d x %d  vs  "OFF_T_FMT" x "OFF_T_FMT"\n", Nx, Ny,
     73               out[0].header.Naxis[0], out[0].header.Naxis[1]);
    7474      return (FALSE);
    7575    }
  • branches/pap/Ohana/src/opihi/cmd.data/help/histogram

    r4688 r28484  
    11
    2    histogram <buffer> <x> <y> [-region sx sy nx ny] [-range min max]
     2   histogram <invec> <outvec> <start> <end> [<delta>] [-range <dx_outvec>]
    33
    4    calculate a histogram of the image pixel values in the given
    5    buffer, optionally constrained to the given region, with optional
    6    max and min values.  the results are placed in the vectors x and y,
    7    which contain the pixel values and the number of occurences.
     4   calculate a histogram of the <invec> values and store the
     5   occurrences count in the <outvec> buffer. Optionally constrained to
     6   the given <start>-<end> region with <delta> step value (default
     7   step is 1). The optional '-range <dx_outvec>' parameter allows storing
     8   the range <start>-<end> values with <delta> increment
    89
     10   Sample code usage:
     11   
     12   # create a vector ('x') containing arbitrary values  [0.:1.] range
     13   create y 0 100 1; set x = sin(y)
     14
     15   # build histogram from x from 0. to 1. with 0.1 delta step
     16   histogram x xhist 0. 1. .1 -range dx
     17
     18   # plot corresponding histogram
     19   limits dx xhist; clear; box; plot dx xhist -x 1
  • branches/pap/Ohana/src/opihi/cmd.data/matrix.c

    r27435 r28484  
    2323
    2424    if (bufB[0].matrix.Naxis[0] != bufC[0].matrix.Naxis[1]) {
    25       gprint (GP_ERR, "size mis-match in matrices: (%lld x %lld) * (%lld x %lld)\n",
    26               (long long) bufB[0].matrix.Naxis[0], (long long) bufB[0].matrix.Naxis[1],
    27               (long long) bufC[0].matrix.Naxis[0], (long long) bufC[0].matrix.Naxis[1]);
     25      gprint (GP_ERR, "size mis-match in matrices: ("OFF_T_FMT" x "OFF_T_FMT") * ("OFF_T_FMT" x "OFF_T_FMT")\n",
     26               bufB[0].matrix.Naxis[0], bufB[0].matrix.Naxis[1],
     27               bufC[0].matrix.Naxis[0], bufC[0].matrix.Naxis[1]);
    2828      return (FALSE);
    2929    }
  • branches/pap/Ohana/src/opihi/cmd.data/rd.c

    r27435 r28484  
    222222  buf[0].unsign = buf[0].header.unsign;
    223223
    224   gprint (GP_LOG, "read %lld bytes from %s into buffer %s\n",
    225           (long long) buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
     224  gprint (GP_LOG, "read "OFF_T_FMT" bytes from %s into buffer %s\n",
     225          buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
    226226
    227227  blank = 0xffff;
  • branches/pap/Ohana/src/opihi/cmd.data/rdseg.c

    r27435 r28484  
    6262  buf[0].bzero  = buf[0].header.bzero;     /* store the original values */
    6363  buf[0].unsign = buf[0].header.unsign;
    64   gprint (GP_LOG, "read %lld bytes from %s into buffer %s\n", (long long) buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
     64  gprint (GP_LOG, "read "OFF_T_FMT" bytes from %s into buffer %s\n", buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
    6565
    6666  gfits_scan (&buf[0].header, "BLANK", "%d", 1, &blank);
  • branches/pap/Ohana/src/opihi/cmd.data/rebin.c

    r27435 r28484  
    6363    }     
    6464  }
    65   if (VERBOSE) gprint (GP_LOG, "rebin %s to %s (%lld,%lld to %d,%d)\n", argv[1], argv[2], (long long) in[0].header.Naxis[0], (long long) in[0].header.Naxis[1], nx, ny);
     65  if (VERBOSE) gprint (GP_LOG, "rebin %s to %s ("OFF_T_FMT","OFF_T_FMT" to %d,%d)\n", argv[1], argv[2],  in[0].header.Naxis[0], in[0].header.Naxis[1], nx, ny);
    6666
    6767  Nx = in[0].header.Naxis[0];
  • branches/pap/Ohana/src/opihi/dvo/avextract.c

    r27594 r28484  
    103103    catalog.Nsecfilt = 0;
    104104
    105     if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
     105    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i, skylist[0].Nregions);
    106106     
    107107    // an error exit status here is a significant error
  • branches/pap/Ohana/src/opihi/dvo/avmatch.c

    r27610 r28484  
    102102    catalog.Nsecfilt = 0;
    103103
    104     if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
     104    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i, skylist[0].Nregions);
    105105     
    106106    // an error exit status here is a significant error
  • branches/pap/Ohana/src/opihi/dvo/cmatch.c

    r27435 r28484  
    3737  }
    3838  dvo_catalog_unlock (&catalog1);
    39   gprint (GP_ERR, "read %lld stars from phot catalog file %s\n", (long long) catalog1.Naverage, filename);
     39  gprint (GP_ERR, "read "OFF_T_FMT" stars from phot catalog file %s\n", catalog1.Naverage, filename);
    4040
    4141  /* this is for loading from a text file, presumably hstgsc or usno
  • branches/pap/Ohana/src/opihi/dvo/cmpread.c

    r27435 r28484  
    6565
    6666  /* find expected number of stars */
    67   if (!gfits_scan (&header, "NSTARS", "%lld", 1, (long long *) &Nstars)) {
     67  if (!gfits_scan (&header, "NSTARS", OFF_T_FMT, 1, &Nstars)) {
    6868    gprint (GP_ERR, "ERROR: can't get NSTARS from header\n");
    6969    gfits_free_header (&header);
     
    7777    /* allocate space for stars */
    7878    gprint (GP_ERR, "reading from TEXT cmp file %s\n", argv[2]);
    79     if (!gfits_scan (&header, "NSTARS", "%lld", 1, (long long *) &Nstars)) {
     79    if (!gfits_scan (&header, "NSTARS", OFF_T_FMT, 1, &Nstars)) {
    8080      gprint (GP_ERR, "ERROR: failed to find NSTARS\n");
    8181      exit (1);
     
    139139  free (stars);
    140140  gfits_free_header (&header);
    141   gprint (GP_ERR, "loaded %lld objects\n", (long long) Nstars);
     141  gprint (GP_ERR, "loaded "OFF_T_FMT" objects\n", Nstars);
    142142  return (TRUE);
    143143}
  • branches/pap/Ohana/src/opihi/dvo/dbExtractMeasures.c

    r27587 r28484  
    303303    case MEAS_AZ: /* OK */
    304304      value.Flt = measure[0].az;
     305      break;
     306    case MEAS_ALT: /* OK */
     307      value.Flt = 90.0 - DEG_RAD*acos(1.0/measure[0].airmass);
    305308      break;
    306309    case MEAS_EXPTIME: /* OK */
  • branches/pap/Ohana/src/opihi/dvo/detrend.c

    r27435 r28484  
    137137
    138138  /* load existing data from database */
    139   gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     139  gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    140140  ALLOCATE (pimage, RegImage, Nimage);
    141141  status = fread (pimage, sizeof(RegImage), Nimage, f);
     
    143143
    144144  if (status != Nimage) {
    145     gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status);
     145    gprint (GP_ERR, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nimage, status);
    146146    gfits_free_header (&header);
    147147    free (pimage);
  • branches/pap/Ohana/src/opihi/dvo/fitcolors.c

    r27435 r28484  
    174174    // the selection criteria
    175175  }
    176   gprint (GP_ERR, "using %lld possible regions\n", (long long) skylist[0].Nregions);
     176  gprint (GP_ERR, "using "OFF_T_FMT" possible regions\n", skylist[0].Nregions);
    177177
    178178  /* vectors to save data */
  • branches/pap/Ohana/src/opihi/dvo/fitsed.c

    r27435 r28484  
    185185  /* loop over regions, extract data for each region */
    186186  // XXX add interrupt checks
    187   gprint (GP_ERR, "using %lld possible regions\n", (long long) skylist[0].Nregions);
     187  gprint (GP_ERR, "using "OFF_T_FMT" possible regions\n", skylist[0].Nregions);
    188188  for (k = 0; k < skylist[0].Nregions; k++) {
    189189    /* lock, load, unlock catalog */
  • branches/pap/Ohana/src/opihi/dvo/gstar.c

    r27435 r28484  
    159159      k = N1[i];
    160160      if (!QUIET) {
    161         gprint (GP_LOG, "star: %lld\n", (long long) k);
     161        gprint (GP_LOG, "star: "OFF_T_FMT"\n",  i);
    162162        gprint (GP_LOG, "%11.7f ", catalog.average[k].R);
    163163        gprint (GP_LOG, "%11.7f ", catalog.average[k].D);
     
    165165        gprint (GP_LOG, "%3d   ",  catalog.average[k].Nmeasure);
    166166        gprint (GP_LOG, "%4.1f ",  0.01*catalog.average[k].Xp);
    167         gprint (GP_LOG, "%5d ",     catalog.average[k].flags);
     167        gprint (GP_LOG, "%5x ",    catalog.average[k].flags);
     168        gprint (GP_LOG, "%x ",     catalog.average[k].objID);
     169        gprint (GP_LOG, "%x ",     catalog.average[k].catID);
    168170       
    169171        if (FULL_OUTPUT) {
     
    176178            gprint (GP_LOG, "%f ",     catalog.average[k].P);
    177179            gprint (GP_LOG, "%f ",     catalog.average[k].dP);
    178             gprint (GP_LOG, "%x ",     catalog.average[k].objID);
    179             gprint (GP_LOG, "%x ",     catalog.average[k].catID);
    180180        }
    181181
     
    244244                gprint (GP_LOG, "%f ", catalog.measure[m].crNsigma);
    245245                gprint (GP_LOG, "%f ", catalog.measure[m].extNsigma);
    246                 gprint (GP_LOG, "%f ", 0.01*catalog.measure[m].FWx);
    247                 gprint (GP_LOG, "%f ", 0.01*catalog.measure[m].FWy);
    248246                gprint (GP_LOG, "%f ", (360.0/(float)0xffff)*catalog.measure[m].theta);
    249247            }
  • branches/pap/Ohana/src/opihi/dvo/imrough.c

    r27435 r28484  
    267267   
    268268    /* load existing data from database */
    269     gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     269    gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    270270    ALLOCATE (image, RegImage, Nimage);
    271271    status = fread (image, sizeof(RegImage), Nimage, f);
     
    273273   
    274274    if (status != Nimage) {
    275       gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %d)\n", (long long) Nimage, status);
     275      gprint (GP_ERR, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs %d)\n", Nimage, status);
    276276      gfits_free_header (&header);
    277277      free (image);
     
    304304  /* convert to internal format */
    305305  image = (RegImage *) table.buffer;
    306   gfits_scan (table.header, "NAXIS2", "%lld", 1, (long long *) &Nimage);
     306  gfits_scan (table.header, "NAXIS2", OFF_T_FMT, 1, &Nimage);
    307307  gfits_convert_RegImage (image, sizeof (RegImage), Nimage);
    308308
  • branches/pap/Ohana/src/opihi/dvo/imsearch.c

    r27435 r28484  
    106106
    107107  /* load existing data from database */
    108   gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
     108  gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1, &Nimage);
    109109  ALLOCATE (pimage, RegImage, Nimage);
    110110  status = fread (pimage, sizeof(RegImage), Nimage, f);
    111111  fclose (f);
    112112  if (status != Nimage) {
    113     gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status);
     113    gprint (GP_ERR, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nimage, status);
    114114    gfits_free_header (&header);
    115115    free (pimage);
     
    131131    obstime[strlen(obstime)-1] = 0;
    132132
    133     gprint (GP_LOG, "%5lld %6s %6s %2d %2d   ", (long long) i, get_type_name(pimage[i].type), get_mode_name(pimage[i].mode), pimage[i].ccd, pimage[i].type);
     133    gprint (GP_LOG, OFF_T_FMT" %6s %6s %2d %2d   ", i, get_type_name(pimage[i].type), get_mode_name(pimage[i].mode), pimage[i].ccd, pimage[i].type);
    134134    gprint (GP_LOG, "%s %s  ", pimage[i].pathname, pimage[i].filename);
    135135    gprint (GP_LOG, "%s %s %f %s\n", pimage[i].filter, pimage[i].instrument, pimage[i].exptime, obstime);
  • branches/pap/Ohana/src/opihi/dvo/mextract.c

    r27594 r28484  
    120120    catalog.Nsecfilt = Nsecfilt;
    121121
    122     if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
     122    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i, skylist[0].Nregions);
    123123     
    124124    // an error exit status here is a significant error
  • branches/pap/Ohana/src/opihi/dvo/mmextract.c

    r27435 r28484  
    186186    catalog.Nsecfilt = Nsecfilt;
    187187
    188     if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
     188    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i, skylist[0].Nregions);
    189189     
    190190    // an error exit status here is a significant error
  • branches/pap/Ohana/src/opihi/include/pcontrol.h

    r28158 r28484  
    120120  JobStat      state;
    121121  JobStat      stack;
    122   JobOutput    stdout;
    123   JobOutput    stderr;
     122  JobOutput    stdout_buf;
     123  JobOutput    stderr_buf;
    124124  Ptime        start;
    125125  Ptime        stop;
  • branches/pap/Ohana/src/opihi/pcontrol/CheckBusyJob.c

    r20065 r28484  
    9494  sscanf (p, "%*s %d", &job[0].exit_status);
    9595  p = memstr (buffer[0].buffer, "STDOUT", buffer[0].Nbuffer);
    96   sscanf (p, "%*s %d", &job[0].stdout.size);
     96  sscanf (p, "%*s %d", &job[0].stdout_buf.size);
    9797  p = memstr (buffer[0].buffer, "STDERR", buffer[0].Nbuffer);
    98   sscanf (p, "%*s %d", &job[0].stderr.size);
     98  sscanf (p, "%*s %d", &job[0].stderr_buf.size);
    9999
    100100  // XXX runaway job if output too large?
    101   if (job[0].stdout.size > 0x1000000) abort();
    102   if (job[0].stderr.size > 0x1000000) abort();
     101  if (job[0].stdout_buf.size > 0x1000000) abort();
     102  if (job[0].stderr_buf.size > 0x1000000) abort();
    103103
    104104  // job has exited : move to DONE stack
  • branches/pap/Ohana/src/opihi/pcontrol/CheckDoneJob.c

    r26411 r28484  
    1919
    2020  // we can always call this for stdout (if it is done, this is a NOP)
    21   status1 = GetJobOutput ("stdout", host, &job[0].stdout);
     21  status1 = GetJobOutput ("stdout", host, &job[0].stdout_buf);
    2222
    2323  // we cannot try stderr until stdout is completed
    2424  status2 = PCLIENT_HUNG;
    25   if (job[0].stdout.completed) {
    26       status2 = GetJobOutput ("stderr", host, &job[0].stderr);
     25  if (job[0].stdout_buf.completed) {
     26      status2 = GetJobOutput ("stderr", host, &job[0].stderr_buf);
    2727  }
    2828
  • branches/pap/Ohana/src/opihi/pcontrol/JobOps.c

    r23554 r28484  
    216216  job[0].Reset    = FALSE;
    217217
    218   InitJobOutput (&job[0].stdout);
    219   InitJobOutput (&job[0].stderr);
     218  InitJobOutput (&job[0].stdout_buf);
     219  InitJobOutput (&job[0].stderr_buf);
    220220
    221221  job[0].mode     = mode;
     
    257257  FREE (job[0].argv);
    258258
    259   FreeIOBuffer (&job[0].stdout.buffer);
    260   FreeIOBuffer (&job[0].stderr.buffer);
     259  FreeIOBuffer (&job[0].stdout_buf.buffer);
     260  FreeIOBuffer (&job[0].stderr_buf.buffer);
    261261
    262262  FREE (job);
  • branches/pap/Ohana/src/opihi/pcontrol/StartHost.c

    r27593 r28484  
    1414  if (VarConfig ("SHELL", "%s", shell)     == NULL) strcpy (shell, "pclient");
    1515
    16 #ifndef __APPLE__
    17   if (VerboseMode()) gprint (GP_ERR, "starting host within thread %lld\n", (long long) pthread_self());
    18 #endif
     16  if (VerboseMode()) gprint (GP_ERR, "starting host within thread\n");
     17
    1918  pid = rconnect (command, host[0].hostname, shell, stdio);
    2019  if (!pid) {     
  • branches/pap/Ohana/src/opihi/pcontrol/StartJob.c

    r20047 r28484  
    1313  ASSERT (job  == (Job *) host[0].job, "invalid job");
    1414
    15   ResetJobOutput (&job[0].stdout);
    16   ResetJobOutput (&job[0].stderr);
     15  ResetJobOutput (&job[0].stdout_buf);
     16  ResetJobOutput (&job[0].stderr_buf);
    1717
    1818  /* construct command line : job arg0 arg1 ... argN\n */
     
    3636  }
    3737
    38   fprintf (stderr, "command: %s\n", line);
     38  // fprintf (stderr, "command: %s\n", line);
    3939
    4040  status = PclientCommand (host, line, PCLIENT_PROMPT, PCONTROL_RESP_START_JOB);
  • branches/pap/Ohana/src/opihi/pcontrol/StopHosts.c

    r28158 r28484  
    128128  int i, result, waitstatus;
    129129
    130 #ifndef __APPLE__
    131   if (VerboseMode()) gprint (GP_ERR, "harvesting within thread %lld\n", (long long) pthread_self());
    132 #endif
     130  if (VerboseMode()) gprint (GP_ERR, "harvesting within thread\n");
    133131  if (VerboseMode()) gprint (GP_ERR, "child process %d is down, wait for exit status\n", pid);
    134132 
  • branches/pap/Ohana/src/opihi/pcontrol/check.c

    r21379 r28484  
    3838    gprint (GP_LOG, "STATUS %s\n", GetJobStackName(job[0].stack));
    3939    gprint (GP_LOG, "EXITST %d\n", job[0].exit_status);
    40     gprint (GP_LOG, "STDOUT %d\n", job[0].stdout.size);
    41     gprint (GP_LOG, "STDERR %d\n", job[0].stderr.size);
     40    gprint (GP_LOG, "STDOUT %d\n", job[0].stdout_buf.size);
     41    gprint (GP_LOG, "STDERR %d\n", job[0].stderr_buf.size);
    4242    gprint (GP_LOG, "DTIME %lf\n", job[0].dtime);
    4343    if (job[0].realhost) {
     
    5050        set_str_variable ("JOB_STATUS", GetJobStackName(job[0].stack));
    5151        set_int_variable ("JOB_EXITST", job[0].exit_status);
    52         set_int_variable ("JOB_STDOUT_SIZE", job[0].stdout.size);
    53         set_int_variable ("JOB_STDERR_SIZE", job[0].stderr.size);
     52        set_int_variable ("JOB_STDOUT_SIZE", job[0].stdout_buf.size);
     53        set_int_variable ("JOB_STDERR_SIZE", job[0].stderr_buf.size);
    5454        set_variable ("JOB_DTIME", job[0].dtime);
    5555        set_str_variable ("JOB_HOSTNAME", job[0].hostname);
  • branches/pap/Ohana/src/opihi/pcontrol/stdout.c

    r20047 r28484  
    4343
    4444found_stdout:
    45   buffer = &job[0].stdout.buffer;
     45  buffer = &job[0].stdout_buf.buffer;
    4646  if (varName == NULL) {
    4747    fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout);
     
    9797
    9898found_stderr:
    99   buffer = &job[0].stderr.buffer;
     99  buffer = &job[0].stderr_buf.buffer;
    100100  if (varName == NULL) {
    101101    fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout);
  • branches/pap/Ohana/src/photdbc/include/photdbc.h

    r27435 r28484  
    5252double CHISQ_MAX;
    5353double SIGMA_MAX;
     54double AVE_SIGMA_LIM;
    5455int    NMEAS_MIN;
    5556double ZERO_POINT;
  • branches/pap/Ohana/src/photdbc/src/ConfigInit.c

    r25757 r28484  
    4242
    4343  ScanConfig (config, "SIGMA_MAX",              "%lf", 0, &SIGMA_MAX);
     44  ScanConfig (config, "AVE_SIGMA_LIM",          "%lf", 0, &AVE_SIGMA_LIM);
    4445  ScanConfig (config, "NMEAS_MIN",              "%d",  0, &NMEAS_MIN);
    4546
  • branches/pap/Ohana/src/photdbc/src/copy_images.c

    r17284 r28484  
    33int copy_images (char *outdir) {
    44
    5   int status, Nimage;
     5  int status;
     6  off_t Nimage;
    67  char *ImageOut;
     8  unsigned int imageID;
    79  FITS_DB in;
    810  FITS_DB out;
     
    4648  dvo_image_addrows (&out, image, Nimage);
    4749
     50  // note that imageID is unsigned int
     51  status = gfits_scan (&in.header, "IMAGEID", "%u", 1, &imageID);
     52  if (!status) {
     53    status = gfits_scan (&in.header, "NIMAGES", "%u", 1, &imageID);
     54    imageID++;
     55  }
     56  status = gfits_modify (&out.header, "IMAGEID", "%u", 1, imageID);
     57
    4858  dvo_image_update (&out, VERBOSE);
    4959  dvo_image_unlock (&out);
  • branches/pap/Ohana/src/photdbc/src/join_stars.c

    r27435 r28484  
    77  off_t Naverage, Nmeasure, *index;
    88  double *X, *Y, dX, dY, dR, RADIUS2;
    9   double Sr, Sd, Rmid, Dmid;
     9  double Rmid, Dmid;
    1010  int basecode, baseNsec, Nsecfilt, *found;
    1111
     
    202202
    203203  if (Nmeas != Nmeasure) {
    204     fprintf (stderr, "failure to match %d measures (%d of %d matched)\n", Nmeasure - Nmeas, Nmeas, Nmeasure);
     204    fprintf (stderr, "failure to match "OFF_T_FMT" measures ("OFF_T_FMT" of "OFF_T_FMT" matched)\n", Nmeasure - Nmeas, Nmeas, Nmeasure);
    205205  }
    206206 
  • branches/pap/Ohana/src/photdbc/src/make_subcatalog.c

    r17284 r28484  
    55int make_subcatalog (Catalog *subcatalog, Catalog *catalog) {
    66 
    7   int i, j, offset;
    8   int NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm, Nsecfilt;
     7  off_t i, j, offset;
     8  off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm, Nsecfilt;
    99  double mag, minMag;
    10 
     10  int keep;
     11 
    1112  Nsecfilt = GetPhotcodeNsecfilt ();
    1213  assert (catalog[0].Nsecfilt == Nsecfilt);
     
    2526    // exclude stars with too few measurements
    2627    if (NMEAS_MIN && (catalog[0].average[i].Nmeasure < NMEAS_MIN)) continue;
     28
     29    if (AVE_SIGMA_LIM) {
     30      // if all of the average magnitude errors are >AVE_SIGMA_LIM, drop the object
     31      keep = FALSE;
     32      for (j = 0; !keep && (j < Nsecfilt); j++) {
     33        if (catalog[0].secfilt[Nsecfilt*i+j].dM < AVE_SIGMA_LIM) {
     34          keep = TRUE;
     35        }
     36      }
     37      if (!keep) continue;
     38    }
    2739
    2840    /* assign average and secfilt values */
     
    105117
    106118  if (VERBOSE) {
    107     fprintf (stderr, "%d: using %d stars (%d measures) for catalog\n", i,
     119    fprintf (stderr, OFF_T_FMT": using "OFF_T_FMT" stars ("OFF_T_FMT" measures) for catalog\n", i,
    108120             subcatalog[0].Naverage, subcatalog[0].Nmeasure);
    109121  }
  • branches/pap/Ohana/src/photdbc/src/photdbc.c

    r25757 r28484  
    2121  skylist = SkyListByPatch (sky, -1, &REGION);
    2222  for (i = 0; i < skylist[0].Nregions; i++) {
    23     if (i % 100 == 0) fprintf (stderr, "%s\n", skylist[0].regions[i][0].name);
     23    if (VERBOSE) fprintf (stderr, "%s\n", skylist[0].regions[i][0].name);
    2424
    2525    // set the parameters which guide catalog open/load/create
     
    5656    }
    5757
     58    // the output catalog needs to have the same values for 'objID' and 'sorted' as the input
     59    outcatalog.objID = incatalog.objID;
     60    outcatalog.sorted = incatalog.sorted;
     61    if (!incatalog.sorted) {
     62      fprintf (stderr, "ERROR: input db must be sorted: %s\n", incatalog.filename);
     63      exit (2);
     64    }
     65
    5866    /* limit number of measures based on selections */
    5967    make_subcatalog (&outcatalog, &incatalog);
    6068       
    6169    // XXX add other filters here:
    62     join_stars (&outcatalog);
     70    // join_stars (&outcatalog);
    6371    // unique_measures (catalog);
    6472    // flag_measures (&db, catalog);
  • branches/pap/Ohana/src/relastro/Makefile

    r27581 r28484  
    5656$(SRC)/save_catalogs.$(ARCH).o       \
    5757$(SRC)/write_coords.$(ARCH).o        \
    58 $(SRC)/CoordOps.$(ARCH).o        \
    59 $(SRC)/FixProblemImages.$(ARCH).o        \
     58$(SRC)/CoordOps.$(ARCH).o            \
     59$(SRC)/FixProblemImages.$(ARCH).o    \
     60$(SRC)/high_speed_catalogs.$(ARCH).o  \
     61$(SRC)/high_speed_objects.$(ARCH).o  \
    6062$(SRC)/relastroVisual.$(ARCH).o
    6163
  • branches/pap/Ohana/src/relastro/include/relastro.h

    r27581 r28484  
    1414typedef enum {FIT_NONE, FIT_AVERAGE, FIT_PM_ONLY, FIT_PAR_ONLY, FIT_PM_AND_PAR} FitMode;
    1515
    16 typedef enum {TARGET_NONE, TARGET_OBJECTS, TARGET_SIMPLE, TARGET_CHIPS, TARGET_MOSAICS} FitTarget;
     16typedef enum {TARGET_NONE, TARGET_OBJECTS, TARGET_SIMPLE, TARGET_CHIPS, TARGET_MOSAICS, TARGET_HIGH_SPEED} FitTarget;
    1717
    1818typedef struct {
     
    8989int SRC_MEAS_TOOFEW; //catalog objects wich fewer detections then this are ignored
    9090double MIN_ERROR;
     91
     92double RADIUS; // match radius for high-speed objects
    9193
    9294int    VERBOSE;
     
    112114int           NphotcodesKeep,      NphotcodesSkip;
    113115PhotCode     **photcodesKeep,     **photcodesSkip;
     116
     117char          *PHOTCODE_A_LIST,  *PHOTCODE_B_LIST;
     118int           NphotcodesGroupA,  NphotcodesGroupB;
     119PhotCode     **photcodesGroupA, **photcodesGroupB;
    114120
    115121int AreaSelect;
     
    321327int saveCoords (Coords *coords, off_t N);
    322328void resetImageRaw (Catalog *catalog, int Ncatalog, off_t im);
     329
     330int high_speed_catalogs ();
     331int high_speed_objects (SkyRegion *region, Catalog *catalog);
     332int MeasMatchesPhotcode(Measure *measure, PhotCode **photcodeSet, int Nset);
  • branches/pap/Ohana/src/relastro/src/ImageOps.c

    r27581 r28484  
    165165  for (i = 0; VERBOSE2 && (i < Nimage); i++) {
    166166    name = GetPhotcodeNamebyCode (image[i].photcode);
    167     fprintf (stderr, "image %lld has %lld measures (%s, %s)\n", (long long) i, (long long) Nlist[i],
     167    fprintf (stderr, "image "OFF_T_FMT" has "OFF_T_FMT" measures (%s, %s)\n",  i, Nlist[i],
    168168             ohana_sec_to_date(image[i].tzero), name);
    169169  }
  • branches/pap/Ohana/src/relastro/src/UpdateChips.c

    r27581 r28484  
    3030
    3131    // FitChip does iterative, clipped fitting
    32     // fprintf (stderr, "image %lld : Nstars: %lld\n", (long long) i, (long long) Nraw);
     32    // fprintf (stderr, "image "OFF_T_FMT" : Nstars: "OFF_T_FMT"\n",  i, Nraw);
    3333    if (!FitChip (raw, ref, Nraw, &image[i].coords)) {
    34       fprintf (stderr, "reject fit for image %s (%lld) : Nstars: %lld\n", image[i].name, (long long) i, (long long) Nraw);
     34      fprintf (stderr, "reject fit for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT"\n", image[i].name,  i, Nraw);
    3535      oldCoords = getCoords (i);
    3636      memcpy (&image[i].coords, oldCoords, sizeof(Coords));
  • branches/pap/Ohana/src/relastro/src/UpdateObjects.c

    r27588 r28484  
    8080  for (i = 0; i < Ncatalog; i++) {
    8181
    82     if (VERBOSE) fprintf (stderr, "astrometrize catalog %d : %lld ave, %lld meas\n", i, (long long) catalog[i].Naverage, (long long) catalog[i].Nmeasure);
     82    if (VERBOSE) fprintf (stderr, "astrometrize catalog %d : "OFF_T_FMT" ave, "OFF_T_FMT" meas\n", i,  catalog[i].Naverage, catalog[i].Nmeasure);
    8383
    8484    Nave = Npar = Npm = Nskip = 0;
     
    189189          T[k] -= Tmean;
    190190          if (XVERB) {
    191             fprintf (stderr, "%lld %f %f %f  %f %f +/- %f %f\n", (long long) k, T[k], R[k], D[k], X[k], Y[k], dX[k], dY[k]);
     191            fprintf (stderr, OFF_T_FMT" %f %f %f  %f %f +/- %f %f\n", k, T[k], R[k], D[k], X[k], Y[k], dX[k], dY[k]);
    192192          }
    193193        }         
     
    316316    NparSum += Npar;
    317317    NskipSum += Nskip;
    318     if (VERBOSE) fprintf (stderr, "catalog %lld : %lld ave, %lld pm, %lld par : Nskip %lld\n", (long long) i, (long long) Nave, (long long) Npm, (long long) Npar, (long long) Nskip);
     318    if (VERBOSE) fprintf (stderr, "catalog %d : "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT"\n",  i,  Nave,  Npm,  Npar, Nskip);
    319319  }
    320320
    321   fprintf (stderr, "fitted %lld objects (%lld ave, %lld pm, %lld par), skipped %lld\n", (long long) (NaveSum + NpmSum + NparSum), (long long) NaveSum, (long long) NpmSum, (long long) NparSum, (long long) NskipSum);
     321  fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT"\n",  (NaveSum + NpmSum + NparSum),  NaveSum,  NpmSum,  NparSum, NskipSum);
    322322  return (TRUE);
    323323}
  • branches/pap/Ohana/src/relastro/src/args.c

    r27581 r28484  
    2828    }
    2929  }
     30  if ((N = get_argument (argc, argv, "-high-speed"))) {
     31    // XXX include a parallax / no-parallax option
     32    if (N >= argc - 3) usage();
     33    FIT_TARGET = TARGET_HIGH_SPEED;
     34    remove_argument (N, &argc, argv);
     35    PHOTCODE_A_LIST = strcreate(argv[N]);
     36    remove_argument (N, &argc, argv);
     37    PHOTCODE_B_LIST = strcreate(argv[N]);
     38    remove_argument (N, &argc, argv);
     39    RADIUS = atof(argv[N]);
     40    remove_argument (N, &argc, argv);
     41  }
     42
    3043  if ((N = get_argument (argc, argv, "-update-simple"))) {
    3144    remove_argument (N, &argc, argv);
     
    271284void usage () {
    272285  fprintf (stderr, "ERROR: USAGE: relastro -region RA RA DEC DEC\n");
    273   fprintf (stderr, "       OR:    relastro -catalog (ra) (dec)\n");
    274   fprintf (stderr, "  working options: \n");
     286  fprintf (stderr, "       OR:    relastro -catalog (ra) (dec)\n\n");
     287  fprintf (stderr, "  specify one of the following modes: \n");
    275288  fprintf (stderr, "  -update-objects\n");
    276289  fprintf (stderr, "    -pm\n");
     
    280293  fprintf (stderr, "  -update-chips\n");
    281294  fprintf (stderr, "  -update-mosaics\n");
     295  fprintf (stderr, "  -high-speed (code[,code,code]) (code[,code,code]) (radius)\n\n");
     296  fprintf (stderr, "  additional options: \n");
    282297  fprintf (stderr, "  -time (start)(stop)\n");
    283298  fprintf (stderr, "  +photcode (code)[,code,code...]\n");
  • branches/pap/Ohana/src/relastro/src/bcatalog.c

    r27435 r28484  
    104104
    105105  if (VERBOSE) {
    106     fprintf (stderr, "%lld: using %lld stars (%lld measures) for catalog\n", (long long) i, (long long) subcatalog[0].Naverage, (long long) subcatalog[0].Nmeasure);
     106    fprintf (stderr, OFF_T_FMT": using "OFF_T_FMT" stars ("OFF_T_FMT" measures) for catalog\n",  i,  subcatalog[0].Naverage, subcatalog[0].Nmeasure);
    107107   }
    108108  return (TRUE);
  • branches/pap/Ohana/src/relastro/src/initialize.c

    r27551 r28484  
    5656  }
    5757
     58  NphotcodesGroupA = 0;
     59  photcodesGroupA = NULL;
     60  if (PHOTCODE_A_LIST != NULL) {
     61    NPHOTCODES = 10;
     62    ALLOCATE (photcodesGroupA, PhotCode *, NPHOTCODES);
     63
     64    /* parse the comma-separated list of photcodesGroupA */
     65    list = PHOTCODE_A_LIST;
     66    while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
     67      list = NULL; // pass NULL on successive strtok_r calls
     68      fprintf (stderr, "PHOTCODE_A_LIST: %s\n", PHOTCODE_A_LIST);
     69      fprintf (stderr, "codename: %s\n", codename);
     70      if ((photcodesGroupA[NphotcodesGroupA] = GetPhotcodebyName (codename)) == NULL) {
     71        fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
     72        exit (1);
     73      }
     74      NphotcodesGroupA ++;
     75      CHECK_REALLOCATE (photcodesGroupA, PhotCode *, NPHOTCODES, NphotcodesGroupA, 10);
     76    }
     77  }
     78
     79  NphotcodesGroupB = 0;
     80  photcodesGroupB = NULL;
     81  if (PHOTCODE_B_LIST != NULL) {
     82    NPHOTCODES = 10;
     83    ALLOCATE (photcodesGroupB, PhotCode *, NPHOTCODES);
     84
     85    /* parse the comma-separated list of photcodesGroupB */
     86    list = PHOTCODE_B_LIST;
     87    while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
     88      list = NULL; // pass NULL on successive strtok_r calls
     89      fprintf (stderr, "PHOTCODE_B_LIST: %s\n", PHOTCODE_B_LIST);
     90      fprintf (stderr, "codename: %s\n", codename);
     91      if ((photcodesGroupB[NphotcodesGroupB] = GetPhotcodebyName (codename)) == NULL) {
     92        fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
     93        exit (1);
     94      }
     95      NphotcodesGroupB ++;
     96      CHECK_REALLOCATE (photcodesGroupB, PhotCode *, NPHOTCODES, NphotcodesGroupB, 10);
     97    }
     98  }
     99
    58100  initstats (STATMODE);
    59101
  • branches/pap/Ohana/src/relastro/src/relastro.c

    r27581 r28484  
    2323  if (FIT_TARGET == TARGET_OBJECTS) {
    2424    relastro_objects ();
     25    exit (0);
     26  }
     27
     28  /* the object analysis is a separate process iterating over catalogs */
     29  if (FIT_TARGET == TARGET_HIGH_SPEED) {
     30    high_speed_catalogs ();
    2531    exit (0);
    2632  }
  • branches/pap/Ohana/src/relastro/src/select_images.c

    r27478 r28484  
    115115   
    116116    if (!FindMosaicForImage (timage, Ntimage, i)) {
    117       fprintf (stderr, "cannot find mosaic for %lld\n", (long long) i);
     117      fprintf (stderr, "cannot find mosaic for "OFF_T_FMT"\n", i);
    118118      continue;
    119119    }
     
    190190  }
    191191     
    192   if (VERBOSE) fprintf (stderr, "found %lld images\n", (long long) nimage);
     192  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" images\n", nimage);
    193193
    194194  REALLOCATE (image, Image, MAX (nimage, 1));
  • branches/pap/Ohana/src/relphot/src/GridOps.c

    r27435 r28484  
    703703  gfits_create_header (&header);
    704704  gfits_create_matrix (&header, &matrix);
    705   gfits_modify (&header, "NEXTEND", "%lld", 1, (long long) Nimage + 3);
     705  gfits_modify (&header, "NEXTEND", OFF_T_FMT, 1, Nimage + 3);
    706706  gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
    707707  gfits_modify_alt (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
  • branches/pap/Ohana/src/relphot/src/ImageOps.c

    r27586 r28484  
    200200    status = findCCD (idx, meas, cat, measure);
    201201    if (!status) {
    202       if (VERBOSE2) fprintf (stderr, "failed to determine CCD for %lld, %d\n", (long long) meas, cat);
     202      if (VERBOSE2) fprintf (stderr, "failed to determine CCD for "OFF_T_FMT", %d\n", meas, cat);
    203203      return;
    204204    }
  • branches/pap/Ohana/src/relphot/src/MosaicOps.c

    r27480 r28484  
    400400      mark = (N < IMAGE_TOOFEW) || (N < IMAGE_GOOD_FRACTION*Nlist[i]);
    401401      if (mark) {
    402         fprintf (stderr, "marked image %s (%lld), (%lld < %d) || (%lld < %f*%lld)\n", image[imlist[i][0]].name, (long long) i, (long long) N, IMAGE_TOOFEW, (long long) N, IMAGE_GOOD_FRACTION, (long long) Nlist[i]);
     402        fprintf (stderr, "marked mosaic %s ("OFF_T_FMT"), ("OFF_T_FMT" < %d) || ("OFF_T_FMT" < %f*"OFF_T_FMT")\n", image[imlist[i][0]].name,  i,  N, IMAGE_TOOFEW,  N, IMAGE_GOOD_FRACTION, Nlist[i]);
    403403        mosaic[i].flags |= ID_IMAGE_FEW;
    404404        Nfew ++;
     
    408408    }
    409409    liststats (list, dlist, N, &stats);
    410     if (PoorImages) fprintf (stderr, "Mmos: %f %f %d %lld\n", stats.mean, stats.sigma, stats.Nmeas, (long long) N);
     410    if (PoorImages) fprintf (stderr, "Mmos: %f %f %d "OFF_T_FMT"\n", stats.mean, stats.sigma, stats.Nmeas, N);
    411411    mosaic[i].Mcal  = stats.mean;
    412412    mosaic[i].dMcal = stats.sigma;
     
    519519    n++;
    520520  }
    521   fprintf (stderr, "Nmosaic: %lld, n: %lld\n", (long long) Nmosaic, (long long) n);
     521  fprintf (stderr, "Nmosaic: "OFF_T_FMT", n: "OFF_T_FMT"\n",  Nmosaic, n);
    522522
    523523  liststats (list, dlist, n, &stats);
     
    599599  }
    600600
    601   fprintf (stderr, "%lld mosaics marked poor\n", (long long) Nmark);
     601  fprintf (stderr, OFF_T_FMT" mosaics marked poor\n", Nmark);
    602602  initstats (STATMODE);
    603603  free (mlist);
     
    643643    }
    644644 
    645     sprintf (string, "Mosaic %lld", (long long) i);
     645    sprintf (string, "Mosaic "OFF_T_FMT, i);
    646646    plot_defaults (&graphdata);
    647647    plot_list (&graphdata, xlist, ylist, N, string, NULL);
  • branches/pap/Ohana/src/relphot/src/StarOps.c

    r27790 r28484  
    391391}
    392392
     393# define NSIGMA_CLIP 3.0
     394# define NSIGMA_REJECT 5.0
    393395void clean_measures (Catalog *catalog, int Ncatalog, int final) {
    394396
     
    396398  int i, N, image_bad, TOOFEW;
    397399  off_t *ilist;
    398   double *tlist, *list, *dlist, Ns;
     400  double *tlist, *list, *dlist;
    399401  float Msys, Mcal, Mmos, Mgrid;
    400402  StatType stats;
     403  int Ncal, Nmos, Ngrid, Nfew;
    401404
    402405  if (VERBOSE) fprintf (stderr, "marking poor measures\n");
     
    416419  TOOFEW = MAX (5, STAR_TOOFEW);
    417420
    418   Ns = 3;
    419421  Ndel = Nave = 0;
     422  Ncal = Nmos = Ngrid = Nfew = 0;
    420423  for (i = 0; i < Ncatalog; i++) {
    421424    for (j = 0; j < catalog[i].Naverage; j++) {
     
    433436        /* if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue; */
    434437        Mcal  = getMcal  (m, i);
    435         if (isnan(Mcal)) continue;
     438        if (isnan(Mcal)) { Ncal ++; continue; }
    436439        Mmos  = getMmos  (m, i);
    437         if (isnan(Mmos)) continue;
     440        if (isnan(Mmos)) { Nmos ++; continue; }
    438441        Mgrid = getMgrid (m, i);
    439         if (isnan(Mgrid)) continue;
     442        if (isnan(Mgrid)) { Ngrid ++; continue; }
    440443
    441444        Msys = PhotSys (&catalog[i].measure[m], &catalog[i].average[j], &catalog[i].secfilt[j*PhotNsec]);
     
    444447        N++;
    445448      }
    446       if (N <= TOOFEW) continue;
     449      if (N <= TOOFEW) { Nfew ++; continue; }
    447450
    448451      /* 3-sigma clip based on stats of inner 50% */
     452
     453      // calculated mean of inner 50%
    449454      initstats ("INNER_MEAN");
    450455      liststats (list, dlist, N, &stats);
    451456      stats.sigma = MAX (MIN_ERROR, stats.sigma); /* if measurements agree too well, sigma -> 0.0 */
     457
     458      // ignore entries > 3sigma from inner mean
    452459      for (k = m = 0; k < N; k++) {
    453         if (fabs (list[k] - stats.median) < Ns*stats.sigma) {
     460        if (fabs (list[k] - stats.median) < NSIGMA_CLIP*stats.sigma) {
    454461          list[m] = list[k];
    455462          m++;
    456463        }
    457464      }
     465      // recalculate the mean & sigma of the accepted measurements
    458466      initstats ("MEAN");
    459467      liststats (list, dlist, m, &stats);
     
    483491      if (N < TOOFEW) continue;
    484492
    485       /* mark bad measures */
     493      /* mark bad measures (> 3 sigma deviant) */
    486494      for (k = 0; k < N; k++) {
    487         if (fabs (list[k] - stats.median) > Ns*stats.sigma) {
     495        if (fabs (list[k] - stats.median) > NSIGMA_REJECT*stats.sigma) {
    488496          catalog[i].measure[ilist[k]].dbFlags |= ID_MEAS_POOR_PHOTOM;
    489497          Ndel ++;
     
    494502  }
    495503  initstats (STATMODE);
    496   if (VERBOSE) fprintf (stderr, "%lld measures marked poor, %lld total\n", (long long) Ndel, (long long) Nave);
     504  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measures marked poor, "OFF_T_FMT" total\n", Ndel, Nave);
    497505  free (ilist);
    498506  free (tlist);
  • branches/pap/Ohana/src/relphot/src/bcatalog.c

    r27435 r28484  
    77  off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm;
    88  float mag;
     9  int Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew;
    910
    1011  // XXX PhotNsec as a global is a bad idea; either get it from catalog
     
    2021  ALLOCATE (subcatalog[0].measure, Measure, NMEASURE);
    2122  Nmeasure = Naverage = 0;
     23
     24  Ncode = Ntime = Ndophot = Nmag = Nsigma = Nimag = Nfew = 0;
    2225
    2326  /* exclude stars not in range or with too few measurements */
     
    4649      /* select measurements by photcode */
    4750      ecode = GetPhotcodeEquivCodebyCode (catalog[0].measure[offset].photcode);
    48       if (ecode != photcode[0].code) continue;
     51      if (ecode != photcode[0].code) { Ncode ++; continue; }
    4952
    5053      /* select measurements by time */
    5154      if (TimeSelect) {
    52         if (catalog[0].measure[offset].t < TSTART) continue;
    53         if (catalog[0].measure[offset].t > TSTOP) continue;
     55        if (catalog[0].measure[offset].t < TSTART) { Ntime ++; continue; }
     56        if (catalog[0].measure[offset].t > TSTOP)  { Ntime ++; continue; }
    5457      }
    5558
     
    5760      // XXX ignore this criterion for REF measurements?
    5861      // XXX chnage this to select by bitflags
    59       if (DophotSelect && ((catalog[0].measure[offset].photFlags >> 16) != DophotValue)) continue;
     62      if (DophotSelect && ((catalog[0].measure[offset].photFlags >> 16) != DophotValue)) { Ndophot ++; continue; }
    6063
    6164      /* select measurements by mag limit */
    6265      mag = PhotCat (&catalog[0].measure[offset]);
    63       if (mag > MAG_LIM) continue;
     66      if (mag > MAG_LIM) { Nmag ++; continue; }
    6467
    6568      /* select measurements by measurement error */
    66       if ((SIGMA_LIM > 0) && (catalog[0].measure[offset].dM > SIGMA_LIM)) continue;
     69      if ((SIGMA_LIM > 0) && (catalog[0].measure[offset].dM > SIGMA_LIM)) { Nsigma ++; continue; }
    6770
    6871      /* select measurements by mag limit */
    6972      if (ImagSelect) {
    7073        mag = PhotInst (&catalog[0].measure[offset]);
    71         if (mag < ImagMin) continue;
    72         if (mag > ImagMax) continue;
     74        if (mag < ImagMin) { Nimag ++; continue; }
     75        if (mag > ImagMax) { Nimag ++; continue; }
    7376      }
    7477
     
    9497    if (Nm <= STAR_TOOFEW) { /* enough measurements in band? */
    9598      Nmeasure -= Nm;
     99      Nfew ++;
    96100      continue;
    97101    }
     
    114118
    115119  if (VERBOSE) {
    116     fprintf (stderr, "%lld: using %lld stars (%lld measures) for catalog\n", (long long) i,
    117              (long long) subcatalog[0].Naverage, (long long) subcatalog[0].Nmeasure);
     120    fprintf (stderr, "using "OFF_T_FMT" stars ("OFF_T_FMT" measures) of "OFF_T_FMT" for catalog\n",
     121              subcatalog[0].Naverage,  subcatalog[0].Nmeasure,  i);
     122    fprintf (stderr, "rejections: %d code, %d time, %d dophot, %d mag, %d sigma, %d imag, %d few\n",
     123             Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew);
    118124  }
    119125  return (TRUE);
  • branches/pap/Ohana/src/relphot/src/load_catalogs.c

    r20190 r28484  
    4747
    4848  fprintf (stderr, "using %d of %d stars (%d of %d measurements)\n", Nstar, Nstar_total, Nmeas, Nmeas_total);
     49  if (Nstar < 1) {
     50      Shutdown ("ERROR: no stars match the minimum requirements; exiting\n");
     51  }
    4952
    5053  // XXX consider only returning the populated catalogs
  • branches/pap/Ohana/src/relphot/src/load_images.c

    r27435 r28484  
    4747  vtable = &db[0].vtable;
    4848
    49   gfits_scan (vtable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
     49  gfits_scan (vtable[0].header, "NAXIS1", OFF_T_FMT, 1, &Nx);
    5050  for (i = 0; i < Nimage; i++) {
    5151    memcpy (vtable[0].buffer[i], &image[i], Nx);
  • branches/pap/Ohana/src/relphot/src/relphot_objects.c

    r27435 r28484  
    5555        for (k = 0; k < catalog.average[j].Nmeasure; k++) {
    5656          catalog.measure[m+k].dbFlags = 0;
     57          catalog.measure[m+k].Mcal = 0;
    5758        }
    5859      }
  • branches/pap/Ohana/src/relphot/src/select_images.c

    r27480 r28484  
    101101   
    102102    if (!FindMosaicForImage (timage, Ntimage, i)) {
    103       fprintf (stderr, "cannot find mosaic for %lld\n", (long long) i);
     103      fprintf (stderr, "cannot find mosaic for "OFF_T_FMT"\n", i);
    104104      continue;
    105105    }
     
    175175  }
    176176     
    177   if (VERBOSE) fprintf (stderr, "found %lld images\n", (long long) nimage);
     177  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" images\n", nimage);
    178178
    179179  REALLOCATE (image, Image, MAX (nimage, 1));
  • branches/pap/Ohana/src/relphot/src/setExclusions.c

    r27435 r28484  
    5050    }
    5151  }
    52   if (VERBOSE) fprintf (stderr, "%lld measurements marked by area\n",    (long long) Narea);
    53   if (VERBOSE) fprintf (stderr, "%lld measurements marked nocal\n",      (long long) Nnocal);
    54   if (VERBOSE) fprintf (stderr, "%lld measurements kept for analysis\n", (long long) Ngood);
     52  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measurements marked by area\n",    Narea);
     53  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measurements marked nocal\n",      Nnocal);
     54  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measurements kept for analysis\n", Ngood);
    5555  return (TRUE);
    5656}
  • branches/pap/Ohana/src/relphot/src/setMrelFinal.c

    r27435 r28484  
    138138    }
    139139  }
    140   if (VERBOSE) fprintf (stderr, "pass %d, Ntot: %lld, Ntry: %lld, Nskip: %lld, Nkeep: %lld\n",
    141                         pass, (long long) Ntot, (long long) Ntry, (long long) Nskip, (long long) Nkeep);
     140  if (VERBOSE) fprintf (stderr, "pass %d, Ntot: "OFF_T_FMT", Ntry: "OFF_T_FMT", Nskip: "OFF_T_FMT", Nkeep: "OFF_T_FMT"\n",
     141                        pass, Ntot, Ntry, Nskip, Nkeep);
    142142}
    143143
  • branches/pap/Ohana/src/tools/src/ftable.c

    r27435 r28484  
    11# include <ohana.h>
    22# include <gfitsio.h>
     3# include "inttypes.h"
    34
    45char *print_table_row (char *row, Header *header);
     
    9596  table.datasize = Nbytes;
    9697
    97   gfits_scan (table.header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    98   gfits_scan (table.header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     98  gfits_scan (table.header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     99  gfits_scan (table.header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    99100
    100101  /* print a column */
     
    125126  char field[16], type[16], format[16], *line;
    126127
    127   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
     128  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
    128129  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    129130
     
    209210    for (i = 0; i < Naxis; i++) {
    210211      sprintf (axisname, "NAXIS%d", i+1);
    211       status = gfits_scan (&header, axisname,  "%lld", 1, (long long *) &Nelem);
     212      status = gfits_scan (&header, axisname,  OFF_T_FMT, 1, &Nelem);
    212213      if (!status) {
    213214        fprintf (stderr, "missing %s\n", axisname);
    214215      }
    215       fprintf (stdout, " %7lld", (long long) Nelem);
     216      fprintf (stdout, " "OFF_T_FMT, Nelem);
    216217    }
    217218    fprintf (stdout, "\n");
     
    294295
    295296  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    296   gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
    297   gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
     297  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1, &Nx);
     298  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1, &Ny);
    298299
    299300  if (Colname != (char *) NULL) {
     
    358359          if (!strcmp (type, "int64_t")) {
    359360            memcpy (line, &data[i*Nv*Nb + Nb*j], Nb);
    360             fprintf (stdout, "%lld ", (long long) *(int64_t*)line);
     361            fprintf (stdout, "%" PRId64" ", *(int64_t*)line);
    361362          }
    362363          if (!strcmp (type, "float")) {
  • branches/pap/Ohana/src/uniphot/src/load_images.c

    r27790 r28484  
    2323  image = gfits_table_get_Image (&db[0].ftable, Nimage, &db[0].swapped);
    2424
    25   fprintf (stderr, "loaded %lld images\n", (long long) *Nimage);
     25  fprintf (stderr, "loaded "OFF_T_FMT" images\n", *Nimage);
    2626
    2727  return (image);
  • branches/pap/Ohana/src/uniphot/src/update_catalog_setphot.c

    r27790 r28484  
    9393
    9494  if (found) {
    95     fprintf (stderr, "found %lld matches\n", (long long) found);
     95    fprintf (stderr, "found "OFF_T_FMT" matches\n", found);
    9696  }
    9797}
Note: See TracChangeset for help on using the changeset viewer.