Changeset 27435 for trunk/Ohana/src
- Timestamp:
- Mar 24, 2010, 11:22:25 AM (16 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 8 deleted
- 410 edited
- 12 copied
-
. (modified) (1 prop)
-
src/addstar/include/addstar.h (modified) (9 diffs)
-
src/addstar/include/skycells.h (modified) (1 diff)
-
src/addstar/src/ConfigInit.c (modified) (3 diffs)
-
src/addstar/src/FilterStars.c (modified) (1 diff)
-
src/addstar/src/GetFileMode.c (modified) (1 diff)
-
src/addstar/src/GetZeroPointExposure.c (modified) (2 diffs)
-
src/addstar/src/ImageOptions.c (modified) (1 diff)
-
src/addstar/src/ListenClients_Thread.c (modified) (1 diff)
-
src/addstar/src/LoadData.c (modified) (2 diffs)
-
src/addstar/src/LoadDataPMM.c (modified) (1 diff)
-
src/addstar/src/LoadDataSDSS.c (modified) (2 diffs)
-
src/addstar/src/LoadHeaders.c (modified) (2 diffs)
-
src/addstar/src/LoadStars.c (modified) (2 diffs)
-
src/addstar/src/MatchHeaders.c (modified) (5 diffs)
-
src/addstar/src/ReadImageHeader.c (modified) (1 diff)
-
src/addstar/src/ReadStarsFITS.c (modified) (8 diffs)
-
src/addstar/src/ReadStarsSDSS.c (modified) (3 diffs)
-
src/addstar/src/SkyListForStars.c (modified) (1 diff)
-
src/addstar/src/SkyTableFromTychoIndex.c (modified) (1 diff)
-
src/addstar/src/UpdateDatabase_Image.c (modified) (1 diff)
-
src/addstar/src/UpdateDatabase_Reflist.c (modified) (1 diff)
-
src/addstar/src/UpdateImageIDs.c (modified) (1 diff)
-
src/addstar/src/addstar.c (modified) (5 diffs)
-
src/addstar/src/addstard.c (modified) (1 diff)
-
src/addstar/src/build_links.c (modified) (13 diffs)
-
src/addstar/src/calibrate.c (modified) (3 diffs)
-
src/addstar/src/dump.c (modified) (1 diff)
-
src/addstar/src/fakeimage.c (modified) (1 diff)
-
src/addstar/src/find_matches.c (modified) (6 diffs)
-
src/addstar/src/find_matches_closest.c (modified) (8 diffs)
-
src/addstar/src/find_matches_closest_refstars.c (modified) (7 diffs)
-
src/addstar/src/find_matches_refstars.c (modified) (6 diffs)
-
src/addstar/src/find_subset.c (modified) (1 diff)
-
src/addstar/src/get2mass.c (modified) (1 diff)
-
src/addstar/src/getgsc.c (modified) (2 diffs)
-
src/addstar/src/gettycho.c (modified) (3 diffs)
-
src/addstar/src/getusno.c (modified) (2 diffs)
-
src/addstar/src/getusnob.c (modified) (2 diffs)
-
src/addstar/src/greference.c (modified) (1 diff)
-
src/addstar/src/grefstars.c (modified) (1 diff)
-
src/addstar/src/gztest.c (modified) (3 diffs)
-
src/addstar/src/mkcmf.c (modified) (4 diffs)
-
src/addstar/src/psps_ids.c (modified) (1 prop)
-
src/addstar/src/resort_catalog.c (modified) (2 diffs)
-
src/addstar/src/sky_tessalation.c (modified) (1 diff)
-
src/addstar/src/update_coords.c (modified) (1 diff)
-
src/addstar/test/addstar.sh (deleted)
-
src/addstar/test/addstar.tests.txt (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/addstar/test/addstar.tests.txt )
-
src/addstar/test/dvomerge.dvo (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/addstar/test/dvomerge.dvo )
-
src/addstar/test/relastro.dvo (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/addstar/test/relastro.dvo )
-
src/addstar/test/relphot.dvo (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/addstar/test/relphot.dvo )
-
src/addstar/test/simple.dvo (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/addstar/test/simple.dvo )
-
src/addstar/test/tap.dvo (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/addstar/test/tap.dvo )
-
src/addusno (deleted)
-
src/delstar/include/delstar.h (modified) (2 diffs)
-
src/delstar/src/delete_imagefile.c (modified) (1 diff)
-
src/delstar/src/delete_imagename.c (modified) (2 diffs)
-
src/delstar/src/delete_missed.c (modified) (3 diffs)
-
src/delstar/src/delete_orphans.c (modified) (6 diffs)
-
src/delstar/src/delete_times.c (modified) (1 diff)
-
src/delstar/src/find_image_db.c (modified) (9 diffs)
-
src/delstar/src/find_matches.c (modified) (9 diffs)
-
src/delstar/src/gimages.c (modified) (2 diffs)
-
src/delstar/src/match_images.c (modified) (1 diff)
-
src/delstar/src/parse_time.c (modified) (1 diff)
-
src/dvomerge/Makefile (modified) (1 diff)
-
src/dvomerge/include/dvomerge.h (modified) (4 diffs)
-
src/dvomerge/src/ConfigInit.c (modified) (3 diffs)
-
src/dvomerge/src/SkyTablePopulatedRange.c (modified) (3 diffs)
-
src/dvomerge/src/args.c (modified) (3 diffs)
-
src/dvomerge/src/build_links.c (modified) (4 diffs)
-
src/dvomerge/src/dvo_image_merge_dbs.c (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/dvomerge/src/dvo_image_merge_dbs.c )
-
src/dvomerge/src/dvomerge.c (modified) (1 diff)
-
src/dvomerge/src/dvomergeCreate.c (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/dvomerge/src/dvomergeCreate.c )
-
src/dvomerge/src/dvomergeUpdate.c (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/dvomerge/src/dvomergeUpdate.c )
-
src/dvomerge/src/help.c (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/dvomerge/src/help.c )
-
src/dvomerge/src/merge_catalogs.c (modified) (1 diff)
-
src/dvomerge/src/merge_catalogs_new.c (modified) (2 diffs)
-
src/dvomerge/src/merge_catalogs_old.c (modified) (18 diffs)
-
src/dvomerge/src/psps_ids.c (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/dvomerge/src/psps_ids.c )
-
src/dvomerge/src/usage.c (deleted)
-
src/dvosplit/include/dvosplit.h (modified) (1 diff)
-
src/elixir/src/DumpStatus.c (modified) (1 diff)
-
src/elixir/src/MachineOps.c (modified) (1 diff)
-
src/elixir/src/MsgOps.c (modified) (1 diff)
-
src/elixir/src/ProcessOps.c (modified) (1 diff)
-
src/fixcat/src/aregion.c (modified) (1 diff)
-
src/fixcat/src/find_bright_stars.c (modified) (2 diffs)
-
src/fixcat/src/find_images.c (modified) (1 diff)
-
src/fixcat/src/find_matches.c (modified) (2 diffs)
-
src/fixcat/src/gcatalog.c (modified) (1 diff)
-
src/fixcat/src/gcatstats.c (modified) (1 diff)
-
src/fixcat/src/wcatalog.c (modified) (3 diffs)
-
src/gastro/src/getusno.c (modified) (2 diffs)
-
src/gastro/src/gfit.c (modified) (2 diffs)
-
src/gastro/src/gfitpoly.c (modified) (2 diffs)
-
src/gastro/src/gheader.c (modified) (6 diffs)
-
src/gastro/src/gstars.c (modified) (1 diff)
-
src/gastro2/src/getusno.c (modified) (2 diffs)
-
src/gastro2/src/getusnob.c (modified) (2 diffs)
-
src/gastro2/src/gheader2.c (modified) (9 diffs)
-
src/gastro2/src/gstars2.c (modified) (3 diffs)
-
src/gastro2/src/rfits.c (modified) (1 diff)
-
src/getstar/include/dvoImageExtract.h (modified) (2 diffs)
-
src/getstar/include/dvoImageOverlaps.h (modified) (1 diff)
-
src/getstar/include/dvoImagesAtCoords.h (modified) (1 diff)
-
src/getstar/include/getstar.h (modified) (1 diff)
-
src/getstar/src/ConfigInit_coords.c (modified) (2 diffs)
-
src/getstar/src/ConfigInit_extract.c (modified) (3 diffs)
-
src/getstar/src/ConfigInit_overlaps.c (modified) (3 diffs)
-
src/getstar/src/GetFileMode.c (modified) (1 diff)
-
src/getstar/src/ListImageOverlaps.c (modified) (1 diff)
-
src/getstar/src/MatchCoords.c (modified) (1 diff)
-
src/getstar/src/MatchImages.c (modified) (3 diffs)
-
src/getstar/src/ReadImageFiles.c (modified) (5 diffs)
-
src/getstar/src/SelectImages.c (modified) (3 diffs)
-
src/getstar/src/WriteImages.c (modified) (1 diff)
-
src/getstar/src/dvoImageExtract.c (modified) (1 diff)
-
src/getstar/src/dvoImageOverlaps.c (modified) (1 diff)
-
src/getstar/src/dvoImagesAtCoords.c (modified) (1 diff)
-
src/getstar/src/select_by_region.c (modified) (1 diff)
-
src/gophot/src/gophot.c (modified) (1 diff)
-
src/imclean/src/wfits.c (modified) (1 diff)
-
src/imclean/src/wstars.c (modified) (1 diff)
-
src/imregister/base/WriteFIFO.c (modified) (1 diff)
-
src/imregister/detrend/altpath.c (modified) (1 diff)
-
src/imregister/detrend/criteria.c (modified) (2 diffs)
-
src/imregister/detrend/delete.c (modified) (3 diffs)
-
src/imregister/detrend/imdef.c (modified) (1 diff)
-
src/imregister/detrend/match.c (modified) (1 diff)
-
src/imregister/detrend/modify.c (modified) (1 diff)
-
src/imregister/detrend/output.c (modified) (5 diffs)
-
src/imregister/detrend/select.c (modified) (2 diffs)
-
src/imregister/detrend/unique.c (modified) (1 diff)
-
src/imregister/imphot/dumpfits.c (modified) (3 diffs)
-
src/imregister/imphot/modify.c (modified) (1 diff)
-
src/imregister/imphot/output.c (modified) (2 diffs)
-
src/imregister/imphot/rtext.c (modified) (3 diffs)
-
src/imregister/imphot/subset.c (modified) (2 diffs)
-
src/imregister/imreg/cadc.c (modified) (10 diffs)
-
src/imregister/imreg/delete.c (modified) (3 diffs)
-
src/imregister/imreg/iminfo.c (modified) (3 diffs)
-
src/imregister/imreg/match.c (modified) (3 diffs)
-
src/imregister/imreg/modify.c (modified) (1 diff)
-
src/imregister/imreg/newimages.c (modified) (1 diff)
-
src/imregister/imreg/output.c (modified) (6 diffs)
-
src/imregister/imreg/unique.c (modified) (5 diffs)
-
src/imregister/include/detrend.h (modified) (3 diffs)
-
src/imregister/include/imphot.h (modified) (1 diff)
-
src/imregister/include/imreg.h (modified) (3 diffs)
-
src/imregister/include/imregister.h (modified) (2 diffs)
-
src/imregister/include/photreg.h (modified) (2 diffs)
-
src/imregister/include/spreg.h (modified) (2 diffs)
-
src/imregister/photreg/convert.c (modified) (1 diff)
-
src/imregister/photreg/delete.c (modified) (3 diffs)
-
src/imregister/photreg/match.c (modified) (2 diffs)
-
src/imregister/photreg/output.c (modified) (5 diffs)
-
src/imregister/spreg/delete.c (modified) (3 diffs)
-
src/imregister/spreg/match.c (modified) (4 diffs)
-
src/imregister/spreg/modify.c (modified) (1 diff)
-
src/imregister/spreg/output.c (modified) (6 diffs)
-
src/imregister/spreg/unique.c (modified) (5 diffs)
-
src/imregister/src/convertimreg.c (modified) (3 diffs)
-
src/imregister/src/detsearch.c (modified) (1 diff)
-
src/imregister/src/imphotmerge.c (modified) (6 diffs)
-
src/imregister/src/imphotsearch.c (modified) (1 diff)
-
src/imregister/src/imregister.c (modified) (1 diff)
-
src/imregister/src/imregtable.c (modified) (1 diff)
-
src/imregister/src/imsearch.c (modified) (1 diff)
-
src/imregister/src/imstatreg.c (modified) (1 diff)
-
src/imregister/src/photsearch.c (modified) (1 diff)
-
src/imregister/src/spsearch.c (modified) (1 diff)
-
src/kapa (deleted)
-
src/kapa2/src/Image.c (modified) (1 diff)
-
src/kapa2/src/LoadPicture.c (modified) (7 diffs)
-
src/kapa2/src/PNGit.c (modified) (1 diff)
-
src/kapa2/src/PPMit.c (modified) (1 diff)
-
src/kapa2/src/Relocate.c (modified) (1 diff)
-
src/kapa2/src/SetImageData.c (modified) (1 diff)
-
src/kii (deleted)
-
src/libautocode/def/autocode.c (modified) (5 diffs)
-
src/libautocode/def/autocode.h (modified) (1 diff)
-
src/libdvo/include/dvo.h (modified) (14 diffs)
-
src/libdvo/include/dvo.update.h (deleted)
-
src/libdvo/include/dvo_util.h (modified) (4 diffs)
-
src/libdvo/include/elixir_defs.h (modified) (1 diff)
-
src/libdvo/include/loneos_defs.h (modified) (1 diff)
-
src/libdvo/include/panstarrs_dev_0_defs.h (modified) (1 diff)
-
src/libdvo/include/panstarrs_dev_1_defs.h (modified) (1 diff)
-
src/libdvo/include/ps1_dev_1_defs.h (modified) (1 diff)
-
src/libdvo/include/ps1_dev_2_defs.h (modified) (1 diff)
-
src/libdvo/include/ps1_dev_3_defs.h (modified) (1 diff)
-
src/libdvo/include/ps1_ref_defs.h (modified) (1 diff)
-
src/libdvo/include/ps1_v1_defs.h (modified) (1 diff)
-
src/libdvo/src/LoadPhotcodesFITS.c (modified) (1 diff)
-
src/libdvo/src/cmf-ps1-v1-alt.c (modified) (3 diffs)
-
src/libdvo/src/coordops.c (modified) (1 diff)
-
src/libdvo/src/dvo_catalog.c (modified) (8 diffs)
-
src/libdvo/src/dvo_catalog_create.c (modified) (3 diffs)
-
src/libdvo/src/dvo_catalog_mef.c (modified) (15 diffs)
-
src/libdvo/src/dvo_catalog_raw.c (modified) (33 diffs)
-
src/libdvo/src/dvo_catalog_split.c (modified) (30 diffs)
-
src/libdvo/src/dvo_convert.c (modified) (12 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_1.c (modified) (10 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_2.c (modified) (11 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_3.c (modified) (4 diffs)
-
src/libdvo/src/dvo_convert_PS1_REF.c (modified) (12 diffs)
-
src/libdvo/src/dvo_convert_PS1_V1.c (modified) (10 diffs)
-
src/libdvo/src/dvo_convert_elixir.c (modified) (10 diffs)
-
src/libdvo/src/dvo_convert_loneos.c (modified) (8 diffs)
-
src/libdvo/src/dvo_convert_panstarrs_DEV_0.c (modified) (8 diffs)
-
src/libdvo/src/dvo_convert_panstarrs_DEV_1.c (modified) (8 diffs)
-
src/libdvo/src/dvo_image.c (modified) (4 diffs)
-
src/libdvo/src/dvo_image_raw.c (modified) (9 diffs)
-
src/libdvo/src/dvo_util.c (modified) (6 diffs)
-
src/libdvo/src/dvosorts.c (modified) (5 diffs)
-
src/libdvo/src/fits_db.c (modified) (3 diffs)
-
src/libdvo/src/mosaic_astrom.c (modified) (8 diffs)
-
src/libdvo/src/skyregion_io.c (modified) (1 diff)
-
src/libdvo/src/skyregion_ops.c (modified) (1 diff)
-
src/libfits/header/F_H_field.c (modified) (11 diffs)
-
src/libfits/header/F_copy_H.c (modified) (2 diffs)
-
src/libfits/header/F_create_H.c (modified) (4 diffs)
-
src/libfits/header/F_delete.c (modified) (2 diffs)
-
src/libfits/header/F_modify.c (modified) (5 diffs)
-
src/libfits/header/F_print.c (modified) (4 diffs)
-
src/libfits/header/F_read_H.c (modified) (4 diffs)
-
src/libfits/header/F_read_XH.c (modified) (3 diffs)
-
src/libfits/header/F_scan.c (modified) (7 diffs)
-
src/libfits/header/F_write_H.c (modified) (3 diffs)
-
src/libfits/include/gfitsio.h (modified) (12 diffs)
-
src/libfits/matrix/F_add_M.c (modified) (2 diffs)
-
src/libfits/matrix/F_add_M_value.c (modified) (1 diff)
-
src/libfits/matrix/F_compress_M.c (modified) (15 diffs)
-
src/libfits/matrix/F_convert_format.c (modified) (6 diffs)
-
src/libfits/matrix/F_copy_M.c (modified) (1 diff)
-
src/libfits/matrix/F_create_M.c (modified) (2 diffs)
-
src/libfits/matrix/F_get_M_value.c (modified) (2 diffs)
-
src/libfits/matrix/F_insert_M.c (modified) (1 diff)
-
src/libfits/matrix/F_load_M.c (modified) (3 diffs)
-
src/libfits/matrix/F_matrix.c (modified) (2 diffs)
-
src/libfits/matrix/F_read_M.c (modified) (1 diff)
-
src/libfits/matrix/F_read_portion.c (modified) (5 diffs)
-
src/libfits/matrix/F_read_segment.c (modified) (5 diffs)
-
src/libfits/matrix/F_set_M_value.c (modified) (1 diff)
-
src/libfits/matrix/F_write_M.c (modified) (4 diffs)
-
src/libfits/table/F_create_T.c (modified) (4 diffs)
-
src/libfits/table/F_create_TH.c (modified) (2 diffs)
-
src/libfits/table/F_define_column.c (modified) (8 diffs)
-
src/libfits/table/F_get_column.c (modified) (6 diffs)
-
src/libfits/table/F_read_T.c (modified) (19 diffs)
-
src/libfits/table/F_read_TH.c (modified) (5 diffs)
-
src/libfits/table/F_set_column.c (modified) (4 diffs)
-
src/libfits/table/F_table_format.c (modified) (12 diffs)
-
src/libfits/table/F_table_row.c (modified) (7 diffs)
-
src/libfits/table/F_table_varlength.c (modified) (5 diffs)
-
src/libfits/table/F_write_T.c (modified) (7 diffs)
-
src/libfits/table/F_write_TH.c (modified) (2 diffs)
-
src/libkapa/include/kapa.h (modified) (1 diff)
-
src/libohana/Makefile (modified) (2 diffs)
-
src/libohana/doc/largefiles.txt (copied) (copied from branches/eam_branches/largefiles.20100314/Ohana/src/libohana/doc/largefiles.txt )
-
src/libohana/include/ohana.h (modified) (4 diffs)
-
src/libohana/include/ohana_sort.h (modified) (1 diff)
-
src/libohana/src/CommOps.c (modified) (1 diff)
-
src/libohana/src/Fread.c (modified) (5 diffs)
-
src/libohana/src/findexec.c (modified) (1 diff)
-
src/libohana/src/glockfile.c (modified) (2 diffs)
-
src/libohana/src/sorts.c (modified) (1 diff)
-
src/libohana/src/string.c (modified) (1 diff)
-
src/lightcurve/src/alter_headers.c (modified) (1 diff)
-
src/lightcurve/src/fix_header.c (modified) (6 diffs)
-
src/markrock/src/find_bright_stars.c (modified) (2 diffs)
-
src/markrock/src/gcatstats.c (modified) (2 diffs)
-
src/markrock/src/wrocks.c (modified) (1 diff)
-
src/markstar/src/find_bright_stars.c (modified) (2 diffs)
-
src/markstar/src/find_matches.c (modified) (2 diffs)
-
src/markstar/src/gcatstats.c (modified) (2 diffs)
-
src/misc/src/addastro.c (modified) (4 diffs)
-
src/misc/src/applyscat.c (modified) (3 diffs)
-
src/misc/src/fakecmp.c (modified) (5 diffs)
-
src/misc/src/fakestars.c (modified) (2 diffs)
-
src/misc/src/fiximg.c (modified) (1 diff)
-
src/misc/src/fixsimple.c (modified) (2 diffs)
-
src/misc/src/striphead.c (modified) (1 diff)
-
src/mosastro/src/LoadStars.c (modified) (1 diff)
-
src/mosastro/src/SaveResiduals.c (modified) (1 diff)
-
src/mosastro/src/getusno.c (modified) (2 diffs)
-
src/mosastro/src/getusnob.c (modified) (2 diffs)
-
src/mosastro/src/match.c (modified) (3 diffs)
-
src/mosastro/src/output.c (modified) (1 diff)
-
src/mosastro/src/rfits.c (modified) (2 diffs)
-
src/mosastro/src/rtext.c (modified) (1 diff)
-
src/mosastro/src/wfits.c (modified) (1 diff)
-
src/mosastro/src/wstars.c (modified) (2 diffs)
-
src/opihi/cmd.astro/altaz.c (modified) (1 diff)
-
src/opihi/cmd.astro/elliprofile.c (modified) (1 diff)
-
src/opihi/cmd.astro/galprofiles.c (modified) (1 diff)
-
src/opihi/cmd.astro/galradbins.c (modified) (1 diff)
-
src/opihi/cmd.astro/galradius.c (modified) (1 diff)
-
src/opihi/cmd.astro/petrosian.c (modified) (2 diffs)
-
src/opihi/cmd.astro/precess.c (modified) (1 diff)
-
src/opihi/cmd.astro/region.c (modified) (1 diff)
-
src/opihi/cmd.basic/cd.c (modified) (1 diff)
-
src/opihi/cmd.basic/date.c (modified) (1 diff)
-
src/opihi/cmd.basic/inthash.c (modified) (1 diff)
-
src/opihi/cmd.basic/test/for.sh (modified) (1 diff)
-
src/opihi/cmd.data/dbconnect.c (modified) (4 diffs)
-
src/opihi/cmd.data/extract.c (modified) (1 diff)
-
src/opihi/cmd.data/keyword.c (modified) (2 diffs)
-
src/opihi/cmd.data/list_header.c (modified) (1 diff)
-
src/opihi/cmd.data/matrix.c (modified) (1 diff)
-
src/opihi/cmd.data/rd.c (modified) (2 diffs)
-
src/opihi/cmd.data/rdseg.c (modified) (1 diff)
-
src/opihi/cmd.data/read_vectors.c (modified) (6 diffs)
-
src/opihi/cmd.data/rebin.c (modified) (1 diff)
-
src/opihi/cmd.data/relocate.c (modified) (1 diff)
-
src/opihi/cmd.data/rotate.c (modified) (6 diffs)
-
src/opihi/cmd.data/test/dimendown.sh (modified) (2 diffs)
-
src/opihi/cmd.data/test/integrate.sh (modified) (1 diff)
-
src/opihi/cmd.data/test/interpolate.sh (modified) (1 diff)
-
src/opihi/cmd.data/test/periodogram.sh (modified) (1 diff)
-
src/opihi/cmd.data/wd.c (modified) (6 diffs)
-
src/opihi/dvo/ImageOps.c (modified) (3 diffs)
-
src/opihi/dvo/ImageSelection.c (modified) (1 diff)
-
src/opihi/dvo/LoadImages.c (modified) (3 diffs)
-
src/opihi/dvo/Makefile (modified) (1 diff)
-
src/opihi/dvo/aregion.c (modified) (1 diff)
-
src/opihi/dvo/avextract.c (modified) (4 diffs)
-
src/opihi/dvo/badimages.c (modified) (4 diffs)
-
src/opihi/dvo/calextract.c (modified) (1 diff)
-
src/opihi/dvo/calmextract.c (modified) (2 diffs)
-
src/opihi/dvo/ccd.c (modified) (1 diff)
-
src/opihi/dvo/cmatch.c (modified) (1 diff)
-
src/opihi/dvo/cmd.c (modified) (1 diff)
-
src/opihi/dvo/cmpReadFile.c (modified) (2 diffs)
-
src/opihi/dvo/cmpload.c (modified) (1 diff)
-
src/opihi/dvo/cmpread.c (modified) (5 diffs)
-
src/opihi/dvo/compare.c (modified) (1 diff)
-
src/opihi/dvo/dbExtractAverages.c (modified) (1 diff)
-
src/opihi/dvo/dbExtractImages.c (modified) (1 diff)
-
src/opihi/dvo/detrend.c (modified) (3 diffs)
-
src/opihi/dvo/dmt.c (modified) (1 diff)
-
src/opihi/dvo/dvomisc.c (modified) (1 diff)
-
src/opihi/dvo/elixir.c (modified) (1 diff)
-
src/opihi/dvo/find_regions.c (modified) (3 diffs)
-
src/opihi/dvo/fitcolors.c (modified) (2 diffs)
-
src/opihi/dvo/fitsed.c (modified) (2 diffs)
-
src/opihi/dvo/gimages.c (modified) (2 diffs)
-
src/opihi/dvo/gstar.c (modified) (3 diffs)
-
src/opihi/dvo/images.c (modified) (1 diff)
-
src/opihi/dvo/imbox.c (modified) (2 diffs)
-
src/opihi/dvo/imdata.c (modified) (1 diff)
-
src/opihi/dvo/imdense.c (modified) (1 diff)
-
src/opihi/dvo/imextract.c (modified) (3 diffs)
-
src/opihi/dvo/imlist.c (modified) (2 diffs)
-
src/opihi/dvo/imphot.c (modified) (1 diff)
-
src/opihi/dvo/imrough.c (modified) (6 diffs)
-
src/opihi/dvo/imsearch.c (modified) (3 diffs)
-
src/opihi/dvo/imstats.c (modified) (1 diff)
-
src/opihi/dvo/lcurve.c (modified) (2 diffs)
-
src/opihi/dvo/lightcurve.c (modified) (2 diffs)
-
src/opihi/dvo/match_image.c (modified) (2 diffs)
-
src/opihi/dvo/mextract.c (modified) (2 diffs)
-
src/opihi/dvo/mmextract.c (modified) (2 diffs)
-
src/opihi/dvo/paverage.c (modified) (1 diff)
-
src/opihi/dvo/photometry.c (modified) (11 diffs)
-
src/opihi/dvo/pmeasure.c (modified) (1 diff)
-
src/opihi/dvo/simage.c (modified) (1 diff)
-
src/opihi/dvo/skycoverage.c (modified) (1 diff)
-
src/opihi/dvo/subpix.c (modified) (5 diffs)
-
src/opihi/include/data.h (modified) (1 diff)
-
src/opihi/include/display.h (modified) (1 diff)
-
src/opihi/include/dvoshell.h (modified) (4 diffs)
-
src/opihi/include/pantasks.h (modified) (2 diffs)
-
src/opihi/include/shell.h (modified) (2 diffs)
-
src/opihi/lib.data/fft.c (modified) (1 diff)
-
src/opihi/lib.shell/BufferOps.c (modified) (3 diffs)
-
src/opihi/lib.shell/gprint.c (modified) (2 diffs)
-
src/opihi/lib.shell/multicommand.c (modified) (2 diffs)
-
src/opihi/lib.shell/stack_math.c (modified) (1 diff)
-
src/opihi/pantasks/JobOps.c (modified) (1 diff)
-
src/opihi/pantasks/ListenClients.c (modified) (1 diff)
-
src/opihi/pantasks/status_server.c (modified) (2 diffs)
-
src/opihi/pantasks/thread_locks.c (modified) (4 diffs)
-
src/opihi/pcontrol/PclientCommand.c (modified) (1 diff)
-
src/opihi/pcontrol/StartHost.c (modified) (1 diff)
-
src/opihi/pcontrol/StopHosts.c (modified) (1 diff)
-
src/photdbc/include/photdbc.h (modified) (1 diff)
-
src/photdbc/src/join_stars.c (modified) (2 diffs)
-
src/relastro/doc/notes.txt (modified) (1 diff)
-
src/relastro/include/relastro.h (modified) (9 diffs)
-
src/relastro/src/FitSimple.c (modified) (1 diff)
-
src/relastro/src/ImageOps.c (modified) (19 diffs)
-
src/relastro/src/MosaicOps.c (modified) (8 diffs)
-
src/relastro/src/UpdateChips.c (modified) (2 diffs)
-
src/relastro/src/UpdateMeasures.c (modified) (1 diff)
-
src/relastro/src/UpdateMosaic.c (modified) (1 diff)
-
src/relastro/src/UpdateObjects.c (modified) (5 diffs)
-
src/relastro/src/UpdateSimple.c (modified) (1 diff)
-
src/relastro/src/bcatalog.c (modified) (2 diffs)
-
src/relastro/src/load_images.c (modified) (2 diffs)
-
src/relastro/src/relastro.c (modified) (3 diffs)
-
src/relastro/src/select_images.c (modified) (10 diffs)
-
src/relphot/include/relphot.h (modified) (8 diffs)
-
src/relphot/src/GridOps.c (modified) (10 diffs)
-
src/relphot/src/ImageOps.c (modified) (20 diffs)
-
src/relphot/src/MosaicOps.c (modified) (28 diffs)
-
src/relphot/src/StarOps.c (modified) (15 diffs)
-
src/relphot/src/bcatalog.c (modified) (2 diffs)
-
src/relphot/src/load_images.c (modified) (3 diffs)
-
src/relphot/src/plot_scatter.c (modified) (1 diff)
-
src/relphot/src/relphot_objects.c (modified) (1 diff)
-
src/relphot/src/select_images.c (modified) (3 diffs)
-
src/relphot/src/setExclusions.c (modified) (2 diffs)
-
src/relphot/src/setMrelFinal.c (modified) (4 diffs)
-
src/relphot/src/sort.c (deleted)
-
src/skycalc/src/misc.c (deleted)
-
src/tools/src/ckfits.c (modified) (3 diffs)
-
src/tools/src/fhead.c (modified) (2 diffs)
-
src/tools/src/fields.c (modified) (2 diffs)
-
src/tools/src/fits_insert.c (modified) (7 diffs)
-
src/tools/src/ftable.c (modified) (16 diffs)
-
src/tools/src/mefhead.c (modified) (3 diffs)
-
src/tools/src/mktemp.c (modified) (3 diffs)
-
src/uniphot/include/uniphot.h (modified) (1 diff)
-
src/uniphot/src/find_image_sgroups.c (modified) (1 diff)
-
src/uniphot/src/find_image_tgroups.c (modified) (1 diff)
-
src/uniphot/src/subset_images.c (modified) (2 diffs)
-
src/uniphot/src/update.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
-
Property svn:mergeinfo
set to
/branches/eam_branches/20091201/Ohana merged eligible /branches/eam_branches/largefiles.20100314/Ohana merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Ohana/src/addstar/include/addstar.h
r27392 r27435 44 44 45 45 typedef struct { 46 int Nstars;46 unsigned int Nstars; 47 47 Stars *stars; 48 int Nimages;48 off_t Nimages; 49 49 Image *images; 50 50 Coords *mosaic; … … 76 76 char PASSWORD[80]; 77 77 char HOSTNAME[80]; 78 int NVALID , *VALID_IP;78 int NVALID_IP, *VALID_IP; 79 79 char SKY_TABLE[256]; 80 80 int SKY_DEPTH; /** XXX EAM : depth of catalog tables, fix usage */ … … 152 152 AddstarClientOptions args PROTO((int argc, char **argv, AddstarClientOptions options)); 153 153 154 void AddToCalibration PROTO((Average *average, SecFilt *secfilt, Measure *measure, Measure *new, int *next, int Nstar));154 void AddToCalibration PROTO((Average *average, SecFilt *secfilt, Measure *measure, Measure *new, off_t *next, off_t Nstar)); 155 155 void FindCalibration PROTO((Image *image)); 156 156 FILE *GetDB PROTO((int *state)); 157 157 void InitCalibration PROTO((int mode)); 158 void SaveCalibration PROTO((float Mo, float dMo, float Mr, float dMr, float Mi, int N));158 void SaveCalibration PROTO((float Mo, float dMo, float Mr, float dMr, float Mi, off_t N)); 159 159 void SetProtect PROTO((int mode)); 160 160 int SetSignals PROTO((void)); 161 int Shutdown PROTO((char *message, ...)) ;161 int Shutdown PROTO((char *message, ...)) OHANA_FORMAT(printf, 1, 2); 162 162 void TrapSignal PROTO((int sig)); 163 163 float airmass PROTO((float secz_image, double ra, double dec, double st, double latitude)); … … 166 166 SkyTable *SkyTableFromTychoIndex PROTO((char *filename, int VERBOSE)); 167 167 void check_permissions PROTO((char *basefile)); 168 int dump_rawstars PROTO((Stars *stars, int Nstars));168 int dump_rawstars PROTO((Stars *stars, unsigned int Nstars)); 169 169 int edge_check PROTO((double *x1, double *y1, double *x2, double *y2)); 170 Image *fakeimage PROTO((char *rootname, int *Nimage, int photcode));171 172 int find_matches PROTO((SkyRegion *region, Stars *stars,int Nstars, Catalog *catalog, AddstarClientOptions options));173 int find_matches_closest PROTO((SkyRegion *region, Stars *stars,int Nstars, Catalog *catalog, AddstarClientOptions options));174 int find_matches_refstars PROTO((SkyRegion *region, Stars **stars,int Nstars, Catalog *catalog, AddstarClientOptions options));175 int find_matches_closest_refstars PROTO((SkyRegion *region, Stars **stars,int Nstars, Catalog *catalog, AddstarClientOptions options));176 177 Stars **find_subset PROTO((SkyRegion *region, Stars *stars, int Nstars,int *NSTARS));170 Image *fakeimage PROTO((char *rootname, off_t *Nimage, int photcode)); 171 172 int find_matches PROTO((SkyRegion *region, Stars *stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options)); 173 int find_matches_closest PROTO((SkyRegion *region, Stars *stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options)); 174 int find_matches_refstars PROTO((SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options)); 175 int find_matches_closest_refstars PROTO((SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options)); 176 177 Stars **find_subset PROTO((SkyRegion *region, Stars *stars, unsigned int Nstars, unsigned int *NSTARS)); 178 178 int gcatalog PROTO((Catalog *catalog)); 179 Stars *get2mass PROTO((SkyRegion *patch, int photcode, int mode, int *NSTARS));179 Stars *get2mass PROTO((SkyRegion *patch, int photcode, int mode, unsigned int *NSTARS)); 180 180 double get_subpix PROTO((double x, double y)); 181 181 182 Stars *greference PROTO((char *Refcat, SkyRegion *catstats, int photcode, int *nstars));183 Stars *getgsc PROTO((SkyRegion *patch, int *NSTARS));184 Stars *gettycho PROTO((SkyRegion *catstats, int photcode, int *Nstars));185 Stars *getusno PROTO((SkyRegion *catstats, int photcode, int *Nstars));186 Stars *getusnob PROTO((SkyRegion *catstats, int photcode, int *Nstars));182 Stars *greference PROTO((char *Refcat, SkyRegion *catstats, int photcode, unsigned int *nstars)); 183 Stars *getgsc PROTO((SkyRegion *patch, unsigned int *NSTARS)); 184 Stars *gettycho PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars)); 185 Stars *getusno PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars)); 186 Stars *getusnob PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars)); 187 187 188 188 // load text-based stars (REF only in the sense of REF photcodes) 189 Stars *grefstars PROTO((char *file, int photcode, int *Nstars));190 191 Stars *LoadStars PROTO((char *file, int *Nstars, Image **images, int *Nimages, AddstarClientOptions *options));189 Stars *grefstars PROTO((char *file, int photcode, unsigned int *Nstars)); 190 191 Stars *LoadStars PROTO((char *file, unsigned int *Nstars, Image **images, off_t *Nimages, AddstarClientOptions *options)); 192 192 Header **LoadHeaders PROTO((FILE *f, int *mode, int *Nheader)); 193 HeaderSet *MatchHeaders PROTO(( int **extsize, int *nimage, int mode, Header **headers, int Nheaders));194 int LoadData PROTO((FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int NheaderSets, AddstarClientOptions *options));195 int GetZeroPointExposure PROTO((Header **headers, HeaderSet *headerSets, int Nimages));193 HeaderSet *MatchHeaders PROTO((off_t **extsize, off_t *nimage, int mode, Header **headers, int Nheaders)); 194 int LoadData PROTO((FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars, Header **headers, off_t *extsize, HeaderSet *headerSets, int NheaderSets, AddstarClientOptions *options)); 195 int GetZeroPointExposure PROTO((Header **headers, HeaderSet *headerSets, off_t Nimages)); 196 196 197 197 int in_image PROTO((double r, double d, Image *image)); … … 200 200 void lock_image_db PROTO((FITS_DB *db, char *filename)); 201 201 int main PROTO((int argc, char **argv)); 202 void make_backup PROTO((char *filename));203 int match_refstars PROTO((Stars *stars, int Nstars));204 void mkcatalog PROTO((SkyRegion *region, Catalog *catalog));205 202 double opening_angle PROTO((double x1, double y1, double x2, double y2, double x3, double y3)); 206 203 int parse_time PROTO((Header *header)); 207 Stars *rd_gsc PROTO((char *filename, int *nstars));204 Stars *rd_gsc PROTO((char *filename, unsigned int *nstars)); 208 205 int replace_match PROTO((Average *average, Measure *measure, Stars *star)); 209 206 void resort_catalog PROTO((Catalog *catalog)); 210 Stars *rfits PROTO((FILE *f, unsigned int *nstars));211 Stars *rtext PROTO((FILE *f, unsigned int *nstars));212 207 Stars *ReadStarsFITS PROTO((FILE *f, Header *header, Header *in_theader, unsigned int *nstars)); 213 208 Stars *ReadStarsTEXT PROTO((FILE *f, unsigned int *nstars)); 214 Stars *ReadStarsSDSS PROTO((FILE *f, char *name, Header *header, Header *in_theader, Image *images, int *nimages, unsigned int *nstars));209 Stars *ReadStarsSDSS PROTO((FILE *f, char *name, Header *header, Header *in_theader, Image *images, off_t *nimages, unsigned int *nstars)); 215 210 int ReadImageHeader PROTO((Header *header, Image *image, int photcode)); 216 211 Stars *FilterStars PROTO((Stars *instars, Image *image, unsigned int imageID)); 217 Stars *MergeStars PROTO((Stars *stars, int *Nstars, Stars *instars, int Ninstars)); 218 void save_pt_catalog PROTO((Catalog *catalog)); /*** choose new name ***/ 212 Stars *MergeStars PROTO((Stars *stars, unsigned int *Nstars, Stars *instars, unsigned int Ninstars)); 219 213 double scat_subpix PROTO((double x, double y)); 220 time_t short_date_to_sec PROTO((char *date)); 221 void sort_lists PROTO((float *X, float *Y, int *S, int N)); 222 void sort_stars PROTO((Stars *stars, int N)); 223 int str_to_radec PROTO((double *ra, double *dec, char *str1, char *str2)); 224 void unlock_image_db PROTO((FITS_DB *db)); 225 void update_coords PROTO((Average *average, Measure *measure, int *next)); 226 void wcatalog PROTO((Catalog *catalog)); 227 void free_catalog PROTO((Catalog *catalog)); 228 void wimage PROTO((FITS_DB *db, Image *image)); 229 void create_image_db PROTO((FITS_DB *db)); 230 void set_db PROTO((FITS_DB *in)); 231 void uppercase PROTO((char *string)); 232 void fsort PROTO((float *X, int N)); 233 void fsort2 PROTO((float *X, float *Y, int N)); 234 int *init_measure_links PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure)); 235 int *init_missing_links PROTO((Average *average, int Naverage, Missing *missing, int Nmissing)); 236 int add_meas_link PROTO((Average *average, int *next, int Nmeasure, int NMEASURE)); 237 int add_miss_link PROTO((Average *average, int *next, int Nmissing)); 238 int *build_measure_links PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure)); 239 Measure *sort_measure PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure, int *next)); 240 Missing *sort_missing PROTO((Average *average, int Naverage, Missing *missing, int Nmissing, int *next_miss)); 241 int ImageOptions PROTO((AddstarClientOptions *options, Image *images, int Nimages)); 214 void update_coords PROTO((Average *average, Measure *measure, off_t *next)); 215 off_t *init_measure_links PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure)); 216 off_t *init_missing_links PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing)); 217 off_t add_meas_link PROTO((Average *average, off_t *next_meas, off_t Nmeasure, off_t NMEASURE)); 218 off_t add_miss_link PROTO((Average *average, off_t *next_miss, off_t Nmissing)); 219 off_t *build_measure_links PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure)); 220 Measure *sort_measure PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next_meas)); 221 Missing *sort_missing PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing, off_t *next_miss)); 222 int ImageOptions PROTO((AddstarClientOptions *options, Image *images, off_t Nimages)); 242 223 int GetFileMode PROTO((Header *header)); 243 224 AddstarClientOptions args_client PROTO((int argc, char **argv, AddstarClientOptions options)); … … 252 233 int WaitServerSocket PROTO((int InitSocket, SockAddress *Address, int *validIP, int Nvalid)); 253 234 int GetClientSocket PROTO((char *hostname)); 254 int UpdateDatabase_Image PROTO((AddstarClientOptions *options, Image *images, int Nimages, Coords *mosaic, Stars *stars,int Nstars));255 int UpdateDatabase_Reflist PROTO((AddstarClientOptions *options, Stars *stars, int Nstars));235 int UpdateDatabase_Image PROTO((AddstarClientOptions *options, Image *images, off_t Nimages, Coords *mosaic, Stars *stars, unsigned int Nstars)); 236 int UpdateDatabase_Reflist PROTO((AddstarClientOptions *options, Stars *stars, unsigned int Nstars)); 256 237 int UpdateDatabase_Refcat PROTO((AddstarClientOptions *options, SkyRegion *UserPatch, char *refcat)); 257 SkyList *SkyListForStars PROTO((SkyTable *table, int depth, Stars *stars, int Nstars));238 SkyList *SkyListForStars PROTO((SkyTable *table, int depth, Stars *stars, unsigned int Nstars)); 258 239 SkyList *SkyListExistingSubset PROTO((SkyList *input, char *path)); 259 240 int SkyListSetPath PROTO((SkyList *list, char *path)); … … 266 247 int NewReflist_Thread PROTO((int BindSocket)); 267 248 268 Stars *Convert_SMPDATA PROTO((FTable *table, int *nstars));269 Stars *Convert_PS1_DEV_0 PROTO((FTable *table, int *nstars));270 Stars *Convert_PS1_DEV_1 PROTO((FTable *table, int *nstars));271 Stars *Convert_PS1_V1 PROTO((FTable *table, int *nstars));272 Stars *Convert_PS1_V1_Alt PROTO((FTable *table, int *nstars));273 Stars *Convert_PS1_V2 PROTO((FTable *table, int *nstars));249 Stars *Convert_SMPDATA PROTO((FTable *table, unsigned int *nstars)); 250 Stars *Convert_PS1_DEV_0 PROTO((FTable *table, unsigned int *nstars)); 251 Stars *Convert_PS1_DEV_1 PROTO((FTable *table, unsigned int *nstars)); 252 Stars *Convert_PS1_V1 PROTO((FTable *table, unsigned int *nstars)); 253 Stars *Convert_PS1_V1_Alt PROTO((FTable *table, unsigned int *nstars)); 254 Stars *Convert_PS1_V2 PROTO((FTable *table, unsigned int *nstars)); 274 255 275 256 int InitStar PROTO((Stars *star)); … … 279 260 int args_skycells (int argc, char **argv); 280 261 int ConfigInit_skycells (int *argc, char **argv); 281 int UpdateImageIDs (Stars *stars, int Nstars, Image *images, int Nimages);282 int LoadDataSDSS (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int Nimages); 283 int altaz (double *alt, double *az, double ha, double dec, double latitude);284 285 int LoadDataPMM (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars); 262 int UpdateImageIDs (Stars *stars, unsigned int Nstars, Image *images, off_t Nimages); 263 264 int LoadDataSDSS (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars, Header **headers, off_t *extsize, HeaderSet *headerSets, off_t Nimages); 265 int LoadDataPMM (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars); 266 286 267 PhotCode *LoadMetadataPMM (char *datafile, Image *image); 287 268 time_t pmm_date_to_sec (char *date, char *time); … … 293 274 uint64_t CreatePSPSDetectionID(double tobs, int ccdid, int detID); 294 275 uint64_t CreatePSPSObjectID(double ra, double dec); 276 277 int altaz (double *alt, double *az, double ha, double dec, double latitude); 295 278 296 279 // this is a gnu extension?? caution! -
trunk/Ohana/src/addstar/include/skycells.h
r23914 r27435 78 78 void SetProtect PROTO((int mode)); 79 79 int SetSignals PROTO((void)); 80 int Shutdown PROTO((char *message, ...) ; )80 int Shutdown PROTO((char *message, ...)) OHANA_FORMAT(printf, 1, 2); 81 81 void TrapSignal PROTO((int sig)); 82 82 -
trunk/Ohana/src/addstar/src/ConfigInit.c
r25757 r27435 130 130 /* load valid ip list */ 131 131 { 132 int i, Nvalid , ip1, ip2, ip3, ip4, test, status;132 int i, Nvalid_IP, ip1, ip2, ip3, ip4, test, status; 133 133 char string[80]; 134 134 135 Nvalid = 0;136 NVALID = 10;137 ALLOCATE (VALID_IP, int, NVALID );135 Nvalid_IP = 0; 136 NVALID_IP = 10; 137 ALLOCATE (VALID_IP, int, NVALID_IP); 138 138 for (i = 0; ScanConfig (config, "VALID_IP", "%s", i, string) != NULL; i++) { 139 139 status = sscanf (string, "%d.%d.%d.%d", &ip1, &ip2, &ip3, &ip4); … … 148 148 exit (2); 149 149 } 150 VALID_IP[Nvalid ] = ip1 | (ip2 << 8) | (ip3 << 16) | (ip4 << 24);151 Nvalid ++;152 CHECK_REALLOCATE (VALID_IP, int, NVALID , Nvalid, 10);153 } 154 NVALID = Nvalid;155 REALLOCATE (VALID_IP, int, NVALID );156 if (NVALID == 0) {150 VALID_IP[Nvalid_IP] = ip1 | (ip2 << 8) | (ip3 << 16) | (ip4 << 24); 151 Nvalid_IP ++; 152 CHECK_REALLOCATE (VALID_IP, int, NVALID_IP, Nvalid_IP, 10); 153 } 154 NVALID_IP = Nvalid_IP; 155 REALLOCATE (VALID_IP, int, NVALID_IP); 156 if (NVALID_IP == 0) { 157 157 free (VALID_IP); 158 158 VALID_IP = NULL; … … 172 172 } else { 173 173 options.radius = atof (RadiusWord); 174 if (options.radius < 1e-6) { 175 fprintf (stderr, "non-sensical correlation radius %f\n", options.radius); 176 exit (1); 177 } 174 178 } 175 179 -
trunk/Ohana/src/addstar/src/FilterStars.c
r26384 r27435 109 109 } 110 110 111 Stars *MergeStars (Stars *stars, int *Nstars, Stars *instars,int Ninstars) {111 Stars *MergeStars (Stars *stars, unsigned int *Nstars, Stars *instars, unsigned int Ninstars) { 112 112 113 113 int i, j; -
trunk/Ohana/src/addstar/src/GetFileMode.c
r21508 r27435 4 4 int GetFileMode (Header *header) { 5 5 6 char ctype[80] ;6 char ctype[80], ctmp; 7 7 int Naxis; 8 8 int simple, extend, haveNaxis, haveCTYPE; 9 int tmp,havePHOT_VER, haveTARG_VER;9 int havePHOT_VER, haveTARG_VER; 10 10 11 gfits_scan (header, "SIMPLE", "%t", 1, &simple);11 gfits_scan_alt (header, "SIMPLE", "%t", 1, &simple); 12 12 haveNaxis = gfits_scan (header, "NAXIS", "%d", 1, &Naxis); 13 13 haveCTYPE = gfits_scan (header, "CTYPE1", "%s", 1, ctype); 14 14 15 gfits_scan (header, "EXTEND", "%t", 1, &extend);15 gfits_scan_alt (header, "EXTEND", "%t", 1, &extend); 16 16 17 17 // SDSS tsObj files have a version number for the PHOTO and 18 18 // TS (target selection) pipelines present as header keywords 19 havePHOT_VER = gfits_scan (header, "PHOT_VER", "%s", 1, & tmp);20 haveTARG_VER = gfits_scan (header, "TARG_VER", "%s", 1, & tmp);19 havePHOT_VER = gfits_scan (header, "PHOT_VER", "%s", 1, &ctmp); 20 haveTARG_VER = gfits_scan (header, "TARG_VER", "%s", 1, &ctmp); 21 21 if (havePHOT_VER && haveTARG_VER) return SDSS_OBJ; 22 22 -
trunk/Ohana/src/addstar/src/GetZeroPointExposure.c
r25908 r27435 21 21 // offset in ReadImageHeader based on the per-chip zero points in the photcode database 22 22 23 int GetZeroPointExposure (Header **headers, HeaderSet *headerSets, int Nimages) {23 int GetZeroPointExposure (Header **headers, HeaderSet *headerSets, off_t Nimages) { 24 24 25 25 // the zero point correction is not applied … … 37 37 // the zero point correction is measured here and applied in ReadImageHeader 38 38 if (!strcasecmp(ZERO_POINT_OPTION, "CHIP_AVERAGE")) { 39 39 40 int i, Nzpt, Nmid, Nhead; 40 41 float *zpt, ZPT_OBS; -
trunk/Ohana/src/addstar/src/ImageOptions.c
r16810 r27435 2 2 3 3 /* set specific options based on the image collection */ 4 int ImageOptions (AddstarClientOptions *options, Image *images, int Nimages) {4 int ImageOptions (AddstarClientOptions *options, Image *images, off_t Nimages) { 5 5 6 int i, equivPhotcode, consistent; 6 off_t i; 7 int equivPhotcode, consistent; 7 8 float maxError; 8 9 PhotCode *photcode; -
trunk/Ohana/src/addstar/src/ListenClients_Thread.c
r6674 r27435 14 14 15 15 /* wait for clients to make connection */ 16 BindSocket = WaitServerSocket (InitSocket, &Address, VALID_IP, NVALID );16 BindSocket = WaitServerSocket (InitSocket, &Address, VALID_IP, NVALID_IP); 17 17 if (BindSocket == -1) continue; 18 18 -
trunk/Ohana/src/addstar/src/LoadData.c
r26390 r27435 6 6 7 7 // examine the header sets and set the Image entries for the the valid images 8 int LoadData (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int Nimages, AddstarClientOptions *options) {8 int LoadData (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars, Header **headers, off_t *extsize, HeaderSet *headerSets, int Nimages, AddstarClientOptions *options) { 9 9 10 10 char *name; 11 int i, j, Nvalid, Nhead, Ndata, Nskip; 11 off_t Nskip, Nvalid, NVALID; 12 int i, j, Nhead, Ndata; 12 13 uint32_t parentID = UINT32_MAX; 13 14 Stars *inStars; … … 76 77 Nskip += extsize[j]; 77 78 } 78 fseek (f, Nskip, SEEK_SET);79 fseeko (f, Nskip, SEEK_SET); 79 80 80 81 inStars = ReadStarsFITS (f, headers[Nhead], headers[Ndata], &images[0][Nvalid].nstar); -
trunk/Ohana/src/addstar/src/LoadDataPMM.c
r21508 r27435 16 16 # define MAG_INDEX_ASC 22 17 17 18 int LoadDataPMM (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars) { 19 18 int LoadDataPMM (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars) { 19 20 off_t Nvalid, NVALID; 20 21 char *name, *buffer; 21 int i, fd, Nbyte, Nline, Nvalid,code;22 int i, fd, Nbyte, Nline, code; 22 23 double ra, dec, mag, airmass, az, ZeroPoint, ZeroPt; 23 24 unsigned int Ninstars, NINSTARS; -
trunk/Ohana/src/addstar/src/LoadDataSDSS.c
r16967 r27435 4 4 // there should only be a single data set (phu + table) in this file 5 5 // each SDSS data set corresponds to 5 images (ugriz) 6 int LoadDataSDSS (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int Nimages) {6 int LoadDataSDSS (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars, Header **headers, off_t *extsize, HeaderSet *headerSets, off_t Nimages) { 7 7 8 off_t Nskip, Nvalid, NVALID; 8 9 char *name; 9 int j, N valid, Nhead, Ndata, Nskip;10 int j, Nhead, Ndata; 10 11 unsigned int Ninstars; 11 12 Stars *inStars; … … 36 37 Nskip += extsize[j]; 37 38 } 38 fseek (f, Nskip, SEEK_SET);39 fseeko (f, Nskip, SEEK_SET); 39 40 40 41 // XXX I think this is an error? should this be &images[0][Nvalid] ?? -
trunk/Ohana/src/addstar/src/LoadHeaders.c
r16810 r27435 4 4 Header **LoadHeaders (FILE *f, int *mode, int *Nheaders) { 5 5 6 int i, status, Nskip, NHEADERS; 6 off_t Nskip; 7 int i, status, NHEADERS; 7 8 Header **headers; 8 9 … … 31 32 // advance to the next header 32 33 Nskip = gfits_data_size (headers[i]); 33 fseek (f, Nskip, SEEK_CUR);34 fseeko (f, Nskip, SEEK_CUR); 34 35 if (i == NHEADERS - 1) { 35 36 NHEADERS += 10; -
trunk/Ohana/src/addstar/src/LoadStars.c
r26286 r27435 1 1 # include "addstar.h" 2 2 3 Stars *LoadStars (char *filename, int *Nstars, Image **images, int *Nimages, AddstarClientOptions *options) {3 Stars *LoadStars (char *filename, unsigned int *Nstars, Image **images, off_t *Nimages, AddstarClientOptions *options) { 4 4 5 int i, Nfile, NFILE, Nheaders, NheaderSets, mode, *extsize; 5 off_t *extsize, NheaderSets; 6 int i, Nfile, NFILE, Nheaders, mode; 6 7 char **file, line[1024]; 7 8 FILE *f; … … 80 81 continue; 81 82 } 82 if (VERBOSE) fprintf (stderr, "file %s has %d headers, including % d images\n", file[i], Nheaders,NheaderSets);83 if (VERBOSE) fprintf (stderr, "file %s has %d headers, including %lld images\n", file[i], Nheaders, (long long) NheaderSets); 83 84 84 85 /* supplied photcode is incompatible with multi-chip images */ -
trunk/Ohana/src/addstar/src/MatchHeaders.c
r26258 r27435 3 3 // XXX largely psphot specific 4 4 5 HeaderSet *MatchHeaders ( int **extsize, int *nimage, int mode, Header **headers, int Nheaders) {5 HeaderSet *MatchHeaders (off_t **extsize, off_t *nimage, int mode, Header **headers, int Nheaders) { 6 6 7 7 int i, j, Nimage, NIMAGE; … … 9 9 HeaderSet *headerSets; 10 10 11 ALLOCATE (extsize[0], int, Nheaders);11 ALLOCATE (extsize[0], off_t, Nheaders); 12 12 13 13 Nimage = 0; … … 34 34 headerSets[0].extnum_head = 0; 35 35 headerSets[0].extnum_data = 1; 36 extsize[0][0] = headers[0][0]. size;36 extsize[0][0] = headers[0][0].datasize; 37 37 *nimage = 1; 38 38 return headerSets; … … 42 42 for (i = 0; i < Nheaders; i++) { 43 43 if (mode == SIMPLE_CMP) { 44 extsize[0][i] = headers[i][0]. size;44 extsize[0][i] = headers[i][0].datasize; 45 45 } else { 46 extsize[0][i] = headers[i][0]. size + gfits_data_size (headers[i]);46 extsize[0][i] = headers[i][0].datasize + gfits_data_size (headers[i]); 47 47 } 48 48 … … 92 92 // extension matched to the header in the PHU 93 93 if (Nimage == 0) { 94 extsize[0][0] = headers[0][0]. size + gfits_data_size (headers[0]);95 extsize[0][1] = headers[1][0]. size + gfits_data_size (headers[1]);94 extsize[0][0] = headers[0][0].datasize + gfits_data_size (headers[0]); 95 extsize[0][1] = headers[1][0].datasize + gfits_data_size (headers[1]); 96 96 gfits_scan (headers[1], ExtnameKeyword, "%s", 1, extname); 97 97 if (!strcmp (extname, "SMPFILE")) { -
trunk/Ohana/src/addstar/src/ReadImageHeader.c
r27369 r27435 181 181 // RULE: ccdnum is the value of the first string of digits in CCDNumKeyword 182 182 // For example: ccdnum(XY42.hdr) = 42, ccdnum(XY01.hdr) = 1 183 // if no digits occur, then we assume there is only one ccd 183 184 char *p = ccdnum; 184 185 // get rid of any leading non-digit characters 185 186 while (*p && !isdigit(*p)) p++; 186 187 if (*p) { 187 image[0].ccdnum = atoi(p);188 image[0].ccdnum = atoi(p); 188 189 } else { 189 image[0].ccdnum = 0;190 image[0].ccdnum = 0; 190 191 } 191 192 } -
trunk/Ohana/src/addstar/src/ReadStarsFITS.c
r24400 r27435 5 5 Stars *ReadStarsFITS (FILE *f, Header *header, Header *in_theader, unsigned int *nstars) { 6 6 7 int Nskip, Nstars; 7 off_t Nskip; 8 unsigned int Nstars; 8 9 char type[80]; 9 10 Header theader; … … 16 17 } else { 17 18 table.header = in_theader; 18 Nskip = in_theader[0]. size;19 fseek (f, Nskip, SEEK_CUR);19 Nskip = in_theader[0].datasize; 20 fseeko (f, Nskip, SEEK_CUR); 20 21 } 21 22 … … 57 58 } 58 59 59 Stars *Convert_SMPDATA (FTable *table, int *nstars) { 60 61 int i, Nstars, swapped; 60 Stars *Convert_SMPDATA (FTable *table, unsigned int *nstars) { 61 62 off_t Nstars; 63 unsigned int i; 64 char swapped; 62 65 double ZeroPt; 63 66 Stars *stars = NULL; … … 96 99 } 97 100 98 Stars *Convert_PS1_DEV_0 (FTable *table, int *nstars) { 99 100 int i, Nstars; 101 Stars *Convert_PS1_DEV_0 (FTable *table, unsigned int *nstars) { 102 103 off_t Nstars; 104 unsigned int i; 101 105 double ZeroPt; 102 106 Stars *stars; … … 140 144 // XXX I need to make the IPP I/O functions and these functions 141 145 // consistent wrt ZERO_POINT.... 142 Stars *Convert_PS1_DEV_1 (FTable *table, int *nstars) { 143 144 int i, Nstars; 146 Stars *Convert_PS1_DEV_1 (FTable *table, unsigned int *nstars) { 147 148 off_t Nstars; 149 unsigned int i; 145 150 double ZeroPt; 146 151 Stars *stars; … … 185 190 } 186 191 187 Stars *Convert_PS1_V1 (FTable *table, int *nstars) { 188 189 int i, Nstars; 192 Stars *Convert_PS1_V1 (FTable *table, unsigned int *nstars) { 193 194 off_t Nstars; 195 unsigned int i; 190 196 double ZeroPt; 191 197 Stars *stars; … … 261 267 } 262 268 263 Stars *Convert_PS1_V1_Alt (FTable *table, int *nstars) { 264 265 int i, Nstars; 269 Stars *Convert_PS1_V1_Alt (FTable *table, unsigned int *nstars) { 270 271 off_t Nstars; 272 unsigned int i; 266 273 double ZeroPt; 267 274 Stars *stars; … … 332 339 } 333 340 334 Stars *Convert_PS1_V2 (FTable *table, int *nstars) { 335 336 int i, Nstars; 341 Stars *Convert_PS1_V2 (FTable *table, unsigned int *nstars) { 342 343 off_t Nstars; 344 unsigned int i; 337 345 double ZeroPt; 338 346 Stars *stars; -
trunk/Ohana/src/addstar/src/ReadStarsSDSS.c
r27392 r27435 31 31 // given a file with the pointer at the start of the table block and the 32 32 // corresponding image header, load the stars from the table 33 Stars *ReadStarsSDSS (FILE *f, char *name, Header *header, Header *in_theader, Image *images, int *nimages, unsigned int *nstars) { 34 35 int i, j, N, Nskip, Nstars, camcol; 33 Stars *ReadStarsSDSS (FILE *f, char *name, Header *header, Header *in_theader, Image *images, off_t *nimages, unsigned int *nstars) { 34 35 off_t Nskip, Nrow; 36 int i, j, N, Nstars, camcol; 36 37 char type[80]; 37 38 Header theader; … … 43 44 char filtname[16][5]; 44 45 int photcode[5]; 45 int N row, Ncol; // used in the GET_COLUMN_1,5 macros above46 int Ncol; // used in the GET_COLUMN_1,5 macros above 46 47 47 48 if (in_theader == NULL) { … … 50 51 } else { 51 52 table.header = in_theader; 52 Nskip = in_theader[0]. size;53 fseek (f, Nskip, SEEK_CUR);53 Nskip = in_theader[0].datasize; 54 fseeko (f, Nskip, SEEK_CUR); 54 55 } 55 56 -
trunk/Ohana/src/addstar/src/SkyListForStars.c
r21508 r27435 13 13 } 14 14 15 SkyList *SkyListForStars (SkyTable *table, int depth, Stars *stars, int Nstars) {15 SkyList *SkyListForStars (SkyTable *table, int depth, Stars *stars, unsigned int Nstars) { 16 16 17 17 int i, j, Nr, NR; -
trunk/Ohana/src/addstar/src/SkyTableFromTychoIndex.c
r15036 r27435 147 147 skytable[0].filename[i] = NULL; 148 148 } 149 if (VERBOSE) fprintf (stderr, "loaded % d tables from tycho index\n",skytable[0].Nregions);149 if (VERBOSE) fprintf (stderr, "loaded %lld tables from tycho index\n", (long long) skytable[0].Nregions); 150 150 151 151 return (skytable); -
trunk/Ohana/src/addstar/src/UpdateDatabase_Image.c
r15743 r27435 1 1 # include "addstar.h" 2 2 3 int UpdateDatabase_Image (AddstarClientOptions *options, Image *images, int Nimages, Coords *mosaic, Stars *stars, int Nstars) {3 int UpdateDatabase_Image (AddstarClientOptions *options, Image *images, int Nimages, Coords *mosaic, Stars *stars, unsigned int Nstars) { 4 4 5 5 int i, status; -
trunk/Ohana/src/addstar/src/UpdateDatabase_Reflist.c
r15743 r27435 1 1 # include "addstar.h" 2 2 3 int UpdateDatabase_Reflist (AddstarClientOptions *options, Stars *stars, int Nstars) {3 int UpdateDatabase_Reflist (AddstarClientOptions *options, Stars *stars, unsigned int Nstars) { 4 4 5 5 int i, Nsubset; -
trunk/Ohana/src/addstar/src/UpdateImageIDs.c
r26390 r27435 1 1 # include "addstar.h" 2 2 3 int UpdateImageIDs (Stars *stars, int Nstars, Image *images, int Nimages) {3 int UpdateImageIDs (Stars *stars, unsigned int Nstars, Image *images, off_t Nimages) { 4 4 5 5 int i, status, isEmpty; -
trunk/Ohana/src/addstar/src/addstar.c
r26280 r27435 1 1 # include "addstar.h" 2 2 3 // LARGEFILES: this program currently limits Nstars (input file) to < 2^31 3 4 int main (int argc, char **argv) { 4 5 6 unsigned int Nstars, Nsubset; 5 7 int Nmatch, status, loadObjects; 6 int i, Nstars, Nimages, Nsubset;7 unsigned long longNaverage, Nmeasure;8 off_t i, Nimages; 9 off_t Naverage, Nmeasure; 8 10 Stars *stars, **subset; 9 11 Image *images; … … 46 48 newlist = SkyListByImage (sky, -1, &images[i]); 47 49 SkyListMerge (&skylist, newlist); 48 if (VERBOSE) fprintf (stderr, "added % d regions to yield %d total\n", newlist[0].Nregions,skylist[0].Nregions);50 if (VERBOSE) fprintf (stderr, "added %lld regions to yield %lld total\n", (long long) newlist[0].Nregions, (long long) skylist[0].Nregions); 49 51 SkyListFree (newlist); 50 52 } … … 78 80 skylist = tmp; 79 81 } 80 if (VERBOSE) fprintf (stderr, "writing to % d regions\n",skylist[0].Nregions);82 if (VERBOSE) fprintf (stderr, "writing to %lld regions\n", (long long) skylist[0].Nregions); 81 83 82 84 /* don't load the object tables for only_images, unless we are getting the calibration. */ … … 147 149 case M_RESORT: 148 150 if (options.nosort == 3) catalog.sorted = FALSE; 151 152 // no need to resort empty catalogs 153 if (catalog.Naves_disk == 0) { 154 dvo_catalog_unlock (&catalog); 155 dvo_catalog_free (&catalog); 156 continue; 157 } 158 149 159 resort_catalog (&catalog); 150 160 Nsubset = 1; … … 203 213 gettimeofday (&stop, NULL); 204 214 dtime = DTIME (stop, start); 205 fprintf (stderr, "SUCCESS: elapsed time %9.4f sec for %5d stars (%5d matches), %6lld average, %7lld measure\n", dtime, Nstars, Nmatch, Naverage,Nmeasure);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); 206 216 207 217 exit (0); -
trunk/Ohana/src/addstar/src/addstard.c
r25757 r27435 23 23 24 24 /* wait for clients to make connection */ 25 BindSocket = WaitServerSocket (InitSocket, &Address, VALID_IP, NVALID );25 BindSocket = WaitServerSocket (InitSocket, &Address, VALID_IP, NVALID_ID); 26 26 if (BindSocket == -1) continue; 27 27 -
trunk/Ohana/src/addstar/src/build_links.c
r26399 r27435 26 26 /* build the initial links assuming the table is sorted, 27 27 not partial, and has a correct set of average[].measureOffset,Nmeasure values */ 28 int *init_measure_links (Average *average, int Naverage, Measure *measure, int Nmeasure) {29 30 int i, j, N;31 int *next;28 off_t *init_measure_links (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure) { 29 30 off_t i, j, N; 31 off_t *next_meas; 32 32 33 33 N = 0; 34 34 35 ALLOCATE (next , int, Nmeasure);35 ALLOCATE (next_meas, off_t, Nmeasure); 36 36 for (i = 0; i < Naverage; i++, N++) { 37 37 for (j = 0; j < average[i].Nmeasure - 1; j++, N++) { 38 next [N] = N + 1;38 next_meas[N] = N + 1; 39 39 if (N >= Nmeasure) { 40 40 fprintf (stderr, "WARNING: N out of bounds (1)\n"); 41 41 } 42 42 } 43 next [N] = -1;43 next_meas[N] = -1; 44 44 if (N >= Nmeasure) { 45 45 fprintf (stderr, "WARNING: N out of bounds (2)\n"); … … 51 51 } 52 52 } 53 return (next );53 return (next_meas); 54 54 } 55 55 … … 61 61 */ 62 62 63 int *build_measure_links (Average *average, int Naverage, Measure *measure, int Nmeasure) {64 65 int i, m, k, Nm, averef;66 int *next;67 68 ALLOCATE (next , int, Nmeasure);63 off_t *build_measure_links (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure) { 64 65 off_t i, m, k, Nm, averef; 66 off_t *next_meas; 67 68 ALLOCATE (next_meas, off_t, Nmeasure); 69 69 70 70 /* reset the Nm, offset values for average */ … … 77 77 averef = measure[Nm].averef; 78 78 m = average[averef].measureOffset; 79 next [Nm] = -1;79 next_meas[Nm] = -1; 80 80 81 81 if (m == -1) { /* no links yet for source */ … … 85 85 } 86 86 87 for (k = 0; next [m] != -1; k++) {88 m = next [m];87 for (k = 0; next_meas[m] != -1; k++) { 88 m = next_meas[m]; 89 89 if (m >= Nmeasure) { 90 90 fprintf (stderr, "WARNING: m out of bounds (1)\n"); … … 93 93 94 94 average[averef].Nmeasure = k + 2; 95 next [m] = Nm;95 next_meas[m] = Nm; 96 96 if (m >= Nmeasure) { 97 97 fprintf (stderr, "WARNING: m out of bounds (2)\n"); 98 98 } 99 99 } 100 return (next );100 return (next_meas); 101 101 } 102 102 103 103 /* average[].measureOffset, average[].Nmeasure are valid within an addstar run */ 104 int add_meas_link (Average *average, int *next, int Nmeasure, int NMEASURE) {105 106 int k, m;107 108 /* if we have trouble, check validity of next [m] : m < Nmeasure */104 off_t add_meas_link (Average *average, off_t *next_meas, off_t Nmeasure, off_t NMEASURE) { 105 106 off_t k, m; 107 108 /* if we have trouble, check validity of next_meas[m] : m < Nmeasure */ 109 109 m = average[0].measureOffset; 110 110 111 111 for (k = 0; k < average[0].Nmeasure - 1; k++) { 112 m = next [m];112 m = next_meas[m]; 113 113 if (m >= NMEASURE) { 114 114 fprintf (stderr, "WARNING: m out of bounds (3)\n"); … … 117 117 118 118 /* set up references */ 119 next [Nmeasure] = -1;119 next_meas[Nmeasure] = -1; 120 120 if (Nmeasure >= NMEASURE) { 121 121 fprintf (stderr, "WARNING: Nmeasure out of bounds (1)\n"); … … 125 125 average[0].measureOffset = Nmeasure; 126 126 } else { 127 next [m] = Nmeasure;127 next_meas[m] = Nmeasure; 128 128 if (m >= NMEASURE) { 129 129 fprintf (stderr, "WARNING: m out of bounds (4)\n"); … … 137 137 we must always save the missing table, if it exists */ 138 138 139 Measure *sort_measure (Average *average, int Naverage, Measure *measure, int Nmeasure, int *next) {140 141 int i, k, n, N;139 Measure *sort_measure (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next_meas) { 140 141 off_t i, k, n, N; 142 142 Measure *tmpmeasure; 143 143 … … 153 153 if (measure[n].averef != i) abort(); 154 154 tmpmeasure[N].averef = i; 155 n = next [n];155 n = next_meas[n]; 156 156 } 157 157 } … … 161 161 162 162 /* build the initial links assuming the table is sorted */ 163 int *init_missing_links (Average *average, int Naverage, Missing *missing, int Nmissing) {164 165 int i, j, N;166 int *next;163 off_t *init_missing_links (Average *average, off_t Naverage, Missing *missing, off_t Nmissing) { 164 165 off_t i, j, N; 166 off_t *next_miss; 167 167 168 168 N = 0; 169 169 170 ALLOCATE (next , int, Nmissing);170 ALLOCATE (next_miss, off_t, Nmissing); 171 171 for (i = 0; i < Naverage; i++) { 172 172 for (j = 0; j < average[i].Nmissing - 1; j++, N++) { 173 next [N] = N + 1;173 next_miss[N] = N + 1; 174 174 } 175 175 if (average[i].Nmissing > 0) { 176 next [N] = -1;176 next_miss[N] = -1; 177 177 if (N >= Nmissing) { 178 178 fprintf (stderr, "overflow in init_missing_links"); … … 183 183 184 184 } 185 return (next );186 } 187 188 int add_miss_link (Average *average, int *next, int Nmissing) {189 190 int k, m;185 return (next_miss); 186 } 187 188 off_t add_miss_link (Average *average, off_t *next_miss, off_t Nmissing) { 189 190 off_t k, m; 191 191 192 192 /* there may be 0 Nmiss; this is not true for Nmeas */ 193 193 if (average[0].Nmissing < 1) { 194 194 average[0].missingOffset = Nmissing; 195 next [Nmissing] = -1;195 next_miss[Nmissing] = -1; 196 196 return (TRUE); 197 197 } 198 198 199 199 m = average[0].missingOffset; 200 for (k = 0; k < average[0].Nmissing - 1; k++) m = next [m];200 for (k = 0; k < average[0].Nmissing - 1; k++) m = next_miss[m]; 201 201 /* set up references */ 202 next [Nmissing] = -1;203 next [m] = Nmissing;202 next_miss[Nmissing] = -1; 203 next_miss[m] = Nmissing; 204 204 return (TRUE); 205 205 } 206 206 207 Missing *sort_missing (Average *average, int Naverage, Missing *missing, int Nmissing, int *next) {208 209 int i, k, n, N;207 Missing *sort_missing (Average *average, off_t Naverage, Missing *missing, off_t Nmissing, off_t *next_miss) { 208 209 off_t i, k, n, N; 210 210 Missing *tmpmissing; 211 211 … … 218 218 for (k = 0; k < average[i].Nmissing; k++, N++) { 219 219 tmpmissing[N] = missing[n]; 220 n = next [n];220 n = next_miss[n]; 221 221 } 222 222 } -
trunk/Ohana/src/addstar/src/calibrate.c
r16810 r27435 2 2 3 3 static int InternalCal; 4 static int Ncal, NCAL, *Nstar; 4 static int Ncal, NCAL; 5 static off_t *Nstar; 5 6 static float *Mobs, *dMobs, *Mref, *dMref, *Minst; 6 7 … … 13 14 NCAL = 1000; 14 15 ALLOCATE (Mobs, float, NCAL); 15 ALLOCATE (dMobs, float, NCAL);16 ALLOCATE (dMobs, float, NCAL); 16 17 ALLOCATE (Mref, float, NCAL); 17 18 ALLOCATE (dMref, float, NCAL); 18 19 ALLOCATE (Minst, float, NCAL); 19 ALLOCATE (Nstar, int,NCAL);20 ALLOCATE (Nstar, off_t, NCAL); 20 21 } 21 22 22 void SaveCalibration (float Mo, float dMo, float Mr, float dMr, float Mi, int N) {23 void SaveCalibration (float Mo, float dMo, float Mr, float dMr, float Mi, off_t N) { 23 24 24 25 Mobs[Ncal] = Mo; … … 37 38 REALLOCATE (dMref, float, NCAL); 38 39 REALLOCATE (Minst, float, NCAL); 39 REALLOCATE (Nstar, int,NCAL);40 REALLOCATE (Nstar, off_t, NCAL); 40 41 } 41 42 } 42 43 43 44 /* use the linked list to navigate the measures; safe for unsorted measures */ 44 void AddToCalibration (Average *average, SecFilt *secfilt, Measure *measure, Measure *new, int *next, int Nstar) {45 void AddToCalibration (Average *average, SecFilt *secfilt, Measure *measure, Measure *new, off_t *next, off_t Nstar) { 45 46 46 47 int i, j, m, Nsec, found0, found1, found2; -
trunk/Ohana/src/addstar/src/dump.c
r21508 r27435 1 1 # include "addstar.h" 2 2 3 int dump_rawstars (Stars *stars, int Nstars) {3 int dump_rawstars (Stars *stars, unsigned int Nstars) { 4 4 5 int i;5 unsigned int i; 6 6 FILE *f; 7 7 -
trunk/Ohana/src/addstar/src/fakeimage.c
r21508 r27435 1 1 # include "addstar.h" 2 2 3 Image *fakeimage (char *rootname, int *Nimage, int photcode) {3 Image *fakeimage (char *rootname, off_t *Nimage, int photcode) { 4 4 5 5 int i, j, Nx, Ny, Nchips; -
trunk/Ohana/src/addstar/src/find_matches.c
r27392 r27435 1 1 # include "addstar.h" 2 2 3 int find_matches (SkyRegion *region, Stars *stars, int NstarsIn, Catalog *catalog, AddstarClientOptions options) {4 5 int i, j, n, N, J, status, Nstars;3 int find_matches (SkyRegion *region, Stars *stars, unsigned int NstarsIn, Catalog *catalog, AddstarClientOptions options) { 4 5 off_t i, j, n, N, J, status, Nstars; 6 6 double RADIUS, RADIUS2; 7 7 double *X1, *Y1, *X2, *Y2; 8 8 double dX, dY, dR; 9 int *N1, *N2, *next_meas;10 int Nave, NAVE, Nmeas, NMEAS, Nmatch;9 off_t *N1, *N2, *next_meas; 10 off_t Nave, NAVE, Nmeas, NMEAS, Nmatch; 11 11 int Nsecfilt, Nsec; 12 12 unsigned int objID, catID; … … 29 29 ALLOCATE (X1, double, NstarsIn); 30 30 ALLOCATE (Y1, double, NstarsIn); 31 ALLOCATE (N1, int,NstarsIn);31 ALLOCATE (N1, off_t, NstarsIn); 32 32 33 33 /** allocate local arrays (catalog) **/ … … 35 35 ALLOCATE (X2, double, NAVE); 36 36 ALLOCATE (Y2, double, NAVE); 37 ALLOCATE (N2, int,NAVE);38 ALLOCATE (catalog[0].found, int, NAVE);37 ALLOCATE (N2, off_t, NAVE); 38 ALLOCATE (catalog[0].found, off_t, NAVE); 39 39 /* for secfilt j and star i, secfilt[i*Nsecfilt+j] */ 40 40 … … 146 146 if (Nmeas >= NMEAS) { 147 147 NMEAS = Nmeas + 1000; 148 REALLOCATE (next_meas, int, NMEAS);148 REALLOCATE (next_meas, off_t, NMEAS); 149 149 150 150 REALLOCATE (catalog[0].measure, Measure, NMEAS); … … 238 238 if (Nmeas >= NMEAS - NSTAR_GROUP) { 239 239 NMEAS = Nmeas + 1000; 240 REALLOCATE (next_meas, int, NMEAS);240 REALLOCATE (next_meas, off_t, NMEAS); 241 241 REALLOCATE (catalog[0].measure, Measure, NMEAS); 242 242 } … … 352 352 catalog[0].Nmeasure = Nmeas; 353 353 catalog[0].Nsecf_mem = Nave*Nsecfilt; 354 if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: % d %d %d, (%d matches)\n", Nstars, Nave, Nmeas,Nmatch);354 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); 355 355 356 356 free (catalog[0].found); -
trunk/Ohana/src/addstar/src/find_matches_closest.c
r27392 r27435 1 1 # include "addstar.h" 2 2 3 int find_matches_closest (SkyRegion *region, Stars *stars, int NstarsIn, Catalog *catalog, AddstarClientOptions options) {4 5 int i, j, n, N, J, Jmin, status, Nstars;3 int find_matches_closest (SkyRegion *region, Stars *stars, unsigned int NstarsIn, Catalog *catalog, AddstarClientOptions options) { 4 5 off_t i, j, n, N, J, Jmin, status, Nstars; 6 6 double RADIUS, RADIUS2, Rmin; 7 7 double *X1, *Y1, *X2, *Y2; 8 8 double dX, dY, dR; 9 int *N1, *N2,*next_meas;10 int Nave, NAVE, Nmeas, NMEAS, Nmatch;9 off_t *N1, *N2, *next_meas; 10 off_t Nave, NAVE, Nmeas, NMEAS, Nmatch; 11 11 int Nsecfilt, Nsec; 12 12 unsigned int objID, catID; … … 29 29 ALLOCATE (X1, double, NstarsIn); 30 30 ALLOCATE (Y1, double, NstarsIn); 31 ALLOCATE (N1, int,NstarsIn);31 ALLOCATE (N1, off_t, NstarsIn); 32 32 33 33 /** allocate local arrays (catalog) **/ … … 35 35 ALLOCATE (X2, double, NAVE); 36 36 ALLOCATE (Y2, double, NAVE); 37 ALLOCATE (N2, int,NAVE);38 ALLOCATE (catalog[0].found, int, NAVE);37 ALLOCATE (N2, off_t, NAVE); 38 ALLOCATE (catalog[0].found, off_t, NAVE); 39 39 /* for secfilt j and star i, secfilt[i*Nsecfilt+j] */ 40 40 … … 161 161 if (Nmeas >= NMEAS) { 162 162 NMEAS = Nmeas + 1000; 163 REALLOCATE (next_meas, int, NMEAS);163 REALLOCATE (next_meas, off_t, NMEAS); 164 164 REALLOCATE (catalog[0].measure, Measure, NMEAS); 165 165 } … … 198 198 X1[i], X2[Jmin], 199 199 Y1[i], Y2[Jmin]); 200 // XXX abort on this? -- this is a bad failure... 200 201 } 201 202 … … 232 233 if (Nmeas >= NMEAS - NSTAR_GROUP) { 233 234 NMEAS = Nmeas + 1000; 234 REALLOCATE (next_meas, int, NMEAS);235 REALLOCATE (next_meas, off_t, NMEAS); 235 236 REALLOCATE (catalog[0].measure, Measure, NMEAS); 236 237 } … … 273 274 catalog[0].average[Nave].flags = 0; 274 275 if (PSPS_ID) { 275 catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, 276 catalog[0].average[Nave].D); 276 catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D); 277 277 } else { 278 catalog[0].average[Nave].extID = 0; 279 } 280 278 catalog[0].average[Nave].extID = 0; 279 } 281 280 282 281 objID ++; … … 347 346 catalog[0].Nmeasure = Nmeas; 348 347 catalog[0].Nsecf_mem = Nave*Nsecfilt; 349 if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: % d %d %d, (%d matches)\n", Nstars, Nave, Nmeas,Nmatch);348 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); 350 349 351 350 free (catalog[0].found); -
trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c
r26384 r27435 1 1 # include "addstar.h" 2 2 3 int find_matches_closest_refstars (SkyRegion *region, Stars **stars, int NstarsIn, Catalog *catalog, AddstarClientOptions options) {4 5 int i, j, n, N, J, Jmin, status;3 int find_matches_closest_refstars (SkyRegion *region, Stars **stars, unsigned int NstarsIn, Catalog *catalog, AddstarClientOptions options) { 4 5 off_t i, j, n, N, J, Jmin, status; 6 6 double RADIUS, RADIUS2, Rmin; 7 7 double *X1, *Y1, *X2, *Y2; 8 8 double dX, dY, dR; 9 int *N1, *N2, *next_meas;10 int Nave, NAVE, Nmeas, NMEAS, Nstars, Nmatch;9 off_t *N1, *N2, *next_meas; 10 off_t Nave, NAVE, Nmeas, NMEAS, Nstars, Nmatch; 11 11 unsigned int objID, catID; 12 12 Coords tcoords; … … 24 24 ALLOCATE (X1, double, NstarsIn); 25 25 ALLOCATE (Y1, double, NstarsIn); 26 ALLOCATE (N1, int,NstarsIn);26 ALLOCATE (N1, off_t, NstarsIn); 27 27 28 28 /** allocate local arrays (catalog) **/ … … 30 30 ALLOCATE (X2, double, NAVE); 31 31 ALLOCATE (Y2, double, NAVE); 32 ALLOCATE (N2, int,NAVE);33 ALLOCATE (catalog[0].found, int, NAVE);32 ALLOCATE (N2, off_t, NAVE); 33 ALLOCATE (catalog[0].found, off_t, NAVE); 34 34 /* for secfilt j and star i, secfilt[i*Nsecfilt+j] */ 35 35 … … 164 164 if (Nmeas >= NMEAS) { 165 165 NMEAS = Nmeas + 1000; 166 REALLOCATE (next_meas, int, NMEAS);166 REALLOCATE (next_meas, off_t, NMEAS); 167 167 REALLOCATE (catalog[0].measure, Measure, NMEAS); 168 168 } … … 239 239 if (Nmeas >= NMEAS - NREFSTAR_GROUP) { 240 240 NMEAS = Nmeas + 1000; 241 REALLOCATE (next_meas, int, NMEAS);241 REALLOCATE (next_meas, off_t, NMEAS); 242 242 REALLOCATE (catalog[0].measure, Measure, NMEAS); 243 243 } … … 329 329 Nmeas ++; 330 330 } 331 for (j = 0; j < NREFSTAR_GROUP - 1; j++) { 332 next_meas[Nmeas - NREFSTAR_GROUP + j] = Nmeas - NREFSTAR_GROUP + j + 1; 333 } 331 334 Nave ++; 332 335 } … … 351 354 catalog[0].Nmeasure = Nmeas; 352 355 catalog[0].Nsecf_mem = Nave*Nsecfilt; 353 if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: % d %d %d, (%d matches)\n", Nstars, Nave, Nmeas,Nmatch);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); 354 357 355 358 free (catalog[0].found); -
trunk/Ohana/src/addstar/src/find_matches_refstars.c
r26400 r27435 1 1 # include "addstar.h" 2 2 3 int find_matches_refstars (SkyRegion *region, Stars **stars, int Nstars, Catalog *catalog, AddstarClientOptions options) {4 5 int i, j, n, N, J;3 int find_matches_refstars (SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options) { 4 5 off_t i, j, n, N, J; 6 6 double RADIUS, RADIUS2; 7 7 double *X1, *Y1, *X2, *Y2; 8 8 double dX, dY, dR; 9 int *N1, *N2, *next_meas;10 int Nave, NAVE, Nmeas, NMEAS, Nmatch;9 off_t *N1, *N2, *next_meas; 10 off_t Nave, NAVE, Nmeas, NMEAS, Nmatch; 11 11 unsigned int objID, catID; 12 12 Coords tcoords; … … 24 24 ALLOCATE (X1, double, Nstars); 25 25 ALLOCATE (Y1, double, Nstars); 26 ALLOCATE (N1, int,Nstars);26 ALLOCATE (N1, off_t, Nstars); 27 27 28 28 /** allocate local arrays (catalog) **/ … … 31 31 ALLOCATE (X2, double, NAVE); 32 32 ALLOCATE (Y2, double, NAVE); 33 ALLOCATE (N2, int,NAVE);34 ALLOCATE (catalog[0].found, int, NAVE);33 ALLOCATE (N2, off_t, NAVE); 34 ALLOCATE (catalog[0].found, off_t, NAVE); 35 35 REALLOCATE (catalog[0].average, Average, NAVE); 36 36 REALLOCATE (catalog[0].secfilt, SecFilt, NAVE*catalog[0].Nsecfilt); … … 124 124 if (Nmeas == NMEAS) { 125 125 NMEAS = Nmeas + 1000; 126 REALLOCATE (next_meas, int, NMEAS);126 REALLOCATE (next_meas, off_t, NMEAS); 127 127 REALLOCATE (catalog[0].measure, Measure, NMEAS); 128 128 } … … 209 209 if (Nmeas >= NMEAS - NREFSTAR_GROUP) { 210 210 NMEAS = Nmeas + 1000; 211 REALLOCATE (next_meas, int, NMEAS);211 REALLOCATE (next_meas, off_t, NMEAS); 212 212 REALLOCATE (catalog[0].measure, Measure, NMEAS); 213 213 } … … 325 325 catalog[0].Nmeasure = Nmeas; 326 326 catalog[0].Nsecf_mem = Nave*Nsecfilt; 327 if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: % d %d %d, (%d matches)\n", Nstars, Nave, Nmeas,Nmatch);327 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); 328 328 329 329 free (catalog[0].found); -
trunk/Ohana/src/addstar/src/find_subset.c
r21508 r27435 2 2 3 3 /* find stars within this region */ 4 Stars **find_subset (SkyRegion *region, Stars *stars, int Nstars,int *Nsubset) {4 Stars **find_subset (SkyRegion *region, Stars *stars, unsigned int Nstars, unsigned int *Nsubset) { 5 5 6 6 int i, N, NSUBSET; -
trunk/Ohana/src/addstar/src/get2mass.c
r17439 r27435 2 2 # include "2mass.h" 3 3 4 Stars *get2mass (SkyRegion *patch, int photcode, int mode, int *NSTARS) {4 Stars *get2mass (SkyRegion *patch, int photcode, int mode, unsigned int *NSTARS) { 5 5 6 6 char *path; -
trunk/Ohana/src/addstar/src/getgsc.c
r21508 r27435 7 7 static SkyTable *sky = NULL; 8 8 9 Stars *getgsc (SkyRegion *patch, int *NSTARS) {9 Stars *getgsc (SkyRegion *patch, unsigned int *NSTARS) { 10 10 11 int i, Ngsc, Nstars;11 unsigned int i, Ngsc, Nstars; 12 12 Stars *gsc; 13 13 Stars *stars; … … 45 45 } 46 46 47 Stars *rd_gsc (char *filename, int *nstars) {47 Stars *rd_gsc (char *filename, unsigned int *nstars) { 48 48 49 49 int i, NSTARS, Nstars, Nbytes, nbytes, Nline, Nbyte; -
trunk/Ohana/src/addstar/src/gettycho.c
r21508 r27435 6 6 static SkyTable *tychoTable = NULL; 7 7 8 Stars *gettycho (SkyRegion *catstats, int photcode, int *nstars) {8 Stars *gettycho (SkyRegion *catstats, int photcode, unsigned int *nstars) { 9 9 10 10 int i, j, nitems; … … 13 13 FILE *f; 14 14 int NTYCHO, Ntycho; 15 int firstRow, firstByte;15 off_t firstRow, firstByte; 16 16 short int TYCHO_B, TYCHO_V; 17 17 e_time TychoEpoch; … … 60 60 region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax); 61 61 62 firstRow = atoi (region[0].name);62 firstRow = strtol (region[0].name, NULL, 0); 63 63 firstByte = firstRow * NBYTE; 64 fseek (f, firstByte, SEEK_SET);64 fseeko (f, firstByte, SEEK_SET); 65 65 66 66 while (1) { -
trunk/Ohana/src/addstar/src/getusno.c
r21508 r27435 4 4 # define NELEM 3 5 5 6 Stars *getusno (SkyRegion *catstats, int photcode, int *nstars) {6 Stars *getusno (SkyRegion *catstats, int photcode, unsigned int *nstars) { 7 7 8 long int offset;8 off_t offset; 9 9 int i, bin, first, last, nitems, Nitems, Nbins, Nstars; 10 10 float hours[100]; … … 84 84 /* advance file pointer to first slice */ 85 85 offset = NELEM*NBYTE*(start[first] - 1); 86 fseek (f, offset, SEEK_SET);86 fseeko (f, offset, SEEK_SET); 87 87 88 88 /* sum the number of stars in data segment of interest */ -
trunk/Ohana/src/addstar/src/getusnob.c
r26280 r27435 3 3 # define NELEM 20 4 4 5 Stars *getusnob (SkyRegion *catstats, int photcode, int *nstars) {5 Stars *getusnob (SkyRegion *catstats, int photcode, unsigned int *nstars) { 6 6 7 long int offset;7 off_t offset; 8 8 int i, bin, first, last, nitems, Nitems, Nbins, Nitemsum; 9 9 float hours[100]; … … 93 93 /* advance file pointer to first slice */ 94 94 offset = NELEM*NBYTE*(start[first] - 1); 95 fseek (f, offset, SEEK_SET);95 fseeko (f, offset, SEEK_SET); 96 96 97 97 /* sum the number of stars in data segment of interest */ -
trunk/Ohana/src/addstar/src/greference.c
r21508 r27435 3 3 # define LOAD_DR2 1 4 4 5 Stars *greference (char *Refcat, SkyRegion *region, int photcode, int *nstars) {5 Stars *greference (char *Refcat, SkyRegion *region, int photcode, unsigned int *nstars) { 6 6 7 int Nstars;7 unsigned int Nstars; 8 8 Stars *stars; 9 9 -
trunk/Ohana/src/addstar/src/grefstars.c
r21508 r27435 2 2 3 3 /* read ASCII file with ref star data */ 4 Stars *grefstars (char *file, int photcode, int *Nstars) {4 Stars *grefstars (char *file, int photcode, unsigned int *Nstars) { 5 5 6 6 FILE *f; -
trunk/Ohana/src/addstar/src/gztest.c
r3376 r27435 5 5 main (int argc, char **argv) { 6 6 7 int N, Nread, Nseek, Nback; 7 off_t Nseek, Nback; 8 int N, Nread; 8 9 char *filename, *buffer; 9 10 gzFile gf; … … 66 67 67 68 gettimeofday (&start, NULL); 68 N = fseek (f, Nseek, SEEK_SET);69 N = fseeko (f, Nseek, SEEK_SET); 69 70 gettimeofday (&stop, NULL); 70 71 if (N) { … … 84 85 85 86 gettimeofday (&start, NULL); 86 N = fseek (f, Nback, SEEK_CUR);87 N = fseeko (f, Nback, SEEK_CUR); 87 88 gettimeofday (&stop, NULL); 88 89 if (N) { -
trunk/Ohana/src/addstar/src/mkcmf.c
r20936 r27435 19 19 // load a text table with X,Y,Mag (instrumental?) 20 20 21 int i, N, Nstars, NSTARS ;21 int i, N, Nstars, NSTARS, found; 22 22 double *X, *Y, *M; 23 23 double Xmax, Ymax; … … 56 56 } 57 57 58 // add support for all cmf types 59 static char *type = "PS1_DEV_1"; 60 if ((N = get_argument (argc, argv, "-type"))) { 61 remove_argument (N, &argc, argv); 62 type = strcreate (argv[N]); 63 remove_argument (N, &argc, argv); 64 fprintf (stderr, "support for other types is broken: see comment at line 97\n"); 65 exit (1); 66 } 67 58 68 if (argc != 3) { 59 fprintf (stderr, "USAGE mkcmf (input) (output) [-date date] [-time time] [-radec ra dec] \n");69 fprintf (stderr, "USAGE mkcmf (input) (output) [-date date] [-time time] [-radec ra dec] [-cmftype type]\n"); 60 70 exit (2); 61 71 } … … 86 96 87 97 // XXX add gaussian-distributed noise based on counts 98 // this needs to make different output 'stars' entries depending on the desired type 88 99 ALLOCATE (stars, PS1_DEV_1, Nstars); 89 100 gauss_init (2048); … … 162 173 163 174 ftable.header = &theader; 164 gfits_table_set_PS1_DEV_1 (&ftable, stars, Nstars); 175 176 // set up desired CMF type: 177 found = FALSE; 178 # if 0 179 if (!strcmp(type, "PS1_DEV_0")) { 180 gfits_table_set_PS1_DEV_0 (&ftable, stars, Nstars); 181 gfits_modify (&theader, "EXTTYPE", "%s", 1, "PS1_DEV_0"); 182 found = TRUE; 183 } 184 # endif 185 if (!strcmp(type, "PS1_DEV_1")) { 186 gfits_table_set_PS1_DEV_1 (&ftable, stars, Nstars); 187 gfits_modify (&theader, "EXTTYPE", "%s", 1, "PS1_DEV_1"); 188 found = TRUE; 189 } 190 # if 0 191 if (!strcmp(type, "PS1_V1")) { 192 gfits_table_set_CMF_PS1_V1 (&ftable, stars, Nstars); 193 gfits_modify (&theader, "EXTTYPE", "%s", 1, "PS1_V1"); 194 found = TRUE; 195 } 196 if (!strcmp(type, "PS1_V2")) { 197 gfits_table_set_CMF_PS1_V2 (&ftable, stars, Nstars); 198 gfits_modify (&theader, "EXTTYPE", "%s", 1, "PS1_V2"); 199 found = TRUE; 200 } 201 # endif 202 if (!found) { 203 fprintf (stderr, "ERROR: unknown CMF type %s\n", type); 204 exit (1); 205 } 206 207 gfits_modify (&theader, "EXTHEAD", "%s", 1, "Chip.hdr"); 165 208 gfits_modify (&theader, "EXTNAME", "%s", 1, "Chip.psf"); 166 gfits_modify (&theader, "EXTTYPE", "%s", 1, "PS1_DEV_1");167 gfits_modify (&theader, "EXTHEAD", "%s", 1, "Chip.hdr");168 209 169 210 fits = fopen (argv[2], "w"); -
trunk/Ohana/src/addstar/src/psps_ids.c
- Property svn:mergeinfo changed (with no actual effect on merging)
-
trunk/Ohana/src/addstar/src/resort_catalog.c
r7039 r27435 3 3 void resort_catalog (Catalog *catalog) { 4 4 5 int *next_meas;6 int Naves, Nmeas;5 off_t *next_meas; 6 off_t Naves, Nmeas; 7 7 double dtime; 8 8 struct timeval start, stop; … … 24 24 gettimeofday (&stop, NULL); 25 25 dtime = DTIME (stop, start); 26 fprintf (stderr, " match time %9.4f sec for %7 d measures, %6d average\n", dtime, Nmeas,Naves);26 fprintf (stderr, " match time %9.4f sec for %7lld measures, %6lld average\n", dtime, (long long) Nmeas, (long long) Naves); 27 27 28 28 return; -
trunk/Ohana/src/addstar/src/sky_tessalation.c
r23914 r27435 947 947 } 948 948 REALLOCATE (db[0].vtable.buffer, char *, 1); 949 REALLOCATE (db[0].vtable.row, int, 1);949 REALLOCATE (db[0].vtable.row, off_t, 1); 950 950 db[0].vtable.Nrow = 0; 951 951 952 952 // reset db[0].theader(NAXIS1) to match Image 953 gfits_modify (&db[0].theader, "NAXIS1", "% d", 1,sizeof(Image));953 gfits_modify (&db[0].theader, "NAXIS1", "%lld", 1, (long long) sizeof(Image)); 954 954 db[0].theader.Naxis[0] = sizeof(Image); 955 955 -
trunk/Ohana/src/addstar/src/update_coords.c
r16810 r27435 2 2 3 3 /* find the average and scatter for R and D - no outlier rejection */ 4 void update_coords (Average *average, Measure *measure, int *next) {4 void update_coords (Average *average, Measure *measure, off_t *next) { 5 5 6 int i, m, Npt;6 off_t i, m, Npt; 7 7 double R, D, r, d; 8 8 double r2, d2, dR2, dD2; -
trunk/Ohana/src/delstar/include/delstar.h
r21153 r27435 40 40 int FindDecBand PROTO((double dec, double *DEC0, double *DEC1)); 41 41 FILE *GetDB PROTO((int *state)); 42 Image *GetImages PROTO(( int *nimage));43 int SetImages PROTO((Image *new, int Nnew));42 Image *GetImages PROTO((off_t *nimage)); 43 int SetImages PROTO((Image *new, off_t Nnew)); 44 44 void SetProtect PROTO((int mode)); 45 45 int SetSignals PROTO((void)); 46 int Shutdown PROTO((char *format, ...)) ;46 int Shutdown PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2); 47 47 void TrapSignal PROTO((int sig)); 48 48 int args PROTO((int *argc, char **argv)); … … 52 52 void delete_times PROTO((FITS_DB *db)); 53 53 int edge_check PROTO((double *x1, double *y1, double *x2, double *y2)); 54 int *find_images_data PROTO((FITS_DB *db, Image *timage, int *nlist));55 int *find_images_name PROTO((FITS_DB *db, char *filename, int *nlist));56 int *find_images_time PROTO((FITS_DB *db, time_t start, time_t end, PhotCode *code, int *nlist));57 void find_matches PROTO((Catalog *catalog, int photcode, int start, intend));54 off_t *find_images_data PROTO((FITS_DB *db, Image *timage, off_t *nlist)); 55 off_t *find_images_name PROTO((FITS_DB *db, char *filename, off_t *nlist)); 56 off_t *find_images_time PROTO((FITS_DB *db, e_time start, e_time end, PhotCode *code, off_t *nlist)); 57 void find_matches PROTO((Catalog *catalog, int photcode, e_time start, e_time end)); 58 58 int gcatalog PROTO((Catalog *catalog)); 59 59 Image *gimages PROTO((char *filename)); 60 Image *gtimes PROTO(( int *NIMAGE));60 Image *gtimes PROTO((off_t *NIMAGE)); 61 61 void help PROTO((void)); 62 62 int load_image_db PROTO((FITS_DB *db)); 63 63 void lock_image_db PROTO((FITS_DB *db, char *filename)); 64 void match_images PROTO((Catalog *catalog, Image *image, int Nimage));64 void match_images PROTO((Catalog *catalog, Image *image, off_t Nimage)); 65 65 double opening_angle PROTO((double x1, double y1, double x2, double y2, double x3, double y3)); 66 intparse_time PROTO((Header *header));66 e_time parse_time PROTO((Header *header)); 67 67 int save_image_db PROTO((void)); 68 68 void sort_lists PROTO((float *X, float *Y, int *S, int N)); -
trunk/Ohana/src/delstar/src/delete_imagefile.c
r25757 r27435 3 3 void delete_imagefile (FITS_DB *db, char *filename) { 4 4 5 int i, Nimlist;6 int *imlist;5 off_t i, Nimlist; 6 off_t *imlist; 7 7 double trange; 8 time_tstart, stop;8 e_time start, stop; 9 9 Image *image; 10 10 Catalog catalog; -
trunk/Ohana/src/delstar/src/delete_imagename.c
r25757 r27435 3 3 void delete_imagename (FITS_DB *db, char *name) { 4 4 5 int i, j, k;6 int Nimlist, Nimage, Noutimage;7 int *imlist;5 off_t i, j, k; 6 off_t Nimlist, Nimage, Noutimage; 7 off_t *imlist; 8 8 double trange; 9 9 time_t start, stop; … … 77 77 Noutimage = Nimage - Nimlist; 78 78 79 if (VERBOSE) fprintf (stderr, "removing % d images (leaving %d of %d)\n", Nimlist, Noutimage,Nimage);79 if (VERBOSE) fprintf (stderr, "removing %lld images (leaving %lld of %lld)\n", (long long) Nimlist, (long long) Noutimage, (long long) Nimage); 80 80 // gfits_table_set_Image (&db[0].ftable, outimage, Noutimage); 81 81 82 gfits_modify (&db[0].theader, "NAXIS2", "% d", 1,Noutimage);83 gfits_modify (&db[0].header, "NIMAGES", "% d", 1,Noutimage);82 gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Noutimage); 83 gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, (long long) Noutimage); 84 84 db[0].theader.Naxis[1] = Noutimage; 85 85 db[0].ftable.buffer = (char *) outimage; -
trunk/Ohana/src/delstar/src/delete_missed.c
r4680 r27435 5 5 delete_missed (Catalog *catalog) { 6 6 7 int i; 8 int Nave, Nmeas, Nmiss; 7 off_t i, Nave, Nmeas, Nmiss; 9 8 10 9 Nave = catalog[0].Naverage; … … 12 11 Nmiss = catalog[0].Nmissing; 13 12 14 if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: % d %d %d\n", Nave, Nmeas,Nmiss);13 if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss); 15 14 16 15 /* set up references for missing to average */ … … 20 19 REALLOCATE (catalog[0].missing, Missing, 1); 21 20 catalog[0].Nmissing = 0; 22 if (VERBOSE) fprintf (stderr, " ending with Nave, Nmeas, Nmiss: % d %d %d\n", Nave, Nmeas,Nmiss);21 if (VERBOSE) fprintf (stderr, " ending with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss); 23 22 } 24 23 -
trunk/Ohana/src/delstar/src/delete_orphans.c
r17198 r27435 3 3 delete_orphans (char *name) { 4 4 5 int i, j, k, n, m, N, M, found;6 int *N1, *N2, *next, *next_miss, *ave_miss, last, last_miss;7 int Nave, NAVE, Nmeas, NMEAS, Nmiss, NMISS, Nmatch;8 int start, end, Nmeasfound, Nsecfilt;5 off_t i, j, k, n, m, Nmeasfound, Nsecfilt, N, M, found; 6 off_t *next_meas, *next_miss, *ave_miss, last, last_miss; 7 off_t Nave, NAVE, Nmeas, NMEAS, Nmiss, NMISS, Nmatch; 8 e_time start, end; 9 9 unsigned int flags; 10 10 Measure *tmpmeasure; … … 26 26 27 27 Nmeas = catalog.Nmeasure; 28 ALLOCATE (next , int, Nmeas);28 ALLOCATE (next_meas, int, Nmeas); 29 29 30 30 Nmiss = catalog.Nmissing; … … 36 36 /* set up pointers for linked list of measure */ 37 37 for (i = 0; i < Nmeas - 1; i++) { 38 next [i] = i+1;39 } 40 next [i] = -1;38 next_meas[i] = i+1; 39 } 40 next_meas[i] = -1; 41 41 last = i; 42 42 /* set up pointers for linked list of missing */ … … 60 60 /* this star is an orphan */ 61 61 Nmeasfound ++; 62 next [i] = -2; /* we delete this one */62 next_meas[i] = -2; /* we delete this one */ 63 63 /* fix the list links: connect the previous valid link to the next valid link */ 64 for (j = i; (j >= 0) && (next [j] == -2); j--); /* find previous entry to fix link */64 for (j = i; (j >= 0) && (next_meas[j] == -2); j--); /* find previous entry to fix link */ 65 65 if (j >= 0) { /* if j < 0, there is no previous valid link, ignore this step */ 66 if (next [j] != i) {66 if (next_meas[j] != i) { 67 67 fprintf (stderr, "error? this link seems to have been lost\n"); 68 68 exit (1); 69 69 } 70 70 /* find next valid entry to fix link */ 71 for (k = i; (k < Nmeas) && (next [k] == -2); k++);71 for (k = i; (k < Nmeas) && (next_meas[k] == -2); k++); 72 72 if (k < Nmeas) 73 next [j] = k;73 next_meas[j] = k; 74 74 else 75 next [j] = -1; /* last link in list gets a -1 */75 next_meas[j] = -1; /* last link in list gets a -1 */ 76 76 } 77 77 … … 111 111 m = catalog.average[n].offset; 112 112 /* find next valid entry -- notice lack of error checking... */ 113 for (j = 0; (j < Nmeas) && (next [m+j] == -2); j++);113 for (j = 0; (j < Nmeas) && (next_meas[m+j] == -2); j++); 114 114 catalog.average[n].offset = m + j; 115 115 } … … 218 218 tmpmeasure[N] = catalog.measure[n]; 219 219 tmpmeasure[N].averef = i; 220 n = next [n];220 n = next_meas[n]; 221 221 } 222 222 } -
trunk/Ohana/src/delstar/src/delete_times.c
r25757 r27435 3 3 void delete_times (FITS_DB *db) { 4 4 5 int i, j, k, n; 6 int Nimage, Nimlist, found, code; 7 int Nregions, NREGIONS; 8 int *imlist; 5 int found, code; 6 off_t i, j, k, n; 7 off_t Nimage, Nimlist; 8 off_t Nregions, NREGIONS; 9 off_t *imlist; 9 10 SkyList *skylist, *skyset; 10 11 SkyTable *sky; -
trunk/Ohana/src/delstar/src/find_image_db.c
r16810 r27435 1 1 # include "delstar.h" 2 2 3 int *find_images_name (FITS_DB *db, char *filename, int *nlist) {3 off_t *find_images_name (FITS_DB *db, char *filename, off_t *nlist) { 4 4 5 int i, Nimage, Nlist, NLIST;6 int *list;5 off_t i, Nimage, Nlist, NLIST; 6 off_t *list; 7 7 char *p, *name; 8 8 Image *image; … … 20 20 Nlist = 0; 21 21 NLIST = 100; 22 ALLOCATE (list, int, NLIST);22 ALLOCATE (list, off_t, NLIST); 23 23 24 24 for (i = 0; i < Nimage; i++) { … … 26 26 list[Nlist] = i; 27 27 Nlist ++; 28 CHECK_REALLOCATE (list, int, NLIST, Nlist, 100);28 CHECK_REALLOCATE (list, off_t, NLIST, Nlist, 100); 29 29 } 30 30 … … 34 34 35 35 /* find images in db by image data (time/photcode) */ 36 int *find_images_data (FITS_DB *db, Image *timage, int *nlist) {36 off_t *find_images_data (FITS_DB *db, Image *timage, off_t *nlist) { 37 37 38 int i, Nimage, Nlist, NLIST;39 int *list;38 off_t i, Nimage, Nlist, NLIST; 39 off_t *list; 40 40 Image *image; 41 41 time_t start, stop; … … 50 50 Nlist = 0; 51 51 NLIST = 100; 52 ALLOCATE (list, int, NLIST);52 ALLOCATE (list, off_t, NLIST); 53 53 54 54 for (i = 0; i < Nimage; i++) { … … 58 58 list[Nlist] = i; 59 59 Nlist ++; 60 CHECK_REALLOCATE (list, int, NLIST, Nlist, 100);60 CHECK_REALLOCATE (list, off_t, NLIST, Nlist, 100); 61 61 } 62 62 … … 66 66 67 67 /* find images in db by image data (time/photcode) */ 68 int *find_images_time (FITS_DB *db, time_t start, time_t end, PhotCode *code, int *nlist) {68 off_t *find_images_time (FITS_DB *db, e_time start, e_time end, PhotCode *code, off_t *nlist) { 69 69 70 int i, Nimage, Nlist, NLIST;71 int *list;70 off_t i, Nimage, Nlist, NLIST; 71 off_t *list; 72 72 Image *image; 73 73 … … 76 76 Nlist = 0; 77 77 NLIST = 100; 78 ALLOCATE (list, int, NLIST);78 ALLOCATE (list, off_t, NLIST); 79 79 80 80 for (i = 0; i < Nimage; i++) { … … 86 86 list[Nlist] = i; 87 87 Nlist ++; 88 CHECK_REALLOCATE (list, int, NLIST, Nlist, 100);88 CHECK_REALLOCATE (list, off_t, NLIST, Nlist, 100); 89 89 } 90 90 -
trunk/Ohana/src/delstar/src/find_matches.c
r17244 r27435 1 1 # include "delstar.h" 2 2 3 void find_matches (Catalog *catalog, int photcode, int start, int end) { 4 5 int i, j, k, n, m, N, M, drop, averef; 6 int *next, *next_miss, *ave_miss, last, last_miss; 7 int Nave, Nmeas, NMEAS, Nmiss; 8 int Nmeasfound, Nsecfilt; 9 int this, prev; 3 void find_matches (Catalog *catalog, int photcode, e_time start, e_time end) { 4 5 int drop; 6 off_t i, j, k, n, m, N, M, averef; 7 off_t *next_meas, *next_miss, *ave_miss, last, last_miss; 8 off_t Nave, Nmeas, NMEAS, Nmiss; 9 off_t Nmeasfound, Nsecfilt; 10 off_t this, prev; 10 11 Measure *tmpmeasure; 11 12 Missing *tmpmissing; … … 15 16 16 17 Nmeas = catalog[0].Nmeasure; 17 ALLOCATE (next , int, MAX(Nmeas,1));18 ALLOCATE (next_meas, off_t, MAX(Nmeas,1)); 18 19 19 20 Nmiss = catalog[0].Nmissing; 20 ALLOCATE (next_miss, int, MAX(Nmiss,1));21 ALLOCATE (ave_miss, int, MAX(Nmiss,1));21 ALLOCATE (next_miss, off_t, MAX(Nmiss,1)); 22 ALLOCATE (ave_miss, off_t, MAX(Nmiss,1)); 22 23 23 if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: % d %d %d\n", Nave, Nmeas,Nmiss);24 if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss); 24 25 25 26 /* set up pointers for linked list of measure */ 26 27 for (i = 0; i < Nmeas - 1; i++) { 27 next [i] = i+1;28 } 29 next [i] = -1;28 next_meas[i] = i+1; 29 } 30 next_meas[i] = -1; 30 31 last = i; 31 32 /* set up pointers for linked list of missing */ … … 63 64 64 65 /* this star is in this image */ 65 this = next [i];66 next [i] = -2; /* we delete this one */67 if (prev != -1) { next [prev] = this; }66 this = next_meas[i]; 67 next_meas[i] = -2; /* we delete this one */ 68 if (prev != -1) { next_meas[prev] = this; } 68 69 69 70 # if (0) 70 71 /* why is this section disabled? */ 71 72 /* fix the list links: connect the previous valid link to the next valid link */ 72 for (j = i; (j >= 0) && (next [j] == -2); j--); /* find previous entry to fix link */73 for (j = i; (j >= 0) && (next_meas[j] == -2); j--); /* find previous entry to fix link */ 73 74 if (j >= 0) { /* if j < 0, there is no previous valid link, ignore this step */ 74 if (next [j] != i) {75 if (next_meas[j] != i) { 75 76 fprintf (stderr, "error? (1) this link seems to have been lost\n"); 76 fprintf (stderr, "j: % d, next[j]: %d, i: %d\n", j, next[j],i);77 fprintf (stderr, "j: %lld, next_meas[j]: %lld, i: %lld\n", (long long) j, (long long) next_meas[j], (long long) i); 77 78 exit (1); 78 79 } 79 80 /* find next valid entry to fix link */ 80 for (k = i; (k < Nmeas) && (next [k] == -2); k++);81 for (k = i; (k < Nmeas) && (next_meas[k] == -2); k++); 81 82 if (k < Nmeas) 82 next [j] = k;83 next_meas[j] = k; 83 84 else 84 next [j] = -1; /* last link in list gets a -1 */85 next_meas[j] = -1; /* last link in list gets a -1 */ 85 86 } 86 87 # endif … … 107 108 if (next_miss[j] != m) { 108 109 fprintf (stderr, "error? (2) this link seems to have been lost\n"); 109 fprintf (stderr, "j: % d, next_miss[j]: %d, i: %d\n", j, next_miss[j],i);110 fprintf (stderr, "j: %lld, next_miss[j]: %lld, i: %lld\n", (long long) j, (long long) next_miss[j], (long long) i); 110 111 exit (1); 111 112 } … … 122 123 m = catalog[0].average[n].measureOffset; 123 124 /* find next valid entry -- notice lack of error checking... */ 124 for (j = 0; (j < Nmeas) && (next [m+j] == -2); j++);125 for (j = 0; (j < Nmeas) && (next_meas[m+j] == -2); j++); 125 126 if (catalog[0].measure[m+j].averef != n) { 126 127 fprintf (stderr, "error? measure.averef and average.measureOffset are mismatched\n"); … … 130 131 } 131 132 } 132 fprintf (stderr, "found % d meas to remove\n",Nmeasfound);133 fprintf (stderr, "found %lld meas to remove\n", (long long) Nmeasfound); 133 134 134 135 if (VERBOSE) fprintf (stderr, "fixing missing..."); … … 145 146 if (next_miss[j] != i) { 146 147 fprintf (stderr, "error? (3) this link seems to have been lost\n"); 147 fprintf (stderr, "j: % d, next_miss[j]: %d, i: %d\n", j, next_miss[j],i);148 fprintf (stderr, "j: %lld, next_miss[j]: %lld, i: %lld\n", (long long) j, (long long) next_miss[j], (long long) i); 148 149 exit (1); 149 150 } … … 209 210 tmpmeasure[N] = catalog[0].measure[n]; 210 211 tmpmeasure[N].averef = i; 211 n = next [n];212 n = next_meas[n]; 212 213 CHECK_REALLOCATE (tmpmeasure, Measure, NMEAS, N, 10000); 213 214 } … … 248 249 catalog[0].Nsecf_mem = Nave*Nsecfilt; 249 250 250 if (VERBOSE) fprintf (stderr, " ending with Nave, Nmeas, Nmiss: % d %d %d\n", Nave, Nmeas,Nmiss);251 252 free (next );251 if (VERBOSE) fprintf (stderr, " ending with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss); 252 253 free (next_meas); 253 254 free (next_miss); 254 255 free (ave_miss); -
trunk/Ohana/src/delstar/src/gimages.c
r20184 r27435 25 25 Shutdown ("ERROR: can't find data file %s", filename); 26 26 } 27 fseek (f, header.size, SEEK_SET);27 fseeko (f, header.datasize, SEEK_SET); 28 28 29 29 /* add file name to image structure */ … … 53 53 } 54 54 if (!haveNx && !haveNy) { 55 haveNx = gfits_scan (&header, "ZNAXIS1", "% d", 1, &image[0].NX);56 haveNy = gfits_scan (&header, "ZNAXIS2", "% d", 1, &image[0].NY);55 haveNx = gfits_scan (&header, "ZNAXIS1", "%hd", 1, &image[0].NX); 56 haveNy = gfits_scan (&header, "ZNAXIS2", "%hd", 1, &image[0].NY); 57 57 } 58 58 if (!haveNx || !haveNy) { -
trunk/Ohana/src/delstar/src/match_images.c
r16810 r27435 1 1 # include "delstar.h" 2 2 3 void match_images (Catalog *catalog, Image *image, int Nimage) {3 void match_images (Catalog *catalog, Image *image, off_t Nimage) { 4 4 5 int j, k, found;6 unsigned int*start, *stop;5 off_t j, k, found; 6 e_time *start, *stop; 7 7 8 8 /* this must be allocated so future free will not fail */ -
trunk/Ohana/src/delstar/src/parse_time.c
r20936 r27435 1 1 # include "delstar.h" 2 2 3 intparse_time (Header *header) {3 e_time parse_time (Header *header) { 4 4 5 5 double jd; -
trunk/Ohana/src/dvomerge/Makefile
r24745 r27435 22 22 DVOMERGE = \ 23 23 $(SRC)/dvomerge.$(ARCH).o \ 24 $(SRC)/dvomergeUpdate.$(ARCH).o \ 25 $(SRC)/dvomergeCreate.$(ARCH).o \ 26 $(SRC)/dvo_image_merge_dbs.$(ARCH).o \ 24 27 $(SRC)/SetSignals.$(ARCH).o \ 25 28 $(SRC)/ConfigInit.$(ARCH).o \ 26 29 $(SRC)/Shutdown.$(ARCH).o \ 27 $(SRC)/usage.$(ARCH).o \ 30 $(SRC)/help.$(ARCH).o \ 31 $(SRC)/args.$(ARCH).o \ 32 $(SRC)/psps_ids.$(ARCH).o \ 28 33 $(SRC)/SkyTablePopulatedRange.$(ARCH).o \ 29 34 $(SRC)/LoadCatalog.$(ARCH).o \ -
trunk/Ohana/src/dvomerge/include/dvomerge.h
r24745 r27435 22 22 char CATMODE[16]; /* raw, mef, split, mysql */ 23 23 char CATFORMAT[16]; /* internal, elixir, loneos, panstarrs */ 24 char ImageCat[256]; 24 25 float RADIUS; 25 26 int SKY_DEPTH; … … 27 28 SkyRegion UserPatch; // used by MODE CAT 28 29 30 typedef struct { 31 off_t Nmap; 32 off_t *old; 33 off_t *new; 34 } IDmapType; 35 29 36 int main PROTO((int argc, char **argv)); 37 int dvomergeCreate PROTO((int argc, char **argv)); 38 int dvomergeUpdate PROTO((int argc, char **argv)); 30 39 31 40 int ConfigInit PROTO((int *argc, char **argv)); … … 35 44 void SetProtect PROTO((int mode)); 36 45 void TrapSignal PROTO((int sig)); 37 int Shutdown PROTO((char *format, ...)) ;46 int Shutdown PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2); 38 47 39 48 void usage PROTO((void)); 40 int SkyTablePopulatedRange PROTO((int *ns, int *ne, SkyTable *sky, int Nstart)); 49 void help PROTO((int argc, char **argv)); 50 int args PROTO((int *argc, char **argv)); 51 52 int SkyTablePopulatedRange PROTO((off_t *ns, off_t *ne, SkyTable *sky, off_t Nstart)); 41 53 42 54 SkyList *SkyTablePopulatedList PROTO((SkyTable *sky)); 43 SkyList *SkyTablePopulatedList_old PROTO((SkyTable *sky, int Ns, int Ne));55 SkyList *SkyTablePopulatedList_old PROTO((SkyTable *sky, off_t Ns, off_t Ne)); 44 56 45 57 int LoadCatalog PROTO((Catalog *catalog, SkyRegion *region, char *filename, char *mode)); … … 48 60 int merge_catalogs_old PROTO((SkyRegion *region, Catalog *output, Catalog *input, double RADIUS)); 49 61 50 int *init_measure_links PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure)); 51 int *init_missing_links PROTO((Average *average, int Naverage, Missing *missing, int Nmissing)); 52 int *build_measure_links PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure)); 53 int add_meas_link PROTO((Average *average, int *next, int Nmeasure, int NMEASURE)); 54 int add_miss_link PROTO((Average *average, int *next, int Nmissing)); 55 Measure *sort_measure PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure, int *next)); 56 Missing *sort_missing PROTO((Average *average, int Naverage, Missing *missing, int Nmissing, int *next_miss)); 62 off_t *init_measure_links PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure)); 63 off_t *init_missing_links PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing)); 64 off_t *build_measure_links PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure)); 65 int add_meas_link PROTO((Average *average, off_t *next, off_t Nmeasure, off_t NMEASURE)); 66 int add_miss_link PROTO((Average *average, off_t *next, off_t Nmissing)); 67 Measure *sort_measure PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next)); 68 Missing *sort_missing PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing, off_t *next_miss)); 69 70 uint64_t CreatePSPSDetectionID PROTO((double tobs, int ccdid, int detID)); 71 uint64_t CreatePSPSObjectID PROTO((double ra, double dec)); 72 73 int dvomergeImagesCreate PROTO((IDmapType *IDmap1, char *input1, IDmapType *IDmap2, char *input2, char *output)); 74 int dvomergeImagesUpdate PROTO((IDmapType *IDmap, char *input, char *output)); 75 int dvo_image_merge_dbs PROTO((IDmapType *IDmap, FITS_DB *out, FITS_DB *in)); 76 off_t dvo_map_image_ID PROTO((IDmapType *IDmap, off_t oldID)); 77 int dvo_update_image_IDs PROTO((IDmapType *IDmap, Catalog *catalog)); -
trunk/Ohana/src/dvomerge/src/ConfigInit.c
r24750 r27435 4 4 5 5 double ZERO_POINT; 6 char RadiusWord[80]; 6 7 char *config, *file; 7 char CatdirPhotcodeFile[256];8 char MasterPhotcodeFile[256];9 8 10 9 /*** load configuration info ***/ 11 10 file = SelectConfigFile (argc, argv, "ptolemy"); 11 12 12 config = LoadConfigFile (file); 13 13 if (config == (char *) NULL) { … … 18 18 if (VERBOSE) fprintf (stderr, "loaded config file: %s\n", file); 19 19 20 GetConfig (config, "PHOTCODE_FILE", "%s", 0, MasterPhotcodeFile); 20 21 21 GetConfig (config, "GSCFILE", "%s", 0, GSCFILE); 22 22 ScanConfig (config, "CATMODE", "%s", 0, CATMODE); 23 23 ScanConfig (config, "CATFORMAT", "%s", 0, CATFORMAT); 24 ScanConfig (config, "RADIUS", "%f", 0, &RADIUS);25 24 GetConfig (config, "SKY_DEPTH", "%d", 0, &SKY_DEPTH); 26 25 if (SKY_DEPTH > 4) { … … 36 35 SetZeroPoint (ZERO_POINT); 37 36 37 /* set the default search radius */ 38 if (!ScanConfig (config, "ADDSTAR_RADIUS", "%s", 0, RadiusWord)) { 39 GetConfig (config, "RADIUS", "%s", 0, RadiusWord); 40 } 41 RADIUS = atof (RadiusWord); 38 42 if (RADIUS < 1e-6) { 39 43 fprintf (stderr, "non-sensical correlation radius %f\n", RADIUS); -
trunk/Ohana/src/dvomerge/src/SkyTablePopulatedRange.c
r24745 r27435 1 1 # include "dvomerge.h" 2 2 3 int SkyTablePopulatedRange ( int *ns, int *ne, SkyTable *sky, int Nstart) {3 int SkyTablePopulatedRange (off_t *ns, off_t *ne, SkyTable *sky, off_t Nstart) { 4 4 5 int Ns, Ne;5 off_t Ns, Ne; 6 6 7 7 // given the starting sky region, find the populated range at or below this region … … 26 26 SkyList *SkyTablePopulatedList (SkyTable *sky) { 27 27 28 int i, N, NREGIONS;29 SkyList *list , *subset;28 off_t i, N, NREGIONS; 29 SkyList *list; 30 30 31 31 N = 0; … … 54 54 } 55 55 56 SkyList *SkyTablePopulatedList_old (SkyTable *sky, int Ns, int Ne) {56 SkyList *SkyTablePopulatedList_old (SkyTable *sky, off_t Ns, off_t Ne) { 57 57 58 int i, ns, ne, N, NREGIONS;58 off_t i, ns, ne, N, NREGIONS; 59 59 SkyList *list, *subset; 60 60 -
trunk/Ohana/src/dvomerge/src/args.c
r24745 r27435 1 1 # include "dvomerge.h" 2 static void help (void);3 2 4 int args (int argc, char **argv) { 3 /*** check for command line options ***/ 4 int args (int *argc, char **argv) { 5 5 6 int i, N, CONFIRM; 7 8 /* check for help request */ 9 if (get_argument (argc, argv, "-help") || 10 get_argument (argc, argv, "-h")) { 11 help (); 12 } 13 14 /*** check for command line options ***/ 6 int N, CONFIRM; 15 7 16 8 /*** provide additional data ***/ … … 21 13 UserPatch.Dmax = +90; 22 14 CONFIRM = TRUE; 23 if ((N = get_argument ( argc, argv, "-region"))) {24 remove_argument (N, &argc, argv);15 if ((N = get_argument (*argc, argv, "-region"))) { 16 remove_argument (N, argc, argv); 25 17 UserPatch.Rmin = atof (argv[N]); 26 remove_argument (N, &argc, argv);18 remove_argument (N, argc, argv); 27 19 UserPatch.Rmax = atof (argv[N]); 28 remove_argument (N, &argc, argv);20 remove_argument (N, argc, argv); 29 21 UserPatch.Dmin = atof (argv[N]); 30 remove_argument (N, &argc, argv);22 remove_argument (N, argc, argv); 31 23 UserPatch.Dmax = atof (argv[N]); 32 remove_argument (N, &argc, argv);24 remove_argument (N, argc, argv); 33 25 CONFIRM = FALSE; 34 26 } … … 36 28 /* extra error messages */ 37 29 VERBOSE = FALSE; 38 if ((N = get_argument ( argc, argv, "-v"))) {30 if ((N = get_argument (*argc, argv, "-v"))) { 39 31 VERBOSE = TRUE; 40 remove_argument (N, &argc, argv);32 remove_argument (N, argc, argv); 41 33 } 42 34 43 if (argc == 2) { 44 if (CONFIRM) { 45 fprintf (stderr, "you are splitting the entire sky in one pass\n"); 46 fprintf (stderr, "this could be a time consuming operation. type Ctrl-C within 5 seconds to cancel\n"); 47 for (i = 5; i > 0; i--) { 48 fprintf (stderr, "%d.. ", i); 49 usleep (1000000); 50 } 51 fprintf (stderr, "\n"); 52 } 53 return (TRUE); 54 } 55 56 fprintf (stderr, "USAGE: dvosplit (newlevel) [-region (Rmin) (Rmax) (Dmin) (Dmax)]\n"); 57 exit (2); 35 if ((*argc != 6) && (*argc != 4)) usage(); 36 return TRUE; 58 37 } 59 60 static void help () {61 62 fprintf (stderr, "USAGE\n");63 fprintf (stderr, " dvosplit (newlevel)\n\n");64 fprintf (stderr, " optional flags:\n");65 fprintf (stderr, " -region ra ra dec dec : migrate catalogs in specified region\n");66 fprintf (stderr, " -v : verbose mode\n");67 fprintf (stderr, " -help : this list\n");68 fprintf (stderr, " -h : this list\n\n");69 exit (2);70 }71 72 /** addstar modes:73 74 addstar (image.smp) - add cmp/smp image data to db75 addstar -ref (file.dat) (photcode)76 addstar -cat (USNO/2MASS/GSC) -region (ra dec - ra dec)77 78 -replace : ref/cat - replace existing match (photcode/time)79 -match : ref/cat - only add measures to existing averages80 81 ref types:82 ASCII - RA,DEC,M,dM in a table83 84 addstar85 86 **/87 -
trunk/Ohana/src/dvomerge/src/build_links.c
r24745 r27435 3 3 /* build the initial links assuming the table is sorted, 4 4 not partial, and has a correct set of average[].measureOffset,Nmeasure values */ 5 int *init_measure_links (Average *average, int Naverage, Measure *measure, int Nmeasure) {6 7 int i, j, N;8 int *next;5 off_t *init_measure_links (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure) { 6 7 off_t i, j, N; 8 off_t *next; 9 9 10 10 N = 0; 11 11 12 ALLOCATE (next, int, Nmeasure);12 ALLOCATE (next, off_t, Nmeasure); 13 13 for (i = 0; i < Naverage; i++, N++) { 14 14 for (j = 0; j < average[i].Nmeasure - 1; j++, N++) { … … 31 31 } 32 32 33 /* average[].measureOffset, average[].Nmeasure are valid within an addstar run */ 34 int add_meas_link (Average *average, off_t *next, off_t Nmeasure, off_t NMEASURE) { 35 36 off_t k, m; 37 38 /* if we have trouble, check validity of next[m] : m < Nmeasure */ 39 m = average[0].measureOffset; 40 41 for (k = 0; k < average[0].Nmeasure - 1; k++) { 42 m = next[m]; 43 if (m >= NMEASURE) { 44 fprintf (stderr, "WARNING: m out of bounds (3)\n"); 45 } 46 } 47 48 /* set up references */ 49 next[Nmeasure] = -1; 50 if (Nmeasure >= NMEASURE) { 51 fprintf (stderr, "WARNING: Nmeasure out of bounds (1)\n"); 52 } 53 54 if (m == -1) { 55 average[0].measureOffset = Nmeasure; 56 } else { 57 next[m] = Nmeasure; 58 if (m >= NMEASURE) { 59 fprintf (stderr, "WARNING: m out of bounds (4)\n"); 60 } 61 } 62 63 return (TRUE); 64 } 65 66 Measure *sort_measure (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next) { 67 68 off_t i, k, n, N; 69 Measure *tmpmeasure; 70 71 /* fix order of Measure (memory intensive, but fast) */ 72 N = 0; 73 ALLOCATE (tmpmeasure, Measure, Nmeasure); 74 for (i = 0; i < Naverage; i++) { 75 n = average[i].measureOffset; 76 average[i].measureOffset = N; 77 for (k = 0; k < average[i].Nmeasure; k++, N++) { 78 tmpmeasure[N] = measure[n]; 79 tmpmeasure[N].averef = i; 80 n = next[n]; 81 } 82 } 83 free (measure); 84 return (tmpmeasure); 85 } 86 87 /* construct measure links which are valid FOR THIS LOAD 88 * - if we have a full load, we will get links which can 89 * be used by other programs (eg, relphot, etc) 90 * - if we have a partial load, the links are only valid 91 * for that partial load 92 */ 93 94 off_t *build_measure_links (Average *average, off_t Naverage, Measure *measure, off_t Nmeasure) { 95 96 off_t i, m, k, Nm, averef; 97 off_t *next; 98 99 ALLOCATE (next, off_t, Nmeasure); 100 101 /* reset the Nm, offset values for average */ 102 for (i = 0; i < Naverage; i++) { 103 average[i].measureOffset = -1; 104 average[i].Nmeasure = 0; 105 } 106 107 for (Nm = 0; Nm < Nmeasure; Nm++) { 108 averef = measure[Nm].averef; 109 m = average[averef].measureOffset; 110 next[Nm] = -1; 111 112 if (m == -1) { /* no links yet for source */ 113 average[averef].measureOffset = Nm; 114 average[averef].Nmeasure = 1; 115 continue; 116 } 117 118 for (k = 0; next[m] != -1; k++) { 119 m = next[m]; 120 if (m >= Nmeasure) { 121 fprintf (stderr, "WARNING: m out of bounds (1)\n"); 122 } 123 } 124 125 average[averef].Nmeasure = k + 2; 126 next[m] = Nm; 127 if (m >= Nmeasure) { 128 fprintf (stderr, "WARNING: m out of bounds (2)\n"); 129 } 130 } 131 return (next); 132 } 133 33 134 /* build the initial links assuming the table is sorted */ 34 int *init_missing_links (Average *average, int Naverage, Missing *missing, int Nmissing) {35 36 int i, j, N;37 int *next;135 off_t *init_missing_links (Average *average, off_t Naverage, Missing *missing, off_t Nmissing) { 136 137 off_t i, j, N; 138 off_t *next; 38 139 39 140 N = 0; 40 141 41 ALLOCATE (next, int, Nmissing);142 ALLOCATE (next, off_t, Nmissing); 42 143 for (i = 0; i < Naverage; i++) { 43 144 for (j = 0; j < average[i].Nmissing - 1; j++, N++) { … … 57 158 } 58 159 59 /* average[].measureOffset, average[].Nmeasure are valid within an addstar run */ 60 int add_meas_link (Average *average, int *next, int Nmeasure, int NMEASURE) { 61 62 int k, m; 63 64 /* if we have trouble, check validity of next[m] : m < Nmeasure */ 65 m = average[0].measureOffset; 66 67 for (k = 0; k < average[0].Nmeasure - 1; k++) { 68 m = next[m]; 69 if (m >= NMEASURE) { 70 fprintf (stderr, "WARNING: m out of bounds (3)\n"); 71 } 72 } 73 74 /* set up references */ 75 next[Nmeasure] = -1; 76 if (Nmeasure >= NMEASURE) { 77 fprintf (stderr, "WARNING: Nmeasure out of bounds (1)\n"); 78 } 79 80 if (m == -1) { 81 average[0].measureOffset = Nmeasure; 82 } else { 83 next[m] = Nmeasure; 84 if (m >= NMEASURE) { 85 fprintf (stderr, "WARNING: m out of bounds (4)\n"); 86 } 87 } 88 89 return (TRUE); 90 } 91 92 int add_miss_link (Average *average, int *next, int Nmissing) { 93 94 int k, m; 160 int add_miss_link (Average *average, off_t *next, off_t Nmissing) { 161 162 off_t k, m; 95 163 96 164 /* there may be 0 Nmiss; this is not true for Nmeas */ … … 109 177 } 110 178 111 /* construct measure links which are valid FOR THIS LOAD112 * - if we have a full load, we will get links which can113 * be used by other programs (eg, relphot, etc)114 * - if we have a partial load, the links are only valid115 * for that partial load116 */117 118 int *build_measure_links (Average *average, int Naverage, Measure *measure, int Nmeasure) {119 120 int i, m, k, Nm, averef;121 int *next;122 123 ALLOCATE (next, int, Nmeasure);124 125 /* reset the Nm, offset values for average */126 for (i = 0; i < Naverage; i++) {127 average[i].measureOffset = -1;128 average[i].Nmeasure = 0;129 }130 131 for (Nm = 0; Nm < Nmeasure; Nm++) {132 averef = measure[Nm].averef;133 m = average[averef].measureOffset;134 next[Nm] = -1;135 136 if (m == -1) { /* no links yet for source */137 average[averef].measureOffset = Nm;138 average[averef].Nmeasure = 1;139 continue;140 }141 142 for (k = 0; next[m] != -1; k++) {143 m = next[m];144 if (m >= Nmeasure) {145 fprintf (stderr, "WARNING: m out of bounds (1)\n");146 }147 }148 149 average[averef].Nmeasure = k + 2;150 next[m] = Nm;151 if (m >= Nmeasure) {152 fprintf (stderr, "WARNING: m out of bounds (2)\n");153 }154 }155 return (next);156 }157 158 179 /* Missing does not carry enough information to reconstruct the links 159 180 we must always save the missing table, if it exists */ 160 181 161 Measure *sort_measure (Average *average, int Naverage, Measure *measure, int Nmeasure, int *next) { 162 163 int i, k, n, N; 164 Measure *tmpmeasure; 165 166 /* fix order of Measure (memory intensive, but fast) */ 167 N = 0; 168 ALLOCATE (tmpmeasure, Measure, Nmeasure); 169 for (i = 0; i < Naverage; i++) { 170 n = average[i].measureOffset; 171 average[i].measureOffset = N; 172 for (k = 0; k < average[i].Nmeasure; k++, N++) { 173 tmpmeasure[N] = measure[n]; 174 tmpmeasure[N].averef = i; 175 n = next[n]; 176 } 177 } 178 free (measure); 179 return (tmpmeasure); 180 } 181 182 Missing *sort_missing (Average *average, int Naverage, Missing *missing, int Nmissing, int *next) { 183 184 int i, k, n, N; 182 Missing *sort_missing (Average *average, off_t Naverage, Missing *missing, off_t Nmissing, off_t *next) { 183 184 off_t i, k, n, N; 185 185 Missing *tmpmissing; 186 186 -
trunk/Ohana/src/dvomerge/src/dvomerge.c
r25757 r27435 1 1 # include "dvomerge.h" 2 2 3 // dvomerge (catdir.in1) and (catdir.in2) to (catdir.output) [-region Rmin Rmax Dmin Dmax] [4 // merge sources from (catdir.from) into (catdir.to)5 3 int main (int argc, char **argv) { 6 4 7 int i, j, Ns, Ne, depth1, depth2; 8 SkyTable *outsky, *insky1, *insky2; 9 SkyList *inlist; 10 Catalog incatalog, outcatalog; 11 char filename[256], *input1, *input2, *output; 5 SetSignals (); 6 help (argc, argv); 7 ConfigInit (&argc, argv); 8 args (&argc, argv); 12 9 13 SetSignals (); 14 ConfigInit (&argc, argv); 15 16 if (argc != 6) usage(); 17 if (strcasecmp (argv[2], "and")) usage(); 18 if (strcasecmp (argv[4], "to")) usage(); 19 20 input1 = argv[1]; 21 input2 = argv[3]; 22 output = argv[5]; 23 24 // the first input define the photcode table & db layout 25 sprintf (filename, "%s/Photcodes.dat", input1); 26 if (!LoadPhotcodes (filename, NULL, FALSE)) { 27 fprintf (stderr, "error loading photcode table %s\n", filename); 28 exit (1); 29 } 30 // save the photcodes in the output catdir 31 sprintf (filename, "%s/Photcodes.dat", output); 32 if (!check_file_access (filename, TRUE, TRUE, TRUE)) { 33 fprintf (stderr, "error creating output catdir %s\n", output); 34 exit (1); 35 } 36 if (!SavePhotcodesFITS (filename)) { 37 fprintf (stderr, "error saving photcode table %s\n", filename); 38 exit (1); 39 } 40 41 // load the sky table for the existing database 42 insky1 = SkyTableLoadOptimal (input1, NULL, NULL, FALSE, SKY_DEPTH_HST, VERBOSE); 43 SkyTableSetFilenames (insky1, input1, "cpt"); 44 45 insky2 = SkyTableLoadOptimal (input2, NULL, NULL, FALSE, SKY_DEPTH_HST, VERBOSE); 46 SkyTableSetFilenames (insky2, input2, "cpt"); 47 48 // generate an output table populated at the desired depth 49 outsky = SkyTableLoadOptimal (output, NULL, GSCFILE, TRUE, SKY_DEPTH, VERBOSE); 50 SkyTableSetFilenames (outsky, output, "cpt"); 51 52 // loop over the populatable output tables; check for data in input1 and/or input2 53 // in the corresponding regions 54 55 SkyTablePopulatedRange (&Ns, &Ne, insky1, 0); 56 depth1 = insky1[0].regions[Ns].depth; 57 58 SkyTablePopulatedRange (&Ns, &Ne, insky2, 0); 59 depth2 = insky2[0].regions[Ns].depth; 60 61 // loop over the populatable output regions 62 for (i = 0; i < outsky[0].Nregions; i++) { 63 if (!outsky[0].regions[i].table) continue; 64 fprintf (stderr, "output: %s\n", outsky[0].regions[i].name); 65 66 // load / create output catalog 67 LoadCatalog (&outcatalog, &outsky[0].regions[i], outsky[0].filename[i], "w"); 68 69 // combine only tables at equal or larger depth 70 71 // load in all of the tables from input1 for this region 72 inlist = SkyListByBounds (insky1, depth1, outsky[0].regions[i].Rmin, outsky[0].regions[i].Rmax, outsky[0].regions[i].Dmin, outsky[0].regions[i].Dmax); 73 for (j = 0; j < inlist[0].Nregions; j++) { 74 fprintf (stderr, "input 1: %s\n", inlist[0].regions[j][0].name); 75 76 // load input catalog (1) 77 LoadCatalog (&incatalog, inlist[0].regions[j], inlist[0].filename[j], "r"); 78 79 // skip empty input catalogs 80 if (!incatalog.Naves_disk) { 81 dvo_catalog_unlock (&incatalog); 82 dvo_catalog_free (&incatalog); 83 continue; 84 } 85 merge_catalogs_new (&outsky[0].regions[i], &outcatalog, &incatalog); 86 dvo_catalog_unlock (&incatalog); 87 dvo_catalog_free (&incatalog); 88 } 89 SkyListFree (inlist); 90 91 // load in all of the tables from input2 for this region 92 inlist = SkyListByBounds (insky2, depth2, outsky[0].regions[i].Rmin, outsky[0].regions[i].Rmax, outsky[0].regions[i].Dmin, outsky[0].regions[i].Dmax); 93 for (j = 0; j < inlist[0].Nregions; j++) { 94 fprintf (stderr, "input 2: %s\n", inlist[0].regions[j][0].name); 95 96 // load input catalog (1) 97 LoadCatalog (&incatalog, inlist[0].regions[j], inlist[0].filename[j], "r"); 98 99 // skip empty input catalogs 100 if (!incatalog.Naves_disk) { 101 dvo_catalog_unlock (&incatalog); 102 dvo_catalog_free (&incatalog); 103 continue; 104 } 105 merge_catalogs_old (&outsky[0].regions[i], &outcatalog, &incatalog, RADIUS); 106 dvo_catalog_unlock (&incatalog); 107 dvo_catalog_free (&incatalog); 108 } 109 SkyListFree (inlist); 110 111 outcatalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_MISS | LOAD_SECF; 112 dvo_catalog_save (&outcatalog, VERBOSE); 113 dvo_catalog_unlock (&outcatalog); 114 dvo_catalog_free (&outcatalog); 115 } 116 117 // save the output sky table copy 118 sprintf (filename, "%s/SkyTable.fits", output); 119 check_file_access (filename, TRUE, TRUE, VERBOSE); 120 if (!SkyTableSave (outsky, filename)) { 121 fprintf (stderr, "ERROR: failed to save sky table for %s\n", output); 122 exit (1); 123 } 124 125 exit (0); 10 if (argc == 6) dvomergeCreate (argc, argv); 11 if (argc == 4) dvomergeUpdate (argc, argv); 12 usage(); 13 exit (2); // cannot reach here. 126 14 } 127 15 128 /* 16 /* we have two possible modes of operation: 129 17 130 for the upgrade of the synth database, at a minimum I need to use an output format that uses 131 doubles for the astrometry. Optionally I should merge in the 2MASS photometry measurements, since that 132 would be quite useful for comparison. 18 Create : dvomerge (in1) and (in2) to (out) -- create a new db from two input dbs 19 Update : dvomerge (in) into (out) -- merge a new db into an existing db 133 20 134 generality questions: 135 * optional 136 137 138 139 */ 140 21 */ -
trunk/Ohana/src/dvomerge/src/merge_catalogs.c
r24745 r27435 5 5 int merge_catalogs_new (Catalog *output, Catalog *input) { 6 6 7 int i, j, offset;8 int NAVERAGE, NMEASURE, Naverage, Nmeasure, Nsecfilt, Nm;7 off_t i, j, offset; 8 off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nsecfilt, Nm; 9 9 10 10 Naverage = output[0].Naverage; -
trunk/Ohana/src/dvomerge/src/merge_catalogs_new.c
r24745 r27435 9 9 int merge_catalogs_new (SkyRegion *region, Catalog *output, Catalog *input) { 10 10 11 int i, j, offset;12 int NAVERAGE, NMEASURE, Naverage, Nmeasure, Nsecfilt, Nm;11 off_t i, j, offset; 12 off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nsecfilt, Nm; 13 13 14 14 Naverage = output[0].Naverage; … … 64 64 output[0].Nmeasure = Nmeasure; 65 65 output[0].Nsecf_mem = Naverage * Nsecfilt; 66 67 // If we are using dvomergeCreate to split an existing catalog, then the max objID in 68 // each of the new subdivisions of the original catalog is the max objID of the original 69 // catalog. It is not allowed to use dvomerge to unify catalogs to a lower-resolution 70 // partition. 71 output[0].objID = input[0].objID; // new max value, save on catalog close 66 72 67 73 if (VERBOSE) { 68 fprintf (stderr, "%d: using %d stars (%d measures) for catalog\n", i, 69 output[0].Naverage, output[0].Nmeasure); 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); 70 78 } 71 79 return (TRUE); -
trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
r24750 r27435 1 1 # include "dvomerge.h" 2 # define PSPS_ID TRUE 2 3 3 4 # define IN_REGION(R,D) ( \ … … 9 10 int merge_catalogs_old (SkyRegion *region, Catalog *output, Catalog *input, double RADIUS) { 10 11 11 int i, j, n, N, Nin, offset, J, Jmin, status, Nstars;12 off_t i, j, n, N, Nin, offset, J, Jmin, status, Nstars; 12 13 double RADIUS2, Rmin, Rin, Din; 13 14 double *X1, *Y1, *X2, *Y2; 14 15 double dX, dY, dR; 15 int *N1, *N2, *next_meas;16 int Nave, NAVE, Nmeas, NMEAS, Nmatch;16 off_t *N1, *N2, *next_meas; 17 off_t Nave, NAVE, Nmeas, NMEAS, Nmatch; 17 18 int Nsecfilt; 18 19 unsigned int objID, catID; … … 24 25 ALLOCATE (X1, double, input[0].Naverage); 25 26 ALLOCATE (Y1, double, input[0].Naverage); 26 ALLOCATE (N1, int,input[0].Naverage);27 ALLOCATE (input[0].found, int, input[0].Naverage);27 ALLOCATE (N1, off_t, input[0].Naverage); 28 ALLOCATE (input[0].found, off_t, input[0].Naverage); 28 29 29 30 /** allocate local arrays (catalog) **/ … … 31 32 ALLOCATE (X2, double, NAVE); 32 33 ALLOCATE (Y2, double, NAVE); 33 ALLOCATE (N2, int, NAVE);34 ALLOCATE (output[0].found, int, NAVE);34 ALLOCATE (N2, off_t, NAVE); 35 ALLOCATE (output[0].found, off_t, NAVE); 35 36 /* for secfilt j and star i, secfilt[i*Nsecfilt+j] */ 36 37 … … 119 120 /* negative dX: j is too large */ 120 121 dX = X1[i] - X2[j]; 121 if (dX <= - 2*RADIUS) {122 if (dX <= -1.02*RADIUS) { 122 123 i++; 123 124 continue; 124 125 } 125 126 /* positive dX, i is too large */ 126 if (dX >= 2*RADIUS) {127 if (dX >= 1.02*RADIUS) { 127 128 j++; 128 129 continue; … … 131 132 Jmin = -1; 132 133 Rmin = RADIUS2; 133 for (J = j; (dX > - 2*RADIUS) && (J < Nave); J++) {134 for (J = j; (dX > -1.02*RADIUS) && (J < Nave); J++) { 134 135 /* find closest match for this detection */ 135 136 dX = X1[i] - X2[J]; … … 157 158 if (Nmeas + input[0].average[N].Nmeasure >= NMEAS) { 158 159 NMEAS = Nmeas + input[0].average[N].Nmeasure + 1000; 159 REALLOCATE (next_meas, int, NMEAS);160 REALLOCATE (next_meas, off_t, NMEAS); 160 161 REALLOCATE (output[0].measure, Measure, NMEAS); 161 162 } 162 163 163 /** add measurements for this input average object **/164 /** add ALL measurements for this input average object **/ 164 165 for (Nin = 0; Nin < input[0].average[N].Nmeasure; Nin ++) { 165 166 offset = input[0].average[N].measureOffset + Nin; … … 169 170 170 171 // set the new measurements 171 output[0].measure[Nmeas] = input[0].measure[offset];172 output[0].measure[Nmeas] = input[0].measure[offset]; 172 173 173 174 Rin = input[0].average[N].R - input[0].measure[offset].dR / 3600.0; … … 177 178 output[0].measure[Nmeas].dR = 3600.0*(output[0].average[n].R - Rin); // XXX update these based on choice of astromety 178 179 output[0].measure[Nmeas].dD = 3600.0*(output[0].average[n].D - Din); // XXX update these based on choice of astromety 179 output[0].measure[Nmeas].dbFlags = 0; 180 output[0].measure[Nmeas].dbFlags = 0; // XXX why reset these? 180 181 output[0].measure[Nmeas].averef = n; 181 182 output[0].measure[Nmeas].objID = output[0].average[n].objID; 182 183 output[0].measure[Nmeas].catID = output[0].catID; 184 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); 183 186 184 187 // rationalize dR … … 197 200 output[0].average[n].R, output[0].average[n].D, Rin, Din, 198 201 X1[i], X2[Jmin], Y1[i], Y2[Jmin]); 202 // XXX abort on this? -- this is a bad failure... 199 203 } 200 204 input[0].found[N] = Nmeas; 205 output[0].average[n].Nmeasure ++; 201 206 Nmeas ++; 202 207 } … … 205 210 Nm is recalculated in build_meas_links if loaded table is not sorted */ 206 211 output[0].found[n] = Nmeas; 207 output[0].average[n].Nmeasure ++;208 212 i++; 209 213 } 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 210 221 211 222 /** incorporate unmatched image stars, if this star is in field of this catalog **/ 212 223 /* these new entries are all written out in UPDATE mode */ 213 224 for (i = 0; i < Nstars; i++) { 214 215 N = N1[i];216 if (input[0].found[N] >= 0) continue;217 if (!IN_REGION (input[0].average[N].R, input[0].average[N].D)) continue;218 219 225 /* make sure there is space for next entry */ 220 226 if (Nmeas + input[0].average[N].Nmeasure >= NMEAS) { 221 227 NMEAS = Nmeas + input[0].average[N].Nmeasure + 1000; 222 REALLOCATE (next_meas, int, NMEAS);228 REALLOCATE (next_meas, off_t, NMEAS); 223 229 REALLOCATE (output[0].measure, Measure, NMEAS); 224 230 } … … 229 235 } 230 236 237 N = N1[i]; 238 if (input[0].found[N] >= 0) continue; 239 if (!IN_REGION (input[0].average[N].R, input[0].average[N].D)) continue; 240 231 241 output[0].average[Nave].R = input[0].average[N].R; 232 242 output[0].average[Nave].D = input[0].average[N].D; … … 238 248 output[0].average[Nave].Nextend = 0; 239 249 240 output[0].average[Nave].measureOffset = Nmeas;241 output[0].average[Nave].missingOffset = -1;242 output[0].average[Nave].extendOffset = -1;250 output[0].average[Nave].measureOffset = Nmeas; 251 output[0].average[Nave].missingOffset = -1; 252 output[0].average[Nave].extendOffset = -1; 243 253 244 254 output[0].average[Nave].uR = 0; … … 253 263 output[0].average[Nave].Npos = 0; 254 264 255 output[0].average[Nave].objID = objID; 256 output[0].average[Nave].catID = catID; 257 output[0].average[Nave].flags = 0; 265 output[0].average[Nave].objID = objID; // we create objID values in the context of the output db 266 output[0].average[Nave].catID = catID; // we create catID values in the context of the output db 267 output[0].average[Nave].flags = 0; // XXX why reset these? 268 if (PSPS_ID) { 269 output[0].average[Nave].extID = CreatePSPSObjectID(output[0].average[Nave].R, output[0].average[Nave].D); 270 } else { 271 output[0].average[Nave].extID = 0; 272 } 258 273 259 274 objID ++; … … 288 303 Nmeas ++; 289 304 } 305 int Ngroup = input[0].average[N].Nmeasure; 306 for (j = 0; j < Ngroup - 1; j++) { 307 next_meas[Nmeas - Ngroup + j] = Nmeas - Ngroup + j + 1; 308 } 290 309 Nave ++; 291 310 } … … 294 313 REALLOCATE (output[0].measure, Measure, Nmeas); 295 314 296 # define NOSORT TRUE 315 # if (0) 316 fprintf (stderr, "--- 2 ---\n"); 317 for (i = 0; i < Nmeas; i++) { 318 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); 319 } 320 # endif 321 322 # define NOSORT FALSE 297 323 if (NOSORT) { 298 324 output[0].sorted = FALSE; … … 301 327 output[0].measure = sort_measure (output[0].average, Nave, output[0].measure, Nmeas, next_meas); 302 328 } 329 330 # if (0) 331 fprintf (stderr, "--- 3 ---\n"); 332 for (i = 0; i < Nmeas; i++) { 333 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); 334 } 335 # endif 303 336 304 337 /* note stars which have been found in this catalog */ … … 316 349 output[0].Nmeasure = Nmeas; 317 350 output[0].Nsecf_mem = Nave*Nsecfilt; 318 if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: % d %d %d, (%d matches)\n", Nstars, Nave, Nmeas,Nmatch);351 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); 319 352 320 353 free (next_meas); -
trunk/Ohana/src/dvosplit/include/dvosplit.h
r24753 r27435 35 35 void SetProtect PROTO((int mode)); 36 36 void TrapSignal PROTO((int sig)); 37 int Shutdown PROTO((char *format, ...) );37 int Shutdown PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2)); 38 38 int args PROTO((int argc, char **argv)); 39 39 -
trunk/Ohana/src/elixir/src/DumpStatus.c
r10336 r27435 18 18 f = fsetlockfile (filename, 0.1, LCK_XCLD, &state); 19 19 if (f == NULL) return (2); 20 fseek (f, 0, SEEK_END);20 fseeko (f, 0, SEEK_END); 21 21 } 22 22 -
trunk/Ohana/src/elixir/src/MachineOps.c
r10336 r27435 454 454 f = fsetlockfile (filename, 0.1, LCK_XCLD, &state); 455 455 if (f == NULL) return (2); 456 fseek (f, 0, SEEK_END);456 fseeko (f, 0, SEEK_END); 457 457 } 458 458 -
trunk/Ohana/src/elixir/src/MsgOps.c
r10336 r27435 99 99 100 100 /* write message to end of file */ 101 fseek (f, 0, SEEK_END);101 fseeko (f, 0, SEEK_END); 102 102 fprintf (f, "%s\n", message); 103 103 -
trunk/Ohana/src/elixir/src/ProcessOps.c
r10336 r27435 203 203 switch (Nterms) { 204 204 case 0: 205 sprintf (line, format);205 sprintf (line, "%s", format); 206 206 break; 207 207 case 1: -
trunk/Ohana/src/fixcat/src/aregion.c
r19823 r27435 79 79 NLINES += NDecLines[i]; 80 80 } 81 fseek (f, 5*2880 + 48*NLINES, SEEK_SET);81 fseeko (f, 5*2880 + 48*NLINES, SEEK_SET); 82 82 83 83 done = FALSE; -
trunk/Ohana/src/fixcat/src/find_bright_stars.c
r16040 r27435 6 6 { 7 7 8 int i, j, n, m, first_j, Nave, Ngsc;8 int j, n, m, first_j, Ngsc; 9 9 Catalog GSCdata; 10 10 double MinRA, MinDEC, MaxRA, MaxDEC, RaCenter, DecCenter; 11 11 Coords *tcoords; 12 12 double *X1, *Y1, *X2, *Y2; 13 int *N1, *N2; 13 off_t i, Nave; 14 off_t *N1, *N2; 14 15 char *mark; 15 16 double dX, dY, dR, MaxDist, MaxDist1, MaxRadius, radius, radius2; … … 27 28 ALLOCATE (X1, double, Ngsc); 28 29 ALLOCATE (Y1, double, Ngsc); 29 ALLOCATE (N1, int, Ngsc);30 ALLOCATE (N1, off_t, Ngsc); 30 31 ALLOCATE (mark, char, Nave); 31 32 bzero (mark, Nave); -
trunk/Ohana/src/fixcat/src/find_images.c
r7080 r27435 73 73 exit (0); 74 74 } 75 fseek (f, header.size, SEEK_SET);75 fseeko (f, header.datasize, SEEK_SET); 76 76 77 77 /* set up buffers for images, temporary storage */ -
trunk/Ohana/src/fixcat/src/find_matches.c
r16040 r27435 11 11 double *X1, *Y1, *X2, *Y2; 12 12 double dX, dY, dR; 13 int *N1, *N2;13 off_t *N1, *N2; 14 14 int Nstar, Nghost, Ng; 15 15 unsigned int flags; … … 29 29 ALLOCATE (X1, double, Nghost); 30 30 ALLOCATE (Y1, double, Nghost); 31 ALLOCATE (N1, int, Nghost);31 ALLOCATE (N1, off_t, Nghost); 32 32 33 33 /* project ghosts to the frame of the catalog */ -
trunk/Ohana/src/fixcat/src/gcatalog.c
r7080 r27435 28 28 exit (0); 29 29 } 30 fseek (f, catalog[0].header.size, SEEK_SET);30 fseeko (f, catalog[0].header.datasize, SEEK_SET); 31 31 32 32 /** find number of stars, measurements **/ -
trunk/Ohana/src/fixcat/src/gcatstats.c
r16040 r27435 6 6 { 7 7 8 int i;8 off_t i; 9 9 double RaCenter, DecCenter; 10 10 double MinRA, MaxRA, MinDEC, MaxDEC; 11 11 double *X1, *Y1; 12 int *N1;13 12 Coords tcoords; 14 13 -
trunk/Ohana/src/fixcat/src/wcatalog.c
r7080 r27435 1 1 # include "markstar.h" 2 2 3 wcatalog (catname, catalog) 4 char *catname; 5 Catalog catalog[]; 6 { 3 int wcatalog (char *catname, catalog *catalog) { 7 4 8 int i, Nitems, nitems, status, mode; 5 int status, mode; 6 off_t i, Nitems, nitems; 9 7 char filename[128], line[256]; 10 8 FILE *f; … … 36 34 chmod (filename, mode); 37 35 38 gfits_modify (&catalog[0].header, "NSTARS", "% d", 1, catalog[0].Naverage);39 gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);40 gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);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); 41 39 42 gfits_modify (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE);40 gfits_modify_alt (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE); 43 41 44 nitems = Fwrite (catalog[0].header.buffer, 1, catalog[0].header. size, f, "char");42 nitems = Fwrite (catalog[0].header.buffer, 1, catalog[0].header.datasize, f, "char"); 45 43 if (nitems != catalog[0].header.size) { 46 44 fprintf (stderr, "ERROR: failed to write header\n"); … … 71 69 fclose (f); 72 70 71 return TRUE; 73 72 } 74 -
trunk/Ohana/src/gastro/src/getusno.c
r2435 r27435 11 11 USNOdata *getusno (USNOstats *usnostats, CatStats *catstats, int *Nusno) { 12 12 13 long int offset;13 off_t offset; 14 14 int i, bin, first, last, nitems, Nitems, Nbins; 15 15 float hours[100]; … … 91 91 /* advance file pointer to first slice */ 92 92 offset = 3*sizeof(int)*(start[first] - 1); 93 fseek (f, offset, SEEK_SET);93 fseeko (f, offset, SEEK_SET); 94 94 /* on each loop, load data from an RA slice of the catalog */ 95 95 for (bin = first; bin < last; bin++) { -
trunk/Ohana/src/gastro/src/gfit.c
r19823 r27435 7 7 int gfit (SStars *stars1, SStars *stars2, int N1, int N2, Coords *coords, int NX, int NY, double *Radius, double *DR, int *Nmatch, int mode) { 8 8 9 int i, j, iteration, Niter, last, halt, first_j, *Nextra,extras;10 int *tmpN1, *tmpN2;9 int i, j, iteration, Niter, last, halt, first_j, extras; 10 off_t *tmpN1, *tmpN2; 11 11 double X_O, X_X, X_Y, dX; 12 12 double Y_O, Y_X, Y_Y, dY; … … 42 42 ALLOCATE (tmpX1, double, N1); 43 43 ALLOCATE (tmpY1, double, N1); 44 ALLOCATE (tmpN1, int, N1);44 ALLOCATE (tmpN1, off_t, N1); 45 45 46 46 ALLOCATE (tmpX2, double, N2); 47 47 ALLOCATE (tmpY2, double, N2); 48 ALLOCATE (tmpN2, int, N2); 49 ALLOCATE (Nextra, int, N2); 50 bzero (Nextra, sizeof(int) * N2); 48 ALLOCATE (tmpN2, off_t, N2); 51 49 52 50 dX = dY = N = 0; -
trunk/Ohana/src/gastro/src/gfitpoly.c
r19823 r27435 5 5 int i, j, m, n, M, N; 6 6 int first_j, last; 7 int *tmpN1, *tmpN2;7 off_t *tmpN1, *tmpN2; 8 8 int NORDER, NTERM, NPARS, NPOWR; 9 9 double **sum, **xsum, **ysum; … … 52 52 ALLOCATE (tmpX1, double, N1); 53 53 ALLOCATE (tmpY1, double, N1); 54 ALLOCATE (tmpN1, int, N1);54 ALLOCATE (tmpN1, off_t, N1); 55 55 56 56 ALLOCATE (tmpX2, double, N2); 57 57 ALLOCATE (tmpY2, double, N2); 58 ALLOCATE (tmpN2, int, N2);58 ALLOCATE (tmpN2, off_t, N2); 59 59 60 60 /* assign and sort list */ -
trunk/Ohana/src/gastro/src/gheader.c
r12332 r27435 5 5 Header header; 6 6 FILE *f, *g; 7 int i, oldsize, nbytes, status;7 off_t i, oldsize, nbytes, status; 8 8 char line[1024]; 9 9 … … 12 12 exit(0); 13 13 } 14 oldsize = header. size;14 oldsize = header.datasize; 15 15 16 16 /* validating the photcode name should be the job of DVO/addstar */ … … 22 22 if (Nmatch < 2) { 23 23 gfits_modify (&header, "NASTRO", "%d", 1, 0); 24 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");24 gfits_modify_alt (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 25 25 goto skipstuff; 26 26 } 27 27 28 28 gfits_modify (&header, "NASTRO", "%d", 1, Nmatch); 29 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");29 gfits_modify_alt (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 30 30 31 31 /*** use PutCoords to update header ***/ … … 73 73 } 74 74 gfits_modify (&header, "CERROR", "%lf", 1, dR); 75 gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");75 gfits_modify_alt (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)"); 76 76 gfits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Nmatch)); 77 gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");77 gfits_modify_alt (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)"); 78 78 gfits_modify (&header, "EQUINOX", "%lf", 1, 2000.0); 79 79 /* we force equinox to be 2000.0 for all images */ 80 80 81 81 skipstuff: 82 if (header. size > oldsize) {82 if (header.datasize > oldsize) { 83 83 if (VERBOSE) fprintf (stderr, "header expanded, creating new copy\n"); 84 84 sprintf (line, "mv %s %s~", file, file); … … 99 99 exit(0); 100 100 } 101 nbytes = fwrite (header.buffer, 1, header. size, g);102 fseek (f, oldsize, SEEK_SET);103 for (i = 0; (nbytes = fread (header.buffer, 1, header. size, f)) > 0; i++) {101 nbytes = fwrite (header.buffer, 1, header.datasize, g); 102 fseeko (f, oldsize, SEEK_SET); 103 for (i = 0; (nbytes = fread (header.buffer, 1, header.datasize, f)) > 0; i++) { 104 104 if (nbytes != fwrite (header.buffer, 1, nbytes, g)) { 105 105 fprintf (stderr, "ERROR: failure writing output data file\n"); … … 116 116 } 117 117 118 fseek (f, 0, SEEK_SET);119 nbytes = fwrite (header.buffer, 1, header. size, f);118 fseeko (f, 0, SEEK_SET); 119 nbytes = fwrite (header.buffer, 1, header.datasize, f); 120 120 121 121 fclose (f); -
trunk/Ohana/src/gastro/src/gstars.c
r19823 r27435 162 162 exit(0); 163 163 } 164 fseek (f, header.size, SEEK_SET);164 fseeko (f, header.datasize, SEEK_SET); 165 165 166 166 N = nstar = 0; -
trunk/Ohana/src/gastro2/src/getusno.c
r8496 r27435 11 11 int getusno (CatStats *catstats, RefCatalog *Ref) { 12 12 13 long int offset;13 off_t offset; 14 14 int i, bin, first, last, nitems, Nitems, Nbins; 15 15 float hours[100]; … … 86 86 /* advance file pointer to first slice */ 87 87 offset = 3*sizeof(int)*(start[first] - 1); 88 fseek (f, offset, SEEK_SET);88 fseeko (f, offset, SEEK_SET); 89 89 /* on each loop, load data from an RA slice of the catalog */ 90 90 for (bin = first; bin < last; bin++) { -
trunk/Ohana/src/gastro2/src/getusnob.c
r8513 r27435 5 5 int getusnob (CatStats *catstats, RefCatalog *Ref, double epoch) { 6 6 7 long int offset;7 off_t offset; 8 8 int i, bin, first, last, nitems, Nitems, Nbins; 9 9 float hours[100]; … … 76 76 /* advance file pointer to first slice */ 77 77 offset = NELEM*NBYTE*(start[first] - 1); 78 fseek (f, offset, SEEK_SET);78 fseeko (f, offset, SEEK_SET); 79 79 80 80 /* sum the number of stars in data segment of interest */ -
trunk/Ohana/src/gastro2/src/gheader2.c
r8300 r27435 6 6 Header header; 7 7 FILE *f, *g; 8 int i, oldsize, nbytes, status;8 off_t i, oldsize, nbytes, status; 9 9 char line[1024]; 10 10 … … 13 13 exit(0); 14 14 } 15 oldsize = header. size;15 oldsize = header.datasize; 16 16 17 17 /* check for insufficient number of stars */ … … 21 21 if (Target[0].answer.N < 6) { 22 22 gfits_modify (&header, "NASTRO", "%d", 1, 0); 23 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");23 gfits_modify_alt (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 24 24 goto skipstuff; 25 25 } … … 28 28 if (Target[0].answer.N < 12) { 29 29 gfits_modify (&header, "NASTRO", "%d", 1, 0); 30 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");30 gfits_modify_alt (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 31 31 goto skipstuff; 32 32 } … … 35 35 if (Target[0].answer.N < 20) { 36 36 gfits_modify (&header, "NASTRO", "%d", 1, 0); 37 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");37 gfits_modify_alt (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 38 38 goto skipstuff; 39 39 } … … 45 45 46 46 gfits_modify (&header, "NASTRO", "%d", 1, Target[0].answer.N); 47 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");47 gfits_modify_alt (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 48 48 49 49 /*** use PutCoords to update header ***/ … … 52 52 dR = fabs (Target[0].answer.dR*Target[0].coords.cdelt1*3600.0); 53 53 gfits_modify (&header, "CERROR", "%lf", 1, dR); 54 gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");54 gfits_modify_alt (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)"); 55 55 gfits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Target[0].answer.N)); 56 gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");56 gfits_modify_alt (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)"); 57 57 gfits_modify (&header, "EQUINOX", "%lf", 1, 2000.0); 58 58 /* we force equinox to be 2000.0 for all images */ 59 59 60 60 skipstuff: 61 if (header. size > oldsize) {61 if (header.datasize > oldsize) { 62 62 if (VERBOSE) fprintf (stderr, "header expanded, creating new copy\n"); 63 63 sprintf (line, "mv %s %s~", file, file); … … 78 78 exit(0); 79 79 } 80 nbytes = fwrite (header.buffer, 1, header. size, g);81 fseek (f, oldsize, SEEK_SET);82 for (i = 0; (nbytes = fread (header.buffer, 1, header. size, f)) > 0; i++) {80 nbytes = fwrite (header.buffer, 1, header.datasize, g); 81 fseeko (f, oldsize, SEEK_SET); 82 for (i = 0; (nbytes = fread (header.buffer, 1, header.datasize, f)) > 0; i++) { 83 83 if (nbytes != fwrite (header.buffer, 1, nbytes, g)) { 84 84 fprintf (stderr, "ERROR: failure writing output data file\n"); … … 95 95 } 96 96 97 fseek (f, 0, SEEK_SET);98 nbytes = fwrite (header.buffer, 1, header. size, f);97 fseeko (f, 0, SEEK_SET); 98 nbytes = fwrite (header.buffer, 1, header.datasize, f); 99 99 100 100 fclose (f); -
trunk/Ohana/src/gastro2/src/gstars2.c
r19823 r27435 6 6 char line[80]; 7 7 double det; 8 int NX, NY, Nskip, FoundAstrom, extend, naxis; 8 off_t Nskip; 9 int NX, NY, FoundAstrom, extend, naxis; 9 10 StarData *stars; 10 11 FILE *f; … … 21 22 } 22 23 /* this line should not be needed */ 23 fseek (f, Target[0].header.size, SEEK_SET);24 fseeko (f, Target[0].header.datasize, SEEK_SET); 24 25 25 26 NX = Target[0].header.Naxis[0]; … … 125 126 /* Is NAXIS == 0 a better test?? */ 126 127 extend = FALSE; 127 gfits_scan (&Target[0].header, "NAXIS", "%t", 1, &naxis);128 gfits_scan_alt (&Target[0].header, "NAXIS", "%t", 1, &naxis); 128 129 if ((naxis == 0) && !TEXTMODE) { 129 130 Nskip = gfits_data_size (&Target[0].header); 130 fseek (f, Nskip, SEEK_CUR);131 fseeko (f, Nskip, SEEK_CUR); 131 132 stars = rfits (f, &Nstars); 132 133 } else { -
trunk/Ohana/src/gastro2/src/rfits.c
r7080 r27435 3 3 StarData *rfits (FILE *f, int *nstars) { 4 4 5 int i, N, Nstars; 5 int N; 6 off_t i, Nstars; 6 7 Header theader; 7 8 FTable table; -
trunk/Ohana/src/getstar/include/dvoImageExtract.h
r21153 r27435 21 21 int args_extract PROTO((int argc, char **argv)); 22 22 int ConfigInit_extract PROTO((int *argc, char **argv)); 23 int Shutdown PROTO((char *format, ...)) ;23 int Shutdown PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2); 24 24 void TrapSignal PROTO((int sig)); 25 25 void SetProtect PROTO((int mode)); … … 30 30 31 31 int WriteImageFITS (FILE *f, Image *image); 32 int WriteImages (char *filename, Image *images, int Nimages, int *matches, int Nmatches);33 int *SelectImages (char *filename, Image *dbImages, int NdbImages, int *Nmatch);32 int WriteImages (char *filename, Image *images, off_t Nimages, off_t *matches, off_t Nmatches); 33 off_t *SelectImages (char *filename, Image *dbImages, off_t NdbImages, off_t *Nmatch); -
trunk/Ohana/src/getstar/include/dvoImageOverlaps.h
r21153 r27435 24 24 int args_overlaps PROTO((int argc, char **argv)); 25 25 int ConfigInit_overlaps PROTO((int *argc, char **argv)); 26 int Shutdown PROTO((char *format, ...) );26 int Shutdown PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2)); 27 27 void TrapSignal PROTO((int sig)); 28 28 void SetProtect PROTO((int mode)); 29 29 int SetSignals PROTO((void)); 30 30 31 Image *ReadImageFiles (char *filename, int *Nimages);31 Image *ReadImageFiles (char *filename, off_t *Nimages); 32 32 int ReadImageHeader (Header *header, Image *image); 33 int *MatchImage (Image *dbImages, int NdbImages, Image *image, int *Nmatch);34 int ListImageOverlaps (Image *dbImages, Image *image, int *matches, int Nmatches);33 off_t *MatchImage (Image *dbImages, off_t NdbImages, Image *image, off_t *Nmatch); 34 int ListImageOverlaps (Image *dbImages, Image *image, off_t *matches, off_t Nmatches); 35 35 36 36 int GetFileMode (Header *header); -
trunk/Ohana/src/getstar/include/dvoImagesAtCoords.h
r26288 r27435 39 39 int args_coords PROTO((int argc, char **argv)); 40 40 int ConfigInit_coords PROTO((int *argc, char **argv)); 41 int Shutdown PROTO((char *format, ...) );41 int Shutdown PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2)); 42 42 void TrapSignal PROTO((int sig)); 43 43 void SetProtect PROTO((int mode)); 44 44 int SetSignals PROTO((void)); 45 45 46 Image *ReadImageFiles (char *filename, int *Nimages);46 Image *ReadImageFiles (char *filename, off_t *Nimages); 47 47 int ReadImageHeader (Header *header, Image *image); 48 int MatchCoords(Image *, int, Point *, int);48 off_t MatchCoords (Image *dbImages, off_t NdbImages, Point *points, int Npoints); 49 49 50 50 int GetFileMode (Header *header); -
trunk/Ohana/src/getstar/include/getstar.h
r21153 r27435 37 37 int args PROTO((int argc, char **argv)); 38 38 int ConfigInit PROTO((int *argc, char **argv)); 39 int Shutdown PROTO((char *format, ...)) ;39 int Shutdown PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2); 40 40 int load_pt_catalog PROTO((Catalog *catalog, SkyRegion *region)); 41 41 int select_by_region PROTO((Catalog *output, Catalog *catalog, SkyRegion *region, int start, int end)); -
trunk/Ohana/src/getstar/src/ConfigInit_coords.c
r27142 r27435 4 4 5 5 char *config, *file; 6 char CatdirPhotcodeFile[256];7 char MasterPhotcodeFile[256];8 6 9 7 /*** load configuration info ***/ … … 21 19 ScanConfig (config, "CATMODE", "%s", 0, CATMODE); 22 20 ScanConfig (config, "CATFORMAT", "%s", 0, CATFORMAT); 23 ScanConfig (config, "PHOTCODE_FILE", "%s", 0, MasterPhotcodeFile);24 21 if (!ScanConfig (config, "SKY_DEPTH", "%d", 0, &SKY_DEPTH)) { 25 22 SKY_DEPTH = 2; -
trunk/Ohana/src/getstar/src/ConfigInit_extract.c
r25757 r27435 4 4 5 5 char *config, *file; 6 char CatdirPhotcodeFile[256];7 char MasterPhotcodeFile[256];8 6 9 7 /*** load configuration info ***/ … … 21 19 ScanConfig (config, "CATMODE", "%s", 0, CATMODE); 22 20 ScanConfig (config, "CATFORMAT", "%s", 0, CATFORMAT); 23 ScanConfig (config, "PHOTCODE_FILE", "%s", 0, MasterPhotcodeFile);24 21 if (!ScanConfig (config, "SKY_DEPTH", "%d", 0, &SKY_DEPTH)) { 25 22 SKY_DEPTH = 2; … … 33 30 if (*CATFORMAT == 0) strcpy (CATFORMAT, "ELIXIR"); 34 31 35 /* XXX this does not yet write out the master photcode table */36 sprintf (CatdirPhotcodeFile, "%s/Photcodes.dat", CATDIR);37 if (!LoadPhotcodes (CatdirPhotcodeFile, MasterPhotcodeFile, TRUE)) {38 fprintf (stderr, "error loading photcode table %s or master file %s\n", CatdirPhotcodeFile, MasterPhotcodeFile);39 exit (1);40 }41 42 32 free (config); 43 33 free (file); -
trunk/Ohana/src/getstar/src/ConfigInit_overlaps.c
r25757 r27435 4 4 5 5 char *config, *file; 6 char CatdirPhotcodeFile[256];7 char MasterPhotcodeFile[256];8 6 9 7 /*** load configuration info ***/ … … 21 19 ScanConfig (config, "CATMODE", "%s", 0, CATMODE); 22 20 ScanConfig (config, "CATFORMAT", "%s", 0, CATFORMAT); 23 ScanConfig (config, "PHOTCODE_FILE", "%s", 0, MasterPhotcodeFile);24 21 if (!ScanConfig (config, "SKY_DEPTH", "%d", 0, &SKY_DEPTH)) { 25 22 SKY_DEPTH = 2; … … 33 30 if (*CATFORMAT == 0) strcpy (CATFORMAT, "ELIXIR"); 34 31 35 /* XXX this does not yet write out the master photcode table */36 sprintf (CatdirPhotcodeFile, "%s/Photcodes.dat", CATDIR);37 if (!LoadPhotcodes (CatdirPhotcodeFile, MasterPhotcodeFile, FALSE)) {38 fprintf (stderr, "error loading photcode table %s or master file %s\n", CatdirPhotcodeFile, MasterPhotcodeFile);39 exit (1);40 }41 42 32 free (config); 43 33 free (file); -
trunk/Ohana/src/getstar/src/GetFileMode.c
r19065 r27435 8 8 int simple, extend, haveNaxis, haveCTYPE; 9 9 10 gfits_scan (header, "SIMPLE", "%t", 1, &simple);10 gfits_scan_alt (header, "SIMPLE", "%t", 1, &simple); 11 11 haveNaxis = gfits_scan (header, "NAXIS", "%d", 1, &Naxis); 12 12 haveCTYPE = gfits_scan (header, "CTYPE1", "%s", 1, ctype); 13 13 14 gfits_scan (header, "EXTEND", "%t", 1, &extend);14 gfits_scan_alt (header, "EXTEND", "%t", 1, &extend); 15 15 16 16 if ((Naxis == 2) || !simple) { -
trunk/Ohana/src/getstar/src/ListImageOverlaps.c
r12774 r27435 2 2 3 3 /* given image, find catalog images which overlap it */ 4 int ListImageOverlaps (Image *dbImages, Image *image, int *matches, int Nmatches) {4 int ListImageOverlaps (Image *dbImages, Image *image, off_t *matches, off_t Nmatches) { 5 5 6 int i, N;6 off_t i, N; 7 7 8 8 for (i = 0; i < Nmatches; i++) { -
trunk/Ohana/src/getstar/src/MatchCoords.c
r26142 r27435 5 5 6 6 /* given coordinate, find images in list that contain the point */ 7 int MatchCoords (Image *dbImages, int NdbImages, Point *points, int Npoints) {7 off_t MatchCoords (Image *dbImages, off_t NdbImages, Point *points, int Npoints) { 8 8 9 int i, j, N; 9 off_t i; 10 int j; 10 11 int totalMatches = 0; 11 Coords tcoords; 12 double r, d; 13 double Xi[4], Yi[4], Xo[4], Yo[4]; /* image and original corners */ 14 double Xmin, Xmax, Ymin, Ymax; 12 double Xi[4], Yi[4]; /* image and original corners */ 15 13 double xmin, xmax, ymin, ymax; 16 14 -
trunk/Ohana/src/getstar/src/MatchImages.c
r14590 r27435 5 5 6 6 /* given image, find catalog images which overlap it */ 7 int *MatchImage (Image *dbImages, int NdbImages, Image *image, int *Nmatch) {7 off_t *MatchImage (Image *dbImages, off_t NdbImages, Image *image, off_t *Nmatch) { 8 8 9 int i, j, N, addtolist, status;10 int NMATCH, nmatch, *match;9 off_t i, NMATCH, nmatch, *match; 10 int j, N, addtolist, status; 11 11 Coords tcoords; 12 12 double r, d; … … 64 64 nmatch = 0; 65 65 NMATCH = 20; 66 ALLOCATE (match, int, NMATCH);66 ALLOCATE (match, off_t, NMATCH); 67 67 68 68 /* setup links for mosaic WRP and DIS entries */ … … 128 128 if (nmatch == NMATCH) { 129 129 NMATCH += 20; 130 REALLOCATE (match, int, NMATCH);130 REALLOCATE (match, off_t, NMATCH); 131 131 } 132 132 } 133 133 134 if (VERBOSE) fprintf (stderr, "found % d overlapping images\n",nmatch);134 if (VERBOSE) fprintf (stderr, "found %lld overlapping images\n", (long long) nmatch); 135 135 136 136 *Nmatch = nmatch; -
trunk/Ohana/src/getstar/src/ReadImageFiles.c
r24418 r27435 2 2 # define DVO_IMAGE_NAME_LEN 128 3 3 4 Image *ReadImageFiles (char *filename, int *Nimages) { 5 6 int i, j, N, Nfile, Nheader, NHEADER, Nimage, NIMAGE; 7 int Nskip, Nhead, Ndata, done, status, mode; 4 Image *ReadImageFiles (char *filename, off_t *Nimages) { 5 6 off_t Nskip, *extsize; 7 int i, j, N, Nfile, Nheader, Nimage, NHEADER, NIMAGE; 8 int Nhead, Ndata, done, status, mode; 8 9 char **file, *name; 9 10 FILE *f; 10 11 glob_t globList; 11 12 char **exthead, **extdata, **exttype, tmpword[80]; 12 int *extnum_head, *extnum_data , *extsize;13 int *extnum_head, *extnum_data; 13 14 Header *header, **headers; 14 15 Image *image; … … 89 90 headers[0] = header; 90 91 Nskip = gfits_data_size (header); 91 fseek (f, Nskip, SEEK_CUR);92 fseeko (f, Nskip, SEEK_CUR); 92 93 93 94 // load all headers into memory … … 118 119 ALLOCATE (extnum_head, int, NIMAGE); 119 120 ALLOCATE (extnum_data, int, NIMAGE); 120 ALLOCATE (extsize, int, Nheader);121 ALLOCATE (extsize, off_t, Nheader); 121 122 122 123 if (mode == MOSAIC_MEF) { … … 130 131 // now examine the headers, count the table entries, find corresponding headers 131 132 for (i = 0; i < Nheader; i++) { 132 extsize[i] = headers[i][0]. size + gfits_data_size (headers[i]);133 extsize[i] = headers[i][0].datasize + gfits_data_size (headers[i]); 133 134 gfits_scan (headers[i], "EXTTYPE", "%s", 1, tmpword); 134 135 … … 166 167 // extension matched to the header in the PHU 167 168 if (Nimage == 0) { 168 extsize[0] = headers[0][0]. size + gfits_data_size (headers[0]);169 extsize[1] = headers[1][0]. size + gfits_data_size (headers[1]);169 extsize[0] = headers[0][0].datasize + gfits_data_size (headers[0]); 170 extsize[1] = headers[1][0].datasize + gfits_data_size (headers[1]); 170 171 gfits_scan (headers[1], "EXTNAME", "%s", 1, tmpword); 171 172 if (!strcmp (tmpword, "SMPFILE")) { -
trunk/Ohana/src/getstar/src/SelectImages.c
r14590 r27435 2 2 3 3 /* given image, find catalog images which overlap it */ 4 int *SelectImages (char *filename, Image *images, int Nimages, int *Nmatch) {4 off_t *SelectImages (char *filename, Image *images, off_t Nimages, off_t *Nmatch) { 5 5 6 int i,Nchar;7 intNMATCH, nmatch, *match;6 int Nchar; 7 off_t i, NMATCH, nmatch, *match; 8 8 9 9 /* matches here are only based on string comparisons */ … … 12 12 nmatch = 0; 13 13 NMATCH = 20; 14 ALLOCATE (match, int, NMATCH);14 ALLOCATE (match, off_t, NMATCH); 15 15 16 16 /* setup links for mosaic WRP and DIS entries */ … … 27 27 if (nmatch == NMATCH) { 28 28 NMATCH += 20; 29 REALLOCATE (match, int, NMATCH);29 REALLOCATE (match, off_t, NMATCH); 30 30 } 31 31 } 32 32 33 if (VERBOSE) fprintf (stderr, "found % d matching images\n",nmatch);33 if (VERBOSE) fprintf (stderr, "found %lld matching images\n", (long long) nmatch); 34 34 35 35 *Nmatch = nmatch; -
trunk/Ohana/src/getstar/src/WriteImages.c
r14590 r27435 2 2 3 3 /* given image, find catalog images which overlap it */ 4 int WriteImages (char *filename, Image *images, int Nimages, int *matches, int Nmatches) {4 int WriteImages (char *filename, Image *images, off_t Nimages, off_t *matches, off_t Nmatches) { 5 5 6 6 int i, N; -
trunk/Ohana/src/getstar/src/dvoImageExtract.c
r14590 r27435 3 3 int main (int argc, char **argv) { 4 4 5 int Nimages, status;6 int Nmatches, *matches;5 off_t Nimages, Nmatches, *matches; 6 int status; 7 7 Image *images; 8 8 FITS_DB db; -
trunk/Ohana/src/getstar/src/dvoImageOverlaps.c
r14590 r27435 3 3 int main (int argc, char **argv) { 4 4 5 int i, Nimages, NdbImages, status; 6 int Nmatches, *matches; 5 off_t NdbImages, Nimages; 6 int status; 7 off_t i, Nmatches, *matches; 7 8 Image *images, *dbImages; 8 9 FITS_DB db; -
trunk/Ohana/src/getstar/src/dvoImagesAtCoords.c
r26288 r27435 12 12 int main (int argc, char **argv) { 13 13 14 int i, Nimages, NdbImages, status;15 int Nmatches, *matches;14 off_t NdbImages; 15 int status; 16 16 Image *dbImages; 17 17 int Npoints; -
trunk/Ohana/src/getstar/src/select_by_region.c
r20266 r27435 156 156 output[0].Nsecf_mem = Nave*Nsecfilt; 157 157 158 fprintf (stderr, "output catalog has % d stars (%d measures, %d secfilt)\n",159 output[0].Naverage,output[0].Nmeasure, output[0].Nsecfilt);158 fprintf (stderr, "output catalog has %lld stars (%lld measures, %d secfilt)\n", 159 (long long) output[0].Naverage, (long long) output[0].Nmeasure, output[0].Nsecfilt); 160 160 return (TRUE); 161 161 } -
trunk/Ohana/src/gophot/src/gophot.c
r20652 r27435 26 26 /* convert to float, set up noise array and axes */ 27 27 gfits_convert_format (&header, &matrix, -32, 1.0, 0.0, 0xffff, 0); 28 ALLOCATE (noise, float, matrix. size);28 ALLOCATE (noise, float, matrix.datasize); 29 29 big = (float *) matrix.buffer; 30 30 nfast = matrix.Naxis[0]; -
trunk/Ohana/src/imclean/src/wfits.c
r7080 r27435 10 10 header[0].Naxes = 0; 11 11 gfits_modify (header, "NAXIS", "%d", 1, 0); 12 gfits_modify (header, "EXTEND", "%t", 1, TRUE);12 gfits_modify_alt (header, "EXTEND", "%t", 1, TRUE); 13 13 gfits_modify (header, "NEXTEND", "%d", 1, 1); 14 14 -
trunk/Ohana/src/imclean/src/wstars.c
r3519 r27435 14 14 } 15 15 16 fwrite (header[0].buffer, 1, header[0]. size, g);16 fwrite (header[0].buffer, 1, header[0].datasize, g); 17 17 18 18 for (i = 0; i < Nstars; i++) { -
trunk/Ohana/src/imregister/base/WriteFIFO.c
r3648 r27435 12 12 } 13 13 14 fseek (f, 0, SEEK_END);14 fseeko (f, 0LL, SEEK_END); 15 15 fprintf (f, "%s\n", line); 16 16 -
trunk/Ohana/src/imregister/detrend/altpath.c
r7080 r27435 2 2 # include "detrend.h" 3 3 4 int SetAltpath (FITS_DB *db, DetReg *image, int Nimage, Match *match, int Nmatch) {4 int SetAltpath (FITS_DB *db, DetReg *image, off_t Nimage, Match *match, off_t Nmatch) { 5 5 6 int i, j, n, found, status, Nlist; 7 int *list, *current; 6 int status, found; 7 off_t i, j, n, Nlist; 8 off_t *list, *current; 8 9 char *dBPath, infile[256], outfile[256], line[1024]; 9 10 struct stat statbuf; 10 11 11 ALLOCATE (current, int, Nimage);12 ALLOCATE (list, int, Nimage);12 ALLOCATE (current, off_t, Nimage); 13 ALLOCATE (list, off_t, Nimage); 13 14 Nlist = 0; 14 15 -
trunk/Ohana/src/imregister/detrend/criteria.c
r3593 r27435 60 60 */ 61 61 62 Match *ExptimeCriteria (DetReg *image, int Nimage, Match *match, int *nmatch) {63 64 int i, j, Nmatch, Nnew, NNEW, entry;62 Match *ExptimeCriteria (DetReg *image, off_t Nimage, Match *match, off_t *nmatch) { 63 64 off_t i, j, Nmatch, Nnew, NNEW, entry; 65 65 unsigned long dtime; 66 66 float Chi, ChiMin; … … 132 132 } 133 133 134 Match *CloseCriteria (DetReg *image, int Nimage, Match *match, int *nmatch) {135 136 int i, j, Nmatch, Nnew, NNEW, Ngood, entry;134 Match *CloseCriteria (DetReg *image, off_t Nimage, Match *match, off_t *nmatch) { 135 136 off_t i, j, Nmatch, Nnew, NNEW, Ngood, entry; 137 137 unsigned long dmin, dtime; 138 138 Match *new; -
trunk/Ohana/src/imregister/detrend/delete.c
r7080 r27435 2 2 # include "detrend.h" 3 3 4 void DeleteSubset (FITS_DB *db, DetReg *image, int Nimage, Match *match, int Nmatch) {4 void DeleteSubset (FITS_DB *db, DetReg *image, off_t Nimage, Match *match, off_t Nmatch) { 5 5 6 int i, j;7 int *keep, Ndel, Nsubset;6 off_t i, j; 7 off_t *keep, Ndel, Nsubset; 8 8 DetReg *subset; 9 9 10 ALLOCATE (keep, int, MAX (Nimage, 1));10 ALLOCATE (keep, off_t, MAX (Nimage, 1)); 11 11 for (i = 0; i < Nimage; i++) keep[i] = TRUE; 12 fprintf (stderr, "total of % d detrend images\n",Nimage);12 fprintf (stderr, "total of %lld detrend images\n", (long long) Nimage); 13 13 14 14 Ndel = 0; … … 20 20 delete_image (&image[i]); 21 21 } 22 fprintf (stderr, "delete % d images\n",Ndel);22 fprintf (stderr, "delete %lld images\n", (long long) Ndel); 23 23 if (Ndel == 0) { 24 24 fprintf (stderr, "SUCCESS\n"); … … 30 30 Nsubset = Nimage - Ndel; 31 31 ALLOCATE (subset, DetReg, MAX (1, Nsubset)); 32 fprintf (stderr, "keeping % d images\n",Nsubset);32 fprintf (stderr, "keeping %lld images\n", (long long) Nsubset); 33 33 for (j = i = 0; i < Nimage; i++) { 34 34 if (!keep[i]) continue; -
trunk/Ohana/src/imregister/detrend/imdef.c
r14590 r27435 43 43 descriptor[0].mode = M_SPLIT; 44 44 Extend = FALSE; 45 gfits_scan (&header, "EXTEND", "%t", 1, &Extend);45 gfits_scan_alt (&header, "EXTEND", "%t", 1, &Extend); 46 46 if (Extend) { 47 47 descriptor[0].mode = M_MEF; -
trunk/Ohana/src/imregister/detrend/match.c
r3593 r27435 2 2 # include "detrend.h" 3 3 4 Match *MatchCriteria (DetReg *image, int Nimage, int *nmatch) {4 Match *MatchCriteria (DetReg *image, off_t Nimage, off_t *nmatch) { 5 5 6 int i;7 int Nmatch, NMATCH;6 off_t i; 7 off_t Nmatch, NMATCH; 8 8 Match result, *match; 9 9 -
trunk/Ohana/src/imregister/detrend/modify.c
r7080 r27435 2 2 # include "detrend.h" 3 3 4 int ModifySubset (FITS_DB *db, DetReg *image, int Nimage, Match *match, int Nmatch) {4 int ModifySubset (FITS_DB *db, DetReg *image, off_t Nimage, Match *match, off_t Nmatch) { 5 5 6 int i, j, value;7 int *list;6 off_t i, j, value; 7 off_t *list; 8 8 9 9 value = M_UNDEF; 10 10 11 ALLOCATE (list, int, Nimage);11 ALLOCATE (list, off_t, Nimage); 12 12 if (!strcasecmp (output.ModifyEntry, "mode")) { 13 13 value = get_image_mode (output.ModifyValue); -
trunk/Ohana/src/imregister/detrend/output.c
r14590 r27435 5 5 extern double drand48(); 6 6 7 int OutputSubset (DetReg *image, int Nimage, Match *match, int Nmatch) {7 int OutputSubset (DetReg *image, off_t Nimage, Match *match, off_t Nmatch) { 8 8 9 9 if (output.table != (char *) NULL) { … … 19 19 20 20 /* write out complete binary FITS table in format of db */ 21 int DumpFitsBintable (char *filename, DetReg *image, Match *match, int Nmatch) {22 23 int i, j;21 int DumpFitsBintable (char *filename, DetReg *image, Match *match, off_t Nmatch) { 22 23 off_t i, j; 24 24 FILE *f; 25 25 Header header; … … 60 60 } 61 61 62 int DumpFitsTable (char *filename, DetReg *detdata, Match *match, int Nmatch) {62 int DumpFitsTable (char *filename, DetReg *detdata, Match *match, off_t Nmatch) { 63 63 64 64 Header header, theader; … … 69 69 char *startstr, *stopstr, *regstr, *line, key[33], ccdinfo[16]; 70 70 char *filtstr, *typestr, *modestr, *ccdstr, *datestr, *p; 71 int i;71 off_t i; 72 72 time_t tsecond; 73 73 … … 191 191 192 192 /* Select, TimeMode are global */ 193 int PrintSubset (DetReg *detdata, Match *match, int Nmatch) {193 int PrintSubset (DetReg *detdata, Match *match, off_t Nmatch) { 194 194 195 195 char *dBPath, *Path, *typestr, *filtstr, filename[128]; 196 196 char *timestr, *modestr, *ccdstr, ccdinfo[16], ccdformat[16]; 197 int i, j, Nc; 197 off_t i, j; 198 int Nc; 198 199 struct timeval now; 199 200 long A; -
trunk/Ohana/src/imregister/detrend/select.c
r3606 r27435 2 2 # include "detrend.h" 3 3 4 Match SelectEntry (DetReg *image, int Nimage, Match *list, int Nlist, Criteria *crit) {4 Match SelectEntry (DetReg *image, off_t Nimage, Match *list, off_t Nlist, Criteria *crit) { 5 5 6 6 /* force a single selection */ … … 15 15 */ 16 16 17 int i, j, entry, order, matchnum;18 int nmatch, Nmatch;17 off_t i, j, entry, order, matchnum; 18 off_t nmatch, Nmatch; 19 19 unsigned int tstart; 20 20 Match *match, *tmatch, answer; -
trunk/Ohana/src/imregister/detrend/unique.c
r3606 r27435 3 3 4 4 /* define a list of best images which have unique properties */ 5 Match *UniqueSubset (DetReg *image, int Nimage, Match *match, int *nmatch) {5 Match *UniqueSubset (DetReg *image, off_t Nimage, Match *match, off_t *nmatch) { 6 6 7 int Nsubset, Nunique, Ncrit, NCRIT; 8 int i, j, N, Nmatch, found; 7 int found; 8 off_t Nsubset, Nunique, Ncrit, NCRIT; 9 off_t i, j, N, Nmatch; 9 10 Criteria *crit; 10 11 Match *subset, *unique, *local; -
trunk/Ohana/src/imregister/imphot/dumpfits.c
r14590 r27435 3 3 4 4 /* write out complete binary FITS table in format of db */ 5 int DumpFitsBintable (char *filename, Image *image, int *match, int Nmatch) {5 int DumpFitsBintable (char *filename, Image *image, off_t *match, off_t Nmatch) { 6 6 7 int i, j;7 off_t i, j; 8 8 FILE *f; 9 9 Header header; … … 44 44 } 45 45 46 int DumpFitsTable (char *filename, Image *image, int *match, int Nmatch) {46 int DumpFitsTable (char *filename, Image *image, off_t *match, off_t Nmatch) { 47 47 48 48 Header header; … … 53 53 FILE *f; 54 54 char *startstr, *filtstr, *datestr, *line; 55 int i;55 off_t i; 56 56 double zp, dzp, ra, dec, airmass, sky; 57 57 time_t tsecond; -
trunk/Ohana/src/imregister/imphot/modify.c
r21508 r27435 2 2 # include "imphot.h" 3 3 4 void ModifySubset (FITS_DB *db, Image *image, int Nimage, int *match, int Nmatch) {4 void ModifySubset (FITS_DB *db, Image *image, off_t Nimage, off_t *match, off_t Nmatch) { 5 5 6 int i, j;6 off_t i, j; 7 7 8 8 /* modify the selected entries */ -
trunk/Ohana/src/imregister/imphot/output.c
r21508 r27435 2 2 # include "imphot.h" 3 3 4 int output (Image *image, int *match, int Nmatch) {4 int output (Image *image, off_t *match, off_t Nmatch) { 5 5 6 6 int status; … … 22 22 } 23 23 24 int PrintSubset (Image *image, int *match, int Nmatch) {24 int PrintSubset (Image *image, off_t *match, off_t Nmatch) { 25 25 26 int i, j;26 off_t i, j; 27 27 char *timestr, *photstr; 28 28 static char PhotError[] = "unknown"; -
trunk/Ohana/src/imregister/imphot/rtext.c
r15487 r27435 4 4 int rtext (FITS_DB *db) { 5 5 6 int Nimage, size, nimage;6 off_t Nimage, size, nimage; 7 7 struct stat filestatus; 8 8 Image *image; … … 10 10 /* check that file size makes sense */ 11 11 Nimage = 0; 12 gfits_scan (&db[0].header, "NIMAGES", "% d", 1,&Nimage);12 gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimage); 13 13 if (stat (db[0].filename, &filestatus) == -1) { 14 14 if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n"); 15 15 exit (1); 16 16 } 17 size = Nimage*sizeof(Image) + db[0].header. size;17 size = Nimage*sizeof(Image) + db[0].header.datasize; 18 18 if (size != filestatus.st_size) { 19 19 int Ndata; 20 20 21 Ndata = (filestatus.st_size - db[0].header. size) / sizeof (Image);21 Ndata = (filestatus.st_size - db[0].header.datasize) / sizeof (Image); 22 22 if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n"); 23 if (VERBOSE) fprintf (stderr, "header: % d, data: %d\n",Nimage, Ndata);23 if (VERBOSE) fprintf (stderr, "header: %lld, data: %d\n", (long long) Nimage, Ndata); 24 24 if (!FORCE_READ) exit (1); 25 25 Nimage = Ndata; … … 41 41 } 42 42 db[0].ftable.buffer = (char *) image; 43 gfits_modify (&db[0].theader, "NAXIS2", "% d", 1,Nimage);43 gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Nimage); 44 44 db[0].theader.Naxis[1] = Nimage; 45 db[0].ftable. size = gfits_data_size (&db[0].theader);45 db[0].ftable.datasize = gfits_data_size (&db[0].theader); 46 46 47 47 return (TRUE); -
trunk/Ohana/src/imregister/imphot/subset.c
r21508 r27435 2 2 # include "imphot.h" 3 3 4 int *subset (Image *image, int Nimage, int *nsubset) {4 off_t *subset (Image *image, off_t Nimage, off_t *nsubset) { 5 5 6 int i, j, status;7 int Nsubset, NameSelectLength;8 int *index;6 off_t i, j, status; 7 off_t Nsubset, NameSelectLength; 8 off_t *index; 9 9 10 10 NameSelectLength = 0; … … 12 12 /* allocate space for reference lists */ 13 13 Nsubset = 0; 14 ALLOCATE (index, int, Nimage);14 ALLOCATE (index, off_t, Nimage); 15 15 16 16 if (criteria.NameSelect) { -
trunk/Ohana/src/imregister/imreg/cadc.c
r16040 r27435 4 4 static int REFCCD; 5 5 6 void DumpCADCTable (char *filename, RegImage *image, int *match, int Nmatch) {7 8 int i, Obsid, Nobsid, Nsubset, ref;6 void DumpCADCTable (char *filename, RegImage *image, off_t *match, off_t Nmatch) { 7 8 off_t i, Obsid, Nobsid, Nsubset, ref; 9 9 char *datestr, *line, hdrname[99]; 10 10 time_t tsecond; … … 13 13 FTable table; 14 14 RegImage *row; 15 int *index, *entry, *obsid;15 off_t *index, *entry, *obsid; 16 16 MosaicLayout *layout; 17 int *subset;17 off_t *subset; 18 18 double left, right, center, outer, top, bottom; 19 19 double iqx, iqy, iqr, iqf, iqo; … … 127 127 } 128 128 129 int *GetObsIDSubset (RegImage *image, int start, int *index, int *entry, int Nindex, int *Nsubset) {130 131 int i, N, NSUBSET;132 int *subset;129 off_t *GetObsIDSubset (RegImage *image, off_t start, off_t *index, off_t *entry, off_t Nindex, off_t *Nsubset) { 130 131 off_t i, N, NSUBSET; 132 off_t *subset; 133 133 134 134 /* create output index */ 135 135 N = 0; 136 136 NSUBSET = 64; 137 ALLOCATE (subset, int, NSUBSET);137 ALLOCATE (subset, off_t, NSUBSET); 138 138 139 139 /* find unique sequences */ … … 143 143 if (N == NSUBSET) { 144 144 NSUBSET += 64; 145 REALLOCATE (subset, int, NSUBSET);145 REALLOCATE (subset, off_t, NSUBSET); 146 146 } 147 147 } … … 152 152 153 153 /* return an index list of unique obs id entries at start of sequence */ 154 int *GetUniqueObsID (RegImage *image, int *index, int *entry, int Nindex, int *Nmatch) {155 156 int i, j, N, NMATCH;157 int *match;154 off_t *GetUniqueObsID (RegImage *image, off_t *index, off_t *entry, off_t Nindex, off_t *Nmatch) { 155 156 off_t i, j, N, NMATCH; 157 off_t *match; 158 158 159 159 /* create output index */ 160 160 N = 0; 161 161 NMATCH = 1000; 162 ALLOCATE (match, int, NMATCH);162 ALLOCATE (match, off_t, NMATCH); 163 163 164 164 /* find unique sequences */ … … 171 171 if (N == NMATCH) { 172 172 NMATCH += 1000; 173 REALLOCATE (match, int, NMATCH);173 REALLOCATE (match, off_t, NMATCH); 174 174 } 175 175 … … 182 182 183 183 /* return seeing for ccd == REFCCD */ 184 int GetREFCCD (RegImage *image, int *index, int *entry, int Nindex, int start) {185 186 int i, N, NMATCH;187 int *match;184 off_t GetREFCCD (RegImage *image, off_t *index, off_t *entry, off_t Nindex, off_t start) { 185 186 off_t i, N, NMATCH; 187 off_t *match; 188 188 189 189 /* create output index */ 190 190 N = 0; 191 191 NMATCH = 1000; 192 ALLOCATE (match, int, NMATCH);192 ALLOCATE (match, off_t, NMATCH); 193 193 194 194 /* find unique sequences */ … … 199 199 } 200 200 201 void GetObsIDIndex (RegImage *image, int *match, int Nmatch, int **Index, int **Entry) {202 203 int i;204 int *index, *entry;201 void GetObsIDIndex (RegImage *image, off_t *match, off_t Nmatch, off_t **Index, off_t **Entry) { 202 203 off_t i; 204 off_t *index, *entry; 205 205 206 206 /* index = OBSID */ 207 ALLOCATE (index, int, Nmatch);208 ALLOCATE (entry, int, Nmatch);207 ALLOCATE (index, off_t, Nmatch); 208 ALLOCATE (entry, off_t, Nmatch); 209 209 for (i = 0; i < Nmatch; i++) { 210 210 index[i] = atoi (image[match[i]].filename); … … 212 212 entry[i] = match[i]; 213 213 } 214 isortpair (index, entry, Nmatch);214 llsortpair (index, entry, Nmatch); 215 215 *Index = index; 216 216 *Entry = entry; … … 218 218 219 219 /* match is a list of image entries with the same obsid */ 220 double MosaicIQStats (RegImage *image, int *match, int Nmatch, MosaicRegion *region) { 221 222 int i, j, N, Nccd; 220 double MosaicIQStats (RegImage *image, off_t *match, off_t Nmatch, MosaicRegion *region) { 221 222 int i, N, Nccd; 223 off_t j; 223 224 double *list, value; 224 225 -
trunk/Ohana/src/imregister/imreg/delete.c
r7080 r27435 2 2 # include "imreg.h" 3 3 4 void DeleteSubset (FITS_DB *db, RegImage *image, int Nimage, int *match, int Nmatch) {4 void DeleteSubset (FITS_DB *db, RegImage *image, off_t Nimage, off_t *match, off_t Nmatch) { 5 5 6 int i, j;7 int *keep, Ndel, Nsubset;6 off_t i, j; 7 off_t *keep, Ndel, Nsubset; 8 8 RegImage *subset; 9 9 10 ALLOCATE (keep, int, MAX (Nimage, 1));10 ALLOCATE (keep, off_t, MAX (Nimage, 1)); 11 11 for (i = 0; i < Nimage; i++) keep[i] = TRUE; 12 fprintf (stderr, "total of % d images\n",Nimage);12 fprintf (stderr, "total of %lld images\n", (long long) Nimage); 13 13 14 14 Ndel = 0; … … 19 19 Ndel ++; 20 20 } 21 fprintf (stderr, "delete % d images\n",Ndel);21 fprintf (stderr, "delete %lld images\n", (long long) Ndel); 22 22 if (Ndel == 0) { 23 23 fprintf (stderr, "SUCCESS\n"); … … 29 29 Nsubset = Nimage - Ndel; 30 30 ALLOCATE (subset, RegImage, MAX (1, Nsubset)); 31 fprintf (stderr, "keeping % d images\n",Nsubset);31 fprintf (stderr, "keeping %lld images\n", (long long) Nsubset); 32 32 for (j = i = 0; i < Nimage; i++) { 33 33 if (!keep[i]) continue; -
trunk/Ohana/src/imregister/imreg/iminfo.c
r14590 r27435 42 42 43 43 /* determine data layout (SINGLE, SPLIT, MEF, CUBE, SLICE) */ 44 gfits_scan (&header, "EXTEND", "%t", 1, &extend);44 gfits_scan_alt (&header, "EXTEND", "%t", 1, &extend); 45 45 gfits_scan (&header, "NAXIS", "%d", 1, &Naxes); 46 46 if (extend) { /* MEF file */ … … 68 68 69 69 /* extract other relevant data from header */ 70 gfits_scan (&header, ImagetypeKeyword, "%s", 1, &Imagetype);70 gfits_scan (&header, ImagetypeKeyword, "%s", 1, (char *)&Imagetype); 71 71 72 72 /* grab the image type : if not defined, set to 'none' */ … … 108 108 ohana_dms_to_ddd (&tmp, line); 109 109 image[0].ra = 15*tmp; 110 gfits_scan (&header, DECSexigKeyword, "%s", 1, &line);110 gfits_scan (&header, DECSexigKeyword, "%s", 1, (char *)&line); 111 111 ohana_dms_to_ddd (&tmp, line); 112 112 image[0].dec = tmp; -
trunk/Ohana/src/imregister/imreg/match.c
r3606 r27435 2 2 # include "imreg.h" 3 3 4 int *match_criteria (RegImage *image, int Nimage, int *Nmatch) {4 off_t *match_criteria (RegImage *image, off_t Nimage, off_t *Nmatch) { 5 5 6 int i, j, Nname;7 int N, NMATCH;8 int *match;9 int reject;6 off_t i, j, Nname; 7 off_t N, NMATCH; 8 off_t *match; 9 off_t reject; 10 10 11 11 /* create selection index */ 12 12 N = 0; 13 13 NMATCH = 1000; 14 ALLOCATE (match, int, NMATCH);14 ALLOCATE (match, off_t, NMATCH); 15 15 16 16 Nname = 0; … … 36 36 if (N == NMATCH) { 37 37 NMATCH += 1000; 38 REALLOCATE (match, int, NMATCH);38 REALLOCATE (match, off_t, NMATCH); 39 39 } 40 40 } … … 43 43 } 44 44 45 int *match_images (RegImage *image, int Nimage, RegImage *subset, int Nsubset, int *Nmatch) {45 off_t *match_images (RegImage *image, off_t Nimage, RegImage *subset, off_t Nsubset, off_t *Nmatch) { 46 46 47 int i, j, N, Nfound;48 int *match;47 off_t i, j, N, Nfound; 48 off_t *match; 49 49 50 50 /* find matching images - very inefficient : sort by obstime, find those first? */ 51 ALLOCATE (match, int, Nsubset);51 ALLOCATE (match, off_t, Nsubset); 52 52 for (j = 0; j < Nsubset; j++) { 53 53 match[j] = -1; -
trunk/Ohana/src/imregister/imreg/modify.c
r7080 r27435 2 2 # include "imreg.h" 3 3 4 void ModifySubset (FITS_DB *db, RegImage *image, int Nimage, int *match, int Nmatch) {4 void ModifySubset (FITS_DB *db, RegImage *image, off_t Nimage, off_t *match, off_t Nmatch) { 5 5 6 int i, j, Nold;6 off_t i, j, Nold; 7 7 char *tmppath; 8 8 char *ext, *root, *path, dist; -
trunk/Ohana/src/imregister/imreg/newimages.c
r3606 r27435 2 2 # include "imreg.h" 3 3 4 RegImage *newimages (RegImage *image, int *Nimage) {4 RegImage *newimages (RegImage *image, off_t *Nimage) { 5 5 6 int i, Nnew;6 off_t i, Nnew; 7 7 RegImage *regimage; 8 8 -
trunk/Ohana/src/imregister/imreg/output.c
r14590 r27435 24 24 25 25 /* given a subset list, write out the selected images, if desired */ 26 void OutputSubset (RegImage *image, int Nimage, int *match, int Nmatch) {26 void OutputSubset (RegImage *image, off_t Nimage, off_t *match, off_t Nmatch) { 27 27 28 28 if (output.table != (char *) NULL) { … … 45 45 46 46 /* write out complete binary FITS table in format of db */ 47 void DumpFitsBintable (char *filename, RegImage *image, int *match, int Nmatch) {48 49 int i, j;47 void DumpFitsBintable (char *filename, RegImage *image, off_t *match, off_t Nmatch) { 48 49 off_t i, j; 50 50 FILE *f; 51 51 Header header; … … 87 87 } 88 88 89 void DumpFitsTable (char *filename, RegImage *image, int *match, int Nmatch) {90 91 int i;89 void DumpFitsTable (char *filename, RegImage *image, off_t *match, off_t Nmatch) { 90 91 off_t i; 92 92 char *obsstr, *regstr, *line, dummy[64]; 93 93 char *modestr, *typestr, *ccdstr, *datestr; … … 184 184 185 185 /* Select, TimeMode are global */ 186 int PrintSubset (RegImage *image, int *match, int Nmatch) {186 int PrintSubset (RegImage *image, off_t *match, off_t Nmatch) { 187 187 188 188 char ccdstr[64]; 189 int i, j;189 off_t i, j; 190 190 char *modestr, *typestr, *timestr, *root, *path; 191 191 … … 227 227 } else { 228 228 /* this is somewhat poor: I have predefined a subset of value, and I can't guarantee that 'filter' has no spaces */ 229 fprintf (stdout, "%5 d %6s %6s %s ",i, typestr, modestr, ccdstr);229 fprintf (stdout, "%5lld %6s %6s %s ", (long long) i, typestr, modestr, ccdstr); 230 230 fprintf (stdout, "%s %s ", image[i].pathname, image[i].filename); 231 231 fprintf (stdout, "%s %f %s %f %f %f\n", image[i].filter, image[i].exptime, … … 238 238 } 239 239 240 int dump_data (RegImage *image, int Nimage) {241 242 int i;240 int dump_data (RegImage *image, off_t Nimage) { 241 242 off_t i; 243 243 244 244 for (i = 0; i < Nimage; i++) { -
trunk/Ohana/src/imregister/imreg/unique.c
r16045 r27435 2 2 # include "imreg.h" 3 3 4 void sortstr (char **S, int *X, int N) {4 void sortstr (char **S, off_t *X, off_t N) { 5 5 6 6 # define SWAPFUNC(A,B){ \ 7 char *tmp = S[A]; S[A] = S[B]; S[B] = tmp; \8 intitmp = X[A]; X[A] = X[B]; X[B] = itmp; \7 char *tmp = S[A]; S[A] = S[B]; S[B] = tmp; \ 8 off_t itmp = X[A]; X[A] = X[B]; X[B] = itmp; \ 9 9 } 10 10 # define COMPARE(A,B)(strcmp(S[A], S[B]) < 0) … … 18 18 19 19 /* input is a subset index of image list, output is a new subset */ 20 int *unique_entries (RegImage *image, int Nimage, int *subset, int *Nmatch) {20 off_t *unique_entries (RegImage *image, off_t Nimage, off_t *subset, off_t *Nmatch) { 21 21 22 int i, j, k, m, Nsubset;23 int N, NMATCH;24 int *match, *entry;22 off_t i, j, k, m, Nsubset; 23 off_t N, NMATCH; 24 off_t *match, *entry; 25 25 char idxline[128]; 26 26 char **index; … … 31 31 N = 0; 32 32 NMATCH = 1000; 33 ALLOCATE (match, int, NMATCH);33 ALLOCATE (match, off_t, NMATCH); 34 34 35 35 Nsubset = *Nmatch; … … 37 37 /* index = filename.ccd */ 38 38 ALLOCATE (index, char *, Nsubset); 39 ALLOCATE (entry, int, Nsubset);39 ALLOCATE (entry, off_t, Nsubset); 40 40 for (i = 0; i < Nsubset; i++) { 41 41 sprintf (idxline, "%s.%02d", image[subset[i]].filename, image[subset[i]].ccd); … … 63 63 if (N == NMATCH) { 64 64 NMATCH += 1000; 65 REALLOCATE (match, int, NMATCH);65 REALLOCATE (match, off_t, NMATCH); 66 66 } 67 67 -
trunk/Ohana/src/imregister/include/detrend.h
r21153 r27435 82 82 char **LoadRecipe (char *filter, int *nrecipe); 83 83 84 Match *MatchCriteria (DetReg *image, int Nimage, int *nmatch);85 Match *UniqueSubset (DetReg *image, int Nimage, Match *match, int *nmatch);86 Match *ExptimeCriteria (DetReg *image, int Nimage, Match *match, int *nmatch);87 Match *CloseCriteria (DetReg *image, int Nimage, Match *match, int *nmatch);84 Match *MatchCriteria (DetReg *image, off_t Nimage, off_t *nmatch); 85 Match *UniqueSubset (DetReg *image, off_t Nimage, Match *match, off_t *nmatch); 86 Match *ExptimeCriteria (DetReg *image, off_t Nimage, Match *match, off_t *nmatch); 87 Match *CloseCriteria (DetReg *image, off_t Nimage, Match *match, off_t *nmatch); 88 88 89 89 Match CheckCriteria (DetReg *image); 90 90 91 int OutputSubset (DetReg *image, int Nimage, Match *match, int Nmatch);92 int DumpFitsTable (char *filename, DetReg *detdata, Match *match, int Nmatch);93 int PrintSubset (DetReg *detdata, Match *match, int Nmatch);94 Match SelectEntry (DetReg *image, int Nimage, Match *list, int Nlist, Criteria *crit);91 int OutputSubset (DetReg *image, off_t Nimage, Match *match, off_t Nmatch); 92 int DumpFitsTable (char *filename, DetReg *detdata, Match *match, off_t Nmatch); 93 int PrintSubset (DetReg *detdata, Match *match, off_t Nmatch); 94 Match SelectEntry (DetReg *image, off_t Nimage, Match *list, off_t Nlist, Criteria *crit); 95 95 96 96 int usage (void); … … 101 101 102 102 int escape (int mode, char *message); 103 int DumpFitsBintable (char *filename, DetReg *image, Match *match, int Nmatch);103 int DumpFitsBintable (char *filename, DetReg *image, Match *match, off_t Nmatch); 104 104 int cmp_crit (Criteria *crit, DetReg *image); 105 105 int set_crit (Criteria *crit, DetReg *image); … … 107 107 int PrintCriteria (void); 108 108 109 int SetAltpath (FITS_DB *db, DetReg *image, int Nimage, Match *match, int Nmatch);110 int ModifySubset (FITS_DB *db, DetReg *image, int Nimage, Match *match, int Nmatch);111 void DeleteSubset (FITS_DB *db, DetReg *image, int Nimage, Match *match, int Nmatch);109 int SetAltpath (FITS_DB *db, DetReg *image, off_t Nimage, Match *match, off_t Nmatch); 110 int ModifySubset (FITS_DB *db, DetReg *image, off_t Nimage, Match *match, off_t Nmatch); 111 void DeleteSubset (FITS_DB *db, DetReg *image, off_t Nimage, Match *match, off_t Nmatch); -
trunk/Ohana/src/imregister/include/imphot.h
r12332 r27435 20 20 int db_load (FITS_DB *db); 21 21 int args (int argc, char **argv); 22 int DumpFitsBintable (char *filename, Image *image, int *match, int Nmatch);23 int DumpFitsTable (char *filename, Image *image, int *match, int Nmatch);24 void ModifySubset (FITS_DB *db, Image *image, int Nimage, int *match, int Nmatch);25 int PrintSubset (Image *image, int *match, int Nmatch);26 int output (Image *image, int *match, int Nmatch);22 int DumpFitsBintable (char *filename, Image *image, off_t *match, off_t Nmatch); 23 int DumpFitsTable (char *filename, Image *image, off_t *match, off_t Nmatch); 24 void ModifySubset (FITS_DB *db, Image *image, off_t Nimage, off_t *match, off_t Nmatch); 25 int PrintSubset (Image *image, off_t *match, off_t Nmatch); 26 int output (Image *image, off_t *match, off_t Nmatch); 27 27 int rfits (FITS_DB *db); 28 28 int rtext (FITS_DB *db); 29 int *subset (Image *image, int Nimage, int *nsubset);29 off_t *subset (Image *image, off_t Nimage, off_t *nsubset); -
trunk/Ohana/src/imregister/include/imreg.h
r21153 r27435 74 74 int args (int argc, char **argv); 75 75 76 void DeleteSubset (FITS_DB *db, RegImage *image, int Nimage, int *match, int Nmatch);76 void DeleteSubset (FITS_DB *db, RegImage *image, off_t Nimage, off_t *match, off_t Nmatch); 77 77 RegImage *iminfo (char *filename); 78 78 79 int *match_criteria (RegImage *image, int Nimage, int *Nmatch);80 int *match_images (RegImage *image, int Nimage, RegImage *subset, int Nsubset, int *Nmatch);79 off_t *match_criteria (RegImage *image, off_t Nimage, off_t *Nmatch); 80 off_t *match_images (RegImage *image, off_t Nimage, RegImage *subset, off_t Nsubset, off_t *Nmatch); 81 81 82 RegImage *newimages (RegImage *image, int *Nimage);82 RegImage *newimages (RegImage *image, off_t *Nimage); 83 83 84 void ModifySubset (FITS_DB *db, RegImage *image, int Nimage, int *match, int Nmatch);84 void ModifySubset (FITS_DB *db, RegImage *image, off_t Nimage, off_t *match, off_t Nmatch); 85 85 void SetOutputMode (char *mode); 86 void OutputSubset (RegImage *image, int Nimage, int *match, int Nmatch);87 void DumpFitsBintable (char *filename, RegImage *image, int *match, int Nmatch);88 void DumpFitsTable (char *filename, RegImage *image, int *match, int Nmatch);89 int PrintSubset (RegImage *image, int *match, int Nmatch);90 int dump_data (RegImage *image, int Nimage);86 void OutputSubset (RegImage *image, off_t Nimage, off_t *match, off_t Nmatch); 87 void DumpFitsBintable (char *filename, RegImage *image, off_t *match, off_t Nmatch); 88 void DumpFitsTable (char *filename, RegImage *image, off_t *match, off_t Nmatch); 89 int PrintSubset (RegImage *image, off_t *match, off_t Nmatch); 90 int dump_data (RegImage *image, off_t Nimage); 91 91 int SubmitImages (RegImage *image); 92 92 int load_probes (char *filename, unsigned long tzero, int *wantprobe, double *values, int Nprobe); … … 94 94 void set_timezone (double dt); 95 95 96 void DumpCADCTable (char *filename, RegImage *image, int *match, int Nmatch);97 int *GetObsIDSubset (RegImage *image, int start, int *index, int *entry, int Nindex, int *Nsubset);98 int *GetUniqueObsID (RegImage *image, int *index, int *entry, int Nindex, int *Nmatch);99 void GetObsIDIndex (RegImage *image, int *match, int Nmatch, int **Index, int **Entry);96 void DumpCADCTable (char *filename, RegImage *image, off_t *match, off_t Nmatch); 97 off_t *GetObsIDSubset (RegImage *image, off_t start, off_t *index, off_t *entry, off_t Nindex, off_t *Nsubset); 98 off_t *GetUniqueObsID (RegImage *image, off_t *index, off_t *entry, off_t Nindex, off_t *Nmatch); 99 void GetObsIDIndex (RegImage *image, off_t *match, off_t Nmatch, off_t **Index, off_t **Entry); 100 100 double SigmaClipList (double *list, int N); 101 double MosaicIQStats (RegImage *image, int *match, int Nmatch, MosaicRegion *region);101 double MosaicIQStats (RegImage *image, off_t *match, off_t Nmatch, MosaicRegion *region); 102 102 MosaicLayout *CreateCFH12K (void); 103 103 MosaicLayout *CreateMegaCam (void); 104 int GetREFCCD (RegImage *image, int *index, int *entry, int Nindex, int start);104 off_t GetREFCCD (RegImage *image, off_t *index, off_t *entry, off_t Nindex, off_t start); 105 105 106 106 int imregclient (char *fitsfile, char *statfile, char *datfile); … … 128 128 int memstr (char *m1, char *m2, int n); 129 129 130 int *unique_entries (RegImage *image, int Nimage, int *subset, int *Nmatch);130 off_t *unique_entries (RegImage *image, off_t Nimage, off_t *subset, off_t *Nmatch); -
trunk/Ohana/src/imregister/include/imregister.h
r21153 r27435 73 73 74 74 int parse_time (Header *header); 75 void sort (float *value, int N); 76 void dsort (double *value, int N); 77 void sortstr (char **S, int *X, int N); 78 void sortpair (int *X, int *Y, int N); 75 void sortstr (char **S, off_t *X, off_t N); 79 76 80 77 void ConfigCamera (void); … … 92 89 93 90 void warn_scan (Header *header, char *field, char *format, int N, void *var); 94 int gfits_scan_nchar (Header *header, int size, char *field, int N,...) ;91 int gfits_scan_nchar (Header *header, int size, char *field, int N,...) OHANA_FORMAT(scanf, 3, 5); 95 92 void warn_scan_nchar (Header *header, int size, char *field, int N, void *var); 96 93 -
trunk/Ohana/src/imregister/include/photreg.h
r12332 r27435 29 29 int regargs (int argc, char **argv, PhotPars *); 30 30 31 void DeleteSubset (FITS_DB *db, PhotPars *photpars, int Nphotpars, int *match, int Nmatch);32 int *match_criteria (PhotPars *photpars, int Nphotpars, int *Nmatch);31 void DeleteSubset (FITS_DB *db, PhotPars *photpars, off_t Nphotpars, off_t *match, off_t Nmatch); 32 off_t *match_criteria (PhotPars *photpars, off_t Nphotpars, off_t *Nmatch); 33 33 34 void OutputSubset (PhotPars *photpars, int Nphotpars, int *match, int Nmatch);34 void OutputSubset (PhotPars *photpars, off_t Nphotpars, off_t *match, off_t Nmatch); 35 35 36 void DumpFitsBintable (char *filename, PhotPars *image, int *match, int Nmatch);37 void DumpFitsTable (char *filename, PhotPars *image, int *match, int Nmatch);38 int PrintSubset (PhotPars *image, int *match, int Nmatch);36 void DumpFitsBintable (char *filename, PhotPars *image, off_t *match, off_t Nmatch); 37 void DumpFitsTable (char *filename, PhotPars *image, off_t *match, off_t Nmatch); 38 int PrintSubset (PhotPars *image, off_t *match, off_t Nmatch); 39 39 40 40 void set_timezone (double dt); … … 42 42 int escape (int mode, char *message); 43 43 44 PhotPars *PhotParsOld_to_PhotPars (PhotParsOld *input, int Nphotpars);44 PhotPars *PhotParsOld_to_PhotPars (PhotParsOld *input, off_t Nphotpars); 45 45 -
trunk/Ohana/src/imregister/include/spreg.h
r12332 r27435 78 78 char TelescopeKeyword[64]; 79 79 80 int args (int argc, char **argv); 81 off_t *match_criteria (Spectrum *spectrum, off_t Nspectrum, off_t *Nmatch); 82 off_t *unique_entries (Spectrum *spectrum, off_t Nspectrum, off_t *subset, off_t *Nmatch); 80 83 81 int args (int argc, char **argv); 82 int *match_criteria (Spectrum *spectrum, int Nspectrum, int *Nmatch); 83 int *unique_entries (Spectrum *spectrum, int Nspectrum, int *subset, int *Nmatch); 84 85 void ModifySubset (FITS_DB *db, Spectrum *spectrum, int Nspectrum, int *match, int Nmatch); 86 void DeleteSubset (FITS_DB *db, Spectrum *spectrum, int Nspectrum, int *match, int Nmatch); 87 void OutputSubset (Spectrum *spectrum, int Nspectrum, int *match, int Nmatch); 84 void ModifySubset (FITS_DB *db, Spectrum *spectrum, off_t Nspectrum, off_t *match, off_t Nmatch); 85 void DeleteSubset (FITS_DB *db, Spectrum *spectrum, off_t Nspectrum, off_t *match, off_t Nmatch); 86 void OutputSubset (Spectrum *spectrum, off_t Nspectrum, off_t *match, off_t Nmatch); 88 87 89 88 void SetOutputMode (char *mode); 90 void DumpFitsBintable (char *filename, Spectrum *spectrum, int *match, int Nmatch);91 void DumpFitsTable (char *filename, Spectrum *spectrum, int *match, int Nmatch);92 int PrintSubset (Spectrum *spectrum, int *match, int Nmatch);93 int dump_data (Spectrum *spectrum, int Nspectrum);89 void DumpFitsBintable (char *filename, Spectrum *spectrum, off_t *match, off_t Nmatch); 90 void DumpFitsTable (char *filename, Spectrum *spectrum, off_t *match, off_t Nmatch); 91 int PrintSubset (Spectrum *spectrum, off_t *match, off_t Nmatch); 92 int dump_data (Spectrum *spectrum, off_t Nspectrum); 94 93 95 94 Spectrum *spinfo (char *filename); 96 int *match_spectrums (Spectrum *subset, int Nsubset, int *Nmatch);95 off_t *match_spectrums (Spectrum *subset, off_t Nsubset, off_t *Nmatch); 97 96 int SubmitSpectrums (Spectrum *spectrum); 98 97 void set_timezone (double dt); … … 100 99 void showinfo (Spectrum *spec); 101 100 int escape (int mode, char *message); 102 int set_spectra (Spectrum *new, int Nnew);103 Spectrum *get_spectra ( int *N);101 int set_spectra (Spectrum *new, off_t Nnew); 102 Spectrum *get_spectra (off_t *N); 104 103 105 104 void ConfigInitSpec (int *argc, char **argv); -
trunk/Ohana/src/imregister/photreg/convert.c
r3536 r27435 2 2 # include "photreg.h" 3 3 4 PhotPars *PhotParsOld_to_PhotPars (PhotParsOld *input, int Nphotpars) {4 PhotPars *PhotParsOld_to_PhotPars (PhotParsOld *input, off_t Nphotpars) { 5 5 6 int i;6 off_t i; 7 7 PhotPars *output; 8 8 -
trunk/Ohana/src/imregister/photreg/delete.c
r7080 r27435 2 2 # include "photreg.h" 3 3 4 void DeleteSubset (FITS_DB *db, PhotPars *photdata, int Nphotdata, int *match, int Nmatch) {4 void DeleteSubset (FITS_DB *db, PhotPars *photdata, off_t Nphotdata, off_t *match, off_t Nmatch) { 5 5 6 int i, j;7 int *keep, Ndel, Nsubset;6 off_t i, j; 7 off_t *keep, Ndel, Nsubset; 8 8 PhotPars *subset; 9 9 10 ALLOCATE (keep, int, MAX (Nphotdata, 1));10 ALLOCATE (keep, off_t, MAX (Nphotdata, 1)); 11 11 for (i = 0; i < Nphotdata; i++) keep[i] = TRUE; 12 fprintf (stderr, "total of % d photdata\n",Nphotdata);12 fprintf (stderr, "total of %lld photdata\n", (long long) Nphotdata); 13 13 14 14 Ndel = 0; … … 19 19 Ndel ++; 20 20 } 21 fprintf (stderr, "delete % d photdata\n",Ndel);21 fprintf (stderr, "delete %lld photdata\n", (long long) Ndel); 22 22 23 23 if (Ndel == 0) { … … 31 31 Nsubset = Nphotdata - Ndel; 32 32 ALLOCATE (subset, PhotPars, MAX (1, Nsubset)); 33 fprintf (stderr, "keeping % d photdata\n",Nsubset);33 fprintf (stderr, "keeping %lld photdata\n", (long long) Nsubset); 34 34 for (j = i = 0; i < Nphotdata; i++) { 35 35 if (!keep[i]) continue; -
trunk/Ohana/src/imregister/photreg/match.c
r3536 r27435 2 2 # include "photreg.h" 3 3 4 int *match_criteria (PhotPars *photdata, int Nphotdata, int *Nmatch) {4 off_t *match_criteria (PhotPars *photdata, off_t Nphotdata, off_t *Nmatch) { 5 5 6 int i, j;7 int N, NMATCH;8 int *match;9 int reject;6 off_t i, j; 7 off_t N, NMATCH; 8 off_t *match; 9 off_t reject; 10 10 11 11 /* create selection index */ 12 12 N = 0; 13 13 NMATCH = 1000; 14 ALLOCATE (match, int, NMATCH);14 ALLOCATE (match, off_t, NMATCH); 15 15 16 16 /* find entries that matches criteria */ … … 27 27 if (N == NMATCH) { 28 28 NMATCH += 1000; 29 REALLOCATE (match, int, NMATCH);29 REALLOCATE (match, off_t, NMATCH); 30 30 } 31 31 } -
trunk/Ohana/src/imregister/photreg/output.c
r14590 r27435 6 6 7 7 /* given a subset list, write out the selected images, if desired */ 8 void OutputSubset (PhotPars *photdata, int Nphotdata, int *match, int Nmatch) {8 void OutputSubset (PhotPars *photdata, off_t Nphotdata, off_t *match, off_t Nmatch) { 9 9 10 10 if (output.table != (char *) NULL) { … … 23 23 24 24 /* write out complete binary FITS table in format of db */ 25 void DumpFitsBintable (char *filename, PhotPars *photdata, int *match, int Nmatch) {26 27 int i, j;25 void DumpFitsBintable (char *filename, PhotPars *photdata, off_t *match, off_t Nmatch) { 26 27 off_t i, j; 28 28 FILE *f; 29 29 Header header; … … 71 71 72 72 /** add ASCII table to autocode? **/ 73 void DumpFitsTable (char *filename, PhotPars *photdata, int *index, int Nkeep) {73 void DumpFitsTable (char *filename, PhotPars *photdata, off_t *index, off_t Nkeep) { 74 74 75 75 Header header, theader; … … 80 80 char *startstr, *stopstr, *datestr, *line; 81 81 char *c1, *c2, *code, *photsys, *extname; 82 int i;82 off_t i; 83 83 time_t tsecond; 84 84 … … 196 196 197 197 /* Select, TimeMode are global */ 198 int PrintSubset (PhotPars *photdata, int *match, int Nmatch) {199 200 int i, j;198 int PrintSubset (PhotPars *photdata, off_t *match, off_t Nmatch) { 199 200 off_t i, j; 201 201 char *photstr, *timestr, *c1, *c2, *refcode; 202 202 -
trunk/Ohana/src/imregister/spreg/delete.c
r7080 r27435 2 2 # include "spreg.h" 3 3 4 void DeleteSubset (FITS_DB *db, Spectrum *spectrum, int Nspectrum, int *match, int Nmatch) {4 void DeleteSubset (FITS_DB *db, Spectrum *spectrum, off_t Nspectrum, off_t *match, off_t Nmatch) { 5 5 6 int i, j;7 int *keep, Nbad, Nsubset;6 off_t i, j; 7 off_t *keep, Nbad, Nsubset; 8 8 Spectrum *subset; 9 9 10 ALLOCATE (keep, int, MAX (Nspectrum, 1));10 ALLOCATE (keep, off_t, MAX (Nspectrum, 1)); 11 11 for (i = 0; i < Nspectrum; i++) keep[i] = TRUE; 12 fprintf (stderr, "total of % d spectra\n",Nspectrum);12 fprintf (stderr, "total of %lld spectra\n", (long long) Nspectrum); 13 13 14 14 Nbad = 0; … … 19 19 Nbad ++; 20 20 } 21 fprintf (stderr, "delete % d spectra\n",Nbad);21 fprintf (stderr, "delete %lld spectra\n", (long long) Nbad); 22 22 if (Nbad == 0) { 23 23 fprintf (stderr, "SUCCESS\n"); … … 28 28 Nsubset = Nspectrum - Nbad; 29 29 ALLOCATE (subset, Spectrum, MAX (1, Nsubset)); 30 fprintf (stderr, "keeping % d spectra\n",Nsubset);30 fprintf (stderr, "keeping %lld spectra\n", (long long) Nsubset); 31 31 for (j = i = 0; i < Nspectrum; i++) { 32 32 if (!keep[i]) continue; -
trunk/Ohana/src/imregister/spreg/match.c
r3509 r27435 2 2 # include "spreg.h" 3 3 4 int *match_criteria (Spectrum *spectrum, int Nspectrum, int *Nmatch) {4 off_t *match_criteria (Spectrum *spectrum, off_t Nspectrum, off_t *Nmatch) { 5 5 6 int i, j;7 int N, NMATCH;8 int *match;9 int reject;10 int Nfilename, Nobject, Ntelescope, Ninstrument;6 off_t i, j; 7 off_t N, NMATCH; 8 off_t *match; 9 off_t reject; 10 off_t Nfilename, Nobject, Ntelescope, Ninstrument; 11 11 12 12 /* create selection index */ 13 13 N = 0; 14 14 NMATCH = 1000; 15 ALLOCATE (match, int, NMATCH);15 ALLOCATE (match, off_t, NMATCH); 16 16 17 17 Nfilename = Nobject = Ntelescope = Ninstrument = 0; … … 42 42 if (N == NMATCH) { 43 43 NMATCH += 1000; 44 REALLOCATE (match, int, NMATCH);44 REALLOCATE (match, off_t, NMATCH); 45 45 } 46 46 } … … 51 51 # if (0) 52 52 53 int *match_spectra (Spectrum *subset, int Nsubset, int *Nmatch) {53 off_t *match_spectra (Spectrum *subset, off_t Nsubset, off_t *Nmatch) { 54 54 55 int i, j, N, Nspectrum, Nfound;56 int *match;55 off_t i, j, N, Nspectrum, Nfound; 56 off_t *match; 57 57 Spectrum *spectrum; 58 58 … … 60 60 61 61 /* find matching spectra - very inefficient : sort by obstime, find those first? */ 62 ALLOCATE (match, int, Nsubset);62 ALLOCATE (match, off_t, Nsubset); 63 63 for (j = 0; j < Nsubset; j++) { 64 64 match[j] = -1; -
trunk/Ohana/src/imregister/spreg/modify.c
r7080 r27435 2 2 # include "spreg.h" 3 3 4 void ModifySubset (FITS_DB *db, Spectrum *spectrum, int Nspectrum, int *match, int Nmatch) {4 void ModifySubset (FITS_DB *db, Spectrum *spectrum, off_t Nspectrum, off_t *match, off_t Nmatch) { 5 5 6 int i, j, Nold;6 off_t i, j, Nold; 7 7 char *tmppath; 8 8 -
trunk/Ohana/src/imregister/spreg/output.c
r14590 r27435 14 14 15 15 /* given a subset list, write out the selected spectra, if desired */ 16 void OutputSubset (Spectrum *spectrum, int Nspectra, int *match, int Nmatch) {16 void OutputSubset (Spectrum *spectrum, off_t Nspectra, off_t *match, off_t Nmatch) { 17 17 18 18 if (output.table != (char *) NULL) { … … 29 29 30 30 /* write out complete binary FITS table in format of db */ 31 void DumpFitsBintable (char *filename, Spectrum *spectrum, int *match, int Nmatch) {31 void DumpFitsBintable (char *filename, Spectrum *spectrum, off_t *match, off_t Nmatch) { 32 32 33 int i, j;33 off_t i, j; 34 34 FILE *f; 35 35 Header header; … … 72 72 73 73 /* write out an ASCII table */ 74 void DumpFitsTable (char *filename, Spectrum *spectrum, int *match, int Nmatch) {74 void DumpFitsTable (char *filename, Spectrum *spectrum, off_t *match, off_t Nmatch) { 75 75 76 int i;76 off_t i; 77 77 char *obsstr, *regstr, *line, *datestr; 78 78 time_t tsecond; … … 141 141 142 142 /* Select, TimeMode are global */ 143 int PrintSubset (Spectrum *spectrum, int *match, int Nmatch) {143 int PrintSubset (Spectrum *spectrum, off_t *match, off_t Nmatch) { 144 144 145 int i, j;145 off_t i, j; 146 146 char *timestr; 147 147 … … 153 153 154 154 /* predefined subset of values */ 155 fprintf (stdout, "%5 d %20s %s %s %s %s ",i, timestr, spectrum[i].pathname, spectrum[i].filename, spectrum[i].objname, spectrum[i].telescope);155 fprintf (stdout, "%5lld %20s %s %s %s %s ", (long long) i, timestr, spectrum[i].pathname, spectrum[i].filename, spectrum[i].objname, spectrum[i].telescope); 156 156 fprintf (stdout, "%5.1f %5.3f %.1f %.1f %.2f\n", spectrum[i].exptime, spectrum[i].airmass, spectrum[i].Ws, spectrum[i].We, spectrum[i].dW); 157 157 … … 161 161 } 162 162 163 int dump_data (Spectrum *spectrum, int Nspectrum) {163 int dump_data (Spectrum *spectrum, off_t Nspectrum) { 164 164 165 int i;165 off_t i; 166 166 167 167 for (i = 0; i < Nspectrum; i++) { -
trunk/Ohana/src/imregister/spreg/unique.c
r16045 r27435 2 2 # include "spreg.h" 3 3 4 void sortstr (char **S, int *X, int N) {4 void sortstr (char **S, off_t *X, off_t N) { 5 5 6 6 # define SWAPFUNC(A,B){ \ 7 7 char *tmp = S[A]; S[A] = S[B]; S[B] = tmp; \ 8 int itmp = X[A]; X[A] = X[B]; X[B] = itmp; \8 off_t itmp = X[A]; X[A] = X[B]; X[B] = itmp; \ 9 9 } 10 10 # define COMPARE(A,B)(strcmp(S[A], S[B]) < 0) … … 18 18 19 19 /* input is a subset index of spectrum list, output is a new subset */ 20 int *unique_entries (Spectrum *spectrum, int Nspectrum, int *subset, int *Nmatch) {20 off_t *unique_entries (Spectrum *spectrum, off_t Nspectrum, off_t *subset, off_t *Nmatch) { 21 21 22 int i, j, m, Nsubset;23 int N, NMATCH;24 int *match, *entry;22 off_t i, j, m, Nsubset; 23 off_t N, NMATCH; 24 off_t *match, *entry; 25 25 char idxline[128]; 26 26 char **index; … … 31 31 N = 0; 32 32 NMATCH = 1000; 33 ALLOCATE (match, int, NMATCH);33 ALLOCATE (match, off_t, NMATCH); 34 34 35 35 Nsubset = *Nmatch; … … 37 37 /* index = filename */ 38 38 ALLOCATE (index, char *, Nsubset); 39 ALLOCATE (entry, int, Nsubset);39 ALLOCATE (entry, off_t, Nsubset); 40 40 for (i = 0; i < Nsubset; i++) { 41 41 sprintf (idxline, "%s", spectrum[subset[i]].filename); … … 55 55 if (N == NMATCH) { 56 56 NMATCH += 1000; 57 REALLOCATE (match, int, NMATCH);57 REALLOCATE (match, off_t, NMATCH); 58 58 } 59 59 -
trunk/Ohana/src/imregister/src/convertimreg.c
r7080 r27435 8 8 Header header; 9 9 RegImage *pimage; 10 int i, Nimage, status, lockstate, dbstate;11 int *match;10 off_t i, Nimage, *match, status; 11 int lockstate, dbstate; 12 12 13 13 get_version (argc, argv, version); … … 41 41 42 42 /* load existing data from database */ 43 gfits_scan (&header, "NIMAGES", "% d", 1,&Nimage);43 gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage); 44 44 ALLOCATE (pimage, RegImage, Nimage); 45 45 status = fread (pimage, sizeof(RegImage), Nimage, f); 46 46 if (status != Nimage) { 47 fprintf (stderr, "ERROR: header and data in dB don't match (% d vs %d)\n", Nimage,status);47 fprintf (stderr, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status); 48 48 fclearlockfile (argv[1], f, lockstate, &dbstate); 49 49 exit (1); … … 53 53 54 54 /* create complete subset */ 55 ALLOCATE (match, int, Nimage);55 ALLOCATE (match, off_t, Nimage); 56 56 for (i = 0; i < Nimage; i++) match[i] = i; 57 57 -
trunk/Ohana/src/imregister/src/detsearch.c
r7080 r27435 5 5 int main (int argc, char **argv) { 6 6 7 int Nmatch, Ndetrend;7 off_t Nmatch, Ndetrend; 8 8 char *dBFile; 9 9 FITS_DB db; -
trunk/Ohana/src/imregister/src/imphotmerge.c
r12332 r27435 3 3 /*** this needs to be written using dvo_image functions !!! ***/ 4 4 5 Image *LoadImageTable (FILE *f, Header *header, int *nimage);5 Image *LoadImageTable (FILE *f, Header *header, off_t *nimage); 6 6 static char *version = "imphotcopy $Revision: 1.6 $"; 7 7 8 8 int main (int argc, char **argv) { 9 9 10 int N, Ntimes; 11 off_t status, Nimage; 12 off_t i, j, Ninput, *index; 10 13 Header header, theader; 11 14 Image *image, *input; 12 15 FILE *f, *g; 13 int i, j, status, N;14 16 char *dBFile; 15 int Nimage, Ninput, *index, Ntimes;16 17 time_t *tstart, *tstop; 17 18 int VERBOSE, PHOTCODE, dbstate; … … 91 92 /* allocate space for reference lists */ 92 93 Nin = 0; 93 ALLOCATE (index, int, Ninput);94 ALLOCATE (index, off_t, Ninput); 94 95 95 96 /* these filters are applied to input NOT image */ … … 115 116 116 117 /* position to begining of file to write header */ 117 fseek (f, 0, SEEK_SET);118 status = Fwrite (header.buffer, 1, header. size, f, "char");119 if (status != header. size) {118 fseeko (f, 0, SEEK_SET); 119 status = Fwrite (header.buffer, 1, header.datasize, f, "char"); 120 if (status != header.datasize) { 120 121 fprintf (stderr, "ERROR: failed writing data to image header\n"); 121 122 exit (0); … … 123 124 124 125 /* position to end of file for new image data */ 125 fseek (f, header.size, SEEK_SET);126 fseeko (f, header.datasize, SEEK_SET); 126 127 status = Fwrite (image, sizeof(Image), Nimage, f, "image"); 127 128 if (status != Nimage) { … … 137 138 } 138 139 139 Image *LoadImageTable (FILE *f, Header *header, int *nimage) {140 Image *LoadImageTable (FILE *f, Header *header, off_t *nimage) { 140 141 141 int Nimage, Ndata, Nread, size;142 off_t Nimage, Ndata, Nread, size; 142 143 struct stat filestatus; 143 144 Image *image; … … 151 152 /* check that file size makes sense */ 152 153 Nimage = 0; 153 gfits_scan (header, "NIMAGES", "% d", 1, &Nimage);154 gfits_scan (header, "NIMAGES", "%lld", 1, &Nimage); 154 155 if (fstat (fileno(f), &filestatus) == -1) { 155 156 fprintf (stderr, "ERROR: failed to get status of image catalog\n"); 156 157 exit (1); 157 158 } 158 size = Nimage*sizeof(Image) + header[0]. size;159 size = Nimage*sizeof(Image) + header[0].datasize; 159 160 if (size != filestatus.st_size) { 160 Ndata = (filestatus.st_size - header[0]. size) / sizeof (Image);161 Ndata = (filestatus.st_size - header[0].datasize) / sizeof (Image); 161 162 fprintf (stderr, "ERROR: image catalog has inconsistent size\n"); 162 fprintf (stderr, "header: % d, data: %d\n", Nimage,Ndata);163 fprintf (stderr, "header: %lld, data: %lld\n", (long long) Nimage, (long long) Ndata); 163 164 Nimage = Ndata; 164 165 } -
trunk/Ohana/src/imregister/src/imphotsearch.c
r7080 r27435 6 6 int main (int argc, char **argv) { 7 7 8 int Nmatch, Nimage;9 int *match;8 off_t Nmatch, Nimage; 9 off_t *match; 10 10 Image *image; 11 11 FITS_DB db; -
trunk/Ohana/src/imregister/src/imregister.c
r7080 r27435 5 5 int main (int argc, char **argv) { 6 6 7 int Nregimage;7 off_t Nregimage; 8 8 RegImage *image, *regimage; 9 9 FITS_DB db; -
trunk/Ohana/src/imregister/src/imregtable.c
r7080 r27435 5 5 int main (int argc, char **argv) { 6 6 7 int Nimage;7 off_t Nimage; 8 8 char *infile; 9 9 RegImage *image; -
trunk/Ohana/src/imregister/src/imsearch.c
r7080 r27435 5 5 int main (int argc, char **argv) { 6 6 7 int Nmatch, Nimage, *match;7 off_t Nmatch, Nimage, *match; 8 8 RegImage *image; 9 9 FITS_DB db; -
trunk/Ohana/src/imregister/src/imstatreg.c
r7080 r27435 5 5 int main (int argc, char **argv) { 6 6 7 int i,child;8 int*match, Nmatch, Nimage, Nsubset;7 int child; 8 off_t i, *match, Nmatch, Nimage, Nsubset; 9 9 FILE *f; 10 10 RegImage *image, *subset; -
trunk/Ohana/src/imregister/src/photsearch.c
r7080 r27435 6 6 7 7 char *filename; 8 int Nmatch, Nphotpars;9 int *match;8 off_t Nmatch, Nphotpars; 9 off_t *match; 10 10 FITS_DB db; 11 11 PhotPars *photpars; -
trunk/Ohana/src/imregister/src/spsearch.c
r7080 r27435 5 5 int main (int argc, char **argv) { 6 6 7 int Nmatch, Nspectrum, *match;7 off_t Nmatch, Nspectrum, *match; 8 8 Spectrum *spectrum; 9 9 FITS_DB db; -
trunk/Ohana/src/kapa2/src/Image.c
r25757 r27435 11 11 12 12 channel->coords.Npolyterms = 0; 13 channel->matrix. size = 0; /* a flag to show there is no data in the matrix */13 channel->matrix.datasize = 0; /* a flag to show there is no data in the matrix */ 14 14 ALLOCATE (channel->matrix.buffer, char, 1); /* allocate so later free will not crash! */ 15 15 -
trunk/Ohana/src/kapa2/src/LoadPicture.c
r26891 r27435 5 5 Header header; 6 6 char *buff; 7 int status, bytes_left;7 off_t status, bytes_left; 8 8 Section *section; 9 9 KapaImageWidget *image; … … 24 24 Xoffset = 0.0; 25 25 Yoffset = 0.0; 26 if (image[0].image[0].matrix. size) {26 if (image[0].image[0].matrix.datasize) { 27 27 // XXX enforce int center here? 28 28 Xoffset = image[0].picture.Xc - 0.5*image[0].image[0].matrix.Naxis[0]; … … 32 32 gfits_init_header (&header); 33 33 header.Naxes = 2; 34 KiiScanMessage (sock, "% d %d", &header.Naxis[0],&header.Naxis[1]);34 KiiScanMessage (sock, "%lld %lld", (long long *) &header.Naxis[0], (long long *) &header.Naxis[1]); 35 35 36 36 // internal image are 32 bit floats; sender must send in this format … … 41 41 42 42 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 % d", &image[0].image[0].min, &image[0].image[0].max, &header.size);43 KiiScanMessage (sock, "%lf %lf %lld", &image[0].image[0].min, &image[0].image[0].max, (long long *) &header.datasize); 44 44 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); 45 45 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); … … 67 67 status = 1; 68 68 buff = image[0].image[0].matrix.buffer; 69 bytes_left = header. size;70 image[0].image[0].matrix. size = 0;69 bytes_left = header.datasize; 70 image[0].image[0].matrix.datasize = 0; 71 71 while (bytes_left > 0) { 72 72 status = read (sock, buff, bytes_left); … … 77 77 } 78 78 if (status != -1) { /* pipe has data */ 79 image[0].image[0].matrix. size += status;79 image[0].image[0].matrix.datasize += status; 80 80 bytes_left -= status; 81 81 buff = (char *)(buff + status); … … 85 85 fcntl (sock, F_SETFL, !O_NONBLOCK); 86 86 87 if (DEBUG) fprintf (stderr, "read % d bytes\n", image[0].image[0].matrix.size);88 /* it it not obvious this condition should kill k ii, but ... */89 if (image[0].image[0].matrix. size != header.size) {90 fprintf (stderr, "error: expected % d bytes, but got only %d\n", header.size, image[0].image[0].matrix.size);87 if (DEBUG) fprintf (stderr, "read %lld bytes\n", (long long) image[0].image[0].matrix.datasize); 88 /* it it not obvious this condition should kill kapa, but ... */ 89 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); 91 91 return (FALSE); 92 92 } -
trunk/Ohana/src/kapa2/src/PNGit.c
r26891 r27435 9 9 int Npalette; 10 10 char filename[1024]; 11 int Nbytes, status;12 11 bDrawBuffer *buffer; 13 12 Graphic *graphic; -
trunk/Ohana/src/kapa2/src/PPMit.c
r26891 r27435 5 5 FILE *f; 6 6 char *line, filename[1024]; 7 int Nbytes, status,dx, dy, i, j, Npalette, color;7 int dx, dy, i, j, Npalette, color; 8 8 png_color *palette; 9 9 bDrawBuffer *buffer; -
trunk/Ohana/src/kapa2/src/Relocate.c
r25757 r27435 4 4 int Relocate (int sock) { 5 5 6 int i, Nsection;7 6 int x, y, dX, dY; 8 7 Graphic *graphic; 9 Section *section;10 8 11 9 graphic = GetGraphic(); -
trunk/Ohana/src/kapa2/src/SetImageData.c
r16256 r27435 17 17 18 18 // get image data from client 19 KiiScanMessage (sock, "%lf %lf %s ",19 KiiScanMessage (sock, "%lf %lf %s %s", 20 20 &image[0].image[0].zero, 21 21 &image[0].image[0].range, -
trunk/Ohana/src/libautocode/def/autocode.c
r24399 r27435 1 1 # include "autocode.h" 2 2 3 int gfits_convert_$STRUCT ($STRUCT *data, int size, int nitems) {3 int gfits_convert_$STRUCT ($STRUCT *data, off_t size, off_t nitems) { 4 4 5 int i;5 off_t i; 6 6 unsigned char *byte, tmp; 7 7 8 8 if (size != $SIZE) { 9 fprintf (stderr, "WARNING: mismatch in data types $STRUCT: % d vs %d\n", size,$SIZE);9 fprintf (stderr, "WARNING: mismatch in data types $STRUCT: %lld vs %lld\n", (long long) size, (long long) $SIZE); 10 10 return (FALSE); 11 11 } … … 25 25 } 26 26 27 $STRUCT *gfits_downsize_and_convert_$STRUCT ($STRUCT *data, int size, int nitems) {27 $STRUCT *gfits_downsize_and_convert_$STRUCT ($STRUCT *data, off_t size, off_t nitems) { 28 28 29 int i;29 off_t i; 30 30 unsigned char *byte, tmp; 31 31 $STRUCT *output; 32 32 33 33 if ($SIZE > size) { 34 fprintf (stderr, "ERROR: uncorrectable mismatch in data types $STRUCT: % d vs %d\n", size,$SIZE);34 fprintf (stderr, "ERROR: uncorrectable mismatch in data types $STRUCT: %lld vs %lld\n", (long long) size, (long long) $SIZE); 35 35 exit (1); 36 36 } … … 58 58 /*** add test of EXTNAME and header-defined columns? ***/ 59 59 /* return internal structure representation */ 60 $STRUCT *gfits_table_get_$STRUCT (FTable *ftable, int *Ndata, int*swapped) {60 $STRUCT *gfits_table_get_$STRUCT (FTable *ftable, off_t *Ndata, char *swapped) { 61 61 62 62 $STRUCT *data, *output; … … 68 68 output = gfits_downsize_and_convert_$STRUCT (data, sizeof ($STRUCT), *Ndata); 69 69 free (ftable[0].buffer); 70 ftable[0].buffer = output;70 ftable[0].buffer = (char *) output; 71 71 // XXX do I need to change NX? 72 72 } … … 77 77 } 78 78 79 int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata) {79 int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, off_t Ndata) { 80 80 81 81 Header *header; -
trunk/Ohana/src/libautocode/def/autocode.h
r7080 r27435 2 2 /** STRUCT DEFINITION **/ 3 3 4 $STRUCT *gfits_table_get_$STRUCT (FTable *table, int *Ndata, int*swapped);5 int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata);4 $STRUCT *gfits_table_get_$STRUCT (FTable *table, off_t *Ndata, char *swapped); 5 int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, off_t Ndata); 6 6 int gfits_table_mkheader_$STRUCT (Header *header); 7 int gfits_convert_$STRUCT ($STRUCT *data, int size, int nitems);8 int Send_$STRUCT (int device, $STRUCT *data, int Ndata, int copy);9 int Recv_$STRUCT (int device, $STRUCT **data, int *Ndata);7 int gfits_convert_$STRUCT ($STRUCT *data, off_t size, off_t nitems); 8 int Send_$STRUCT (int device, $STRUCT *data, int Ndata, int copy); 9 int Recv_$STRUCT (int device, $STRUCT **data, int *Ndata); -
trunk/Ohana/src/libdvo/include/dvo.h
r25757 r27435 10 10 11 11 /* DVO table formats */ 12 typedef enum {DVO_FORMAT_UNDEF, 13 DVO_FORMAT_INTERNAL, 14 DVO_FORMAT_ELIXIR, 15 DVO_FORMAT_LONEOS, 16 DVO_FORMAT_PANSTARRS_DEV_0, 17 DVO_FORMAT_PANSTARRS_DEV_1, 18 DVO_FORMAT_PS1_DEV_1, 19 DVO_FORMAT_PS1_DEV_2, 20 DVO_FORMAT_PS1_DEV_3, 21 DVO_FORMAT_PS1_V1, 22 DVO_FORMAT_PS1_REF 12 typedef enum { 13 DVO_FORMAT_UNDEF, 14 DVO_FORMAT_INTERNAL, 15 DVO_FORMAT_ELIXIR, 16 DVO_FORMAT_LONEOS, 17 DVO_FORMAT_PANSTARRS_DEV_0, 18 DVO_FORMAT_PANSTARRS_DEV_1, 19 DVO_FORMAT_PS1_DEV_1, 20 DVO_FORMAT_PS1_DEV_2, 21 DVO_FORMAT_PS1_DEV_3, 22 DVO_FORMAT_PS1_V1, 23 DVO_FORMAT_PS1_REF 23 24 } DVOTableFormat; 24 25 … … 155 156 FILE *f; 156 157 char *filename; 157 int dbstate;158 int lockstate;159 158 double timeout; 160 159 Header header; … … 163 162 FTable ftable; 164 163 VTable vtable; 165 int mode; /* what data storage mode is used for disk file? */ 166 int format; /* what data format is used for disk file? */ 167 int virtual; /* is table in ftable or vtable? */ 168 int swapped; /* is table in internal byte-order? */ 164 int dbstate; 165 char lockstate; 166 char mode; /* what data storage mode is used for disk file? */ 167 char format; /* what data format is used for disk file? */ 168 char virtual; /* is table in ftable or vtable? */ 169 char swapped; /* is table in internal byte-order? */ 169 170 } FITS_DB; 170 171 … … 174 175 /* SkyRegion : better implementation than GSCRegion */ 175 176 typedef struct { 176 int Nregions;177 off_t Nregions; 177 178 char **filename; 178 179 SkyRegion *regions; … … 180 181 181 182 typedef struct { 182 int Nregions;183 off_t Nregions; 183 184 int ownElements; /* does this list own filename, regions? */ 184 185 char **filename; … … 187 188 188 189 // special-case function: 189 CMF_PS1_V2 *gfits_table_get_CMF_PS1_V1_Alt (FTable *ftable, int *Ndata, int *swapped); 190 191 # if (0) 192 /* structure for data on a catalog region */ 193 typedef struct { 194 char filename[256]; 195 double DEC[2], RA[2]; 196 } GSCRegion; 197 # endif 190 CMF_PS1_V2 *gfits_table_get_CMF_PS1_V1_Alt (FTable *ftable, off_t *Ndata, char *swapped); 198 191 199 192 typedef struct { … … 219 212 220 213 int Nsecfilt; /* number of secfilt entries for each average entry */ 221 int Naverage, Nmeasure, Nmissing, Nsecf_mem; /* current number of each component in memory */ 222 int Naves_disk, Nmeas_disk, Nmiss_disk, Nsecf_disk; /* current number of each component on disk */ 223 int Naves_off, Nmeas_off, Nmiss_off, Nsecf_off; /* index of first loaded data value */ 214 off_t Naverage, Nmeasure, Nmissing, Nsecf_mem; /* current number of each component in memory */ 215 off_t Naves_disk, Nmeas_disk, Nmiss_disk, Nsecf_disk; /* current number of each component on disk */ 216 off_t Naves_off, Nmeas_off, Nmiss_off, Nsecf_off; /* index of first loaded data value */ 217 218 /* the Nsecf_* values above are number of table rows (eg, Naverage*Nsecfilt) */ 224 219 225 220 /* note the different counting for Nsecfilt: … … 239 234 240 235 /* extra catalog information */ 241 intlockmode;242 intcatmode; /* storage mode (raw, mef, split, mysql) */243 intcatformat; /* storage format (elixir, panstarrs, etc) */244 intcatflags; /* choices to be loaded */245 intsorted; /* is measure table average-sorted? */236 char lockmode; 237 char catmode; /* storage mode (raw, mef, split, mysql) */ 238 char catformat; /* storage format (elixir, panstarrs, etc) */ 239 char catflags; /* choices to be loaded */ 240 char sorted; /* is measure table average-sorted? */ 246 241 247 242 /* pointers for data manipulation */ 248 int *found;249 int *image;250 int *mosaic;243 off_t *found; 244 off_t *image; 245 off_t *mosaic; 251 246 float *X; 252 247 float *Y; … … 261 256 int gfits_db_lock PROTO((FITS_DB *db, char *filename)); 262 257 int gfits_db_load PROTO((FITS_DB *db)); 263 int gfits_db_load_segment PROTO((FITS_DB *db, int start, int Nrows));258 int gfits_db_load_segment PROTO((FITS_DB *db, off_t start, off_t Nrows)); 264 259 int gfits_db_save PROTO((FITS_DB *db)); 265 260 int gfits_db_update PROTO((FITS_DB *db)); … … 287 282 288 283 int isRegisteredMosaic (void); 289 int GetRegisteredMosaic (void);284 off_t GetRegisteredMosaic (void); 290 285 int GetMosaicCoords (Coords *coords); 291 int FindMosaicForImage (Image *images, int Nimages, int entry);292 int FindMosaicForImage_TableSearch (Image *images, int Nimages, int entry);293 int FindMosaicForImage_MatchSearch (Image *images, int Nimages, int entry);294 int BuildChipMatch (Image *images, int Nimages);286 int FindMosaicForImage (Image *images, off_t Nimages, off_t entry); 287 int FindMosaicForImage_TableSearch (Image *images, off_t Nimages, off_t entry); 288 int FindMosaicForImage_MatchSearch (Image *images, off_t Nimages, off_t entry); 289 int BuildChipMatch (Image *images, off_t Nimages); 295 290 void SetImageCorners (double *X, double *Y, Image *image); 296 291 … … 347 342 int get_image_mode (char *name); 348 343 char *get_mode_name (int mode); 349 350 /* these functions refer to the DVO structures defined in the includes above351 * they are being replaced with autocode entries (drop when totally autocoded)352 */353 354 int Fread (void *ptr, int size, int nitems, FILE *f, char *type);355 int Fwrite (void *ptr, int size, int nitems, FILE *f, char *type);356 int ByteSwap (char *ptr, int size, int nitems, char *type);357 int ConvertStruct (char *buffer, int size, int Nbytes, char *type);358 344 359 345 /** dvo_catalog APIs */ … … 384 370 int dvo_catalog_save_split_complete (Catalog *catalog, char VERBOSE); 385 371 386 int dvo_catalog_load_segment (Catalog *catalog, int VERBOSE, int start, int Nrows);387 int dvo_catalog_load_segment_split (Catalog *catalog, int VERBOSE, int start, int Nrows);372 int dvo_catalog_load_segment (Catalog *catalog, int VERBOSE, off_t start, off_t Nrows); 373 int dvo_catalog_load_segment_split (Catalog *catalog, int VERBOSE, off_t start, off_t Nrows); 388 374 389 375 /*** conversion functions / I/O conversions ***/ 390 Average *ReadRawAverage (FILE *f, int Naverage, intformat, SecFilt **primary);391 Measure *ReadRawMeasure (FILE *f, int Nmeasure, intformat);392 SecFilt *ReadRawSecFilt (FILE *f, int Nsecfilt, intformat);393 int WriteRawAverage (FILE *f, Average *average, int Naverage, intformat, SecFilt *primary);394 int WriteRawMeasure (FILE *f, Measure *measure, int Nmeasure, intformat);395 int WriteRawSecFilt (FILE *f, SecFilt *secfilt, int Nsecfilt, intformat);396 397 Average *FtableToAverage (FTable *ftable, int *Naverage, int*format, SecFilt **primary);398 Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, int*format);399 SecFilt *FtableToSecFilt (FTable *ftable, int *Nsecfilt, int*format);400 int FtableToImage (FTable *ftable, Header *theader, int*format);401 402 int AverageToFtable (FTable *ftable, Average *average, int Naverage, intformat, SecFilt *primary);403 int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, intformat);404 int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, int Nsecfilt, intformat);405 int ImageToFtable (FTable *ftable, Header *theader, intformat);406 int ImageToVtable (VTable *vtable, Header *theader, intformat);376 Average *ReadRawAverage (FILE *f, off_t Naverage, char format, SecFilt **primary); 377 Measure *ReadRawMeasure (FILE *f, off_t Nmeasure, char format); 378 SecFilt *ReadRawSecFilt (FILE *f, off_t Nsecfilt, char format); 379 int WriteRawAverage (FILE *f, Average *average, off_t Naverage, char format, SecFilt *primary); 380 int WriteRawMeasure (FILE *f, Measure *measure, off_t Nmeasure, char format); 381 int WriteRawSecFilt (FILE *f, SecFilt *secfilt, off_t Nsecfilt, char format); 382 383 Average *FtableToAverage (FTable *ftable, off_t *Naverage, char *format, SecFilt **primary); 384 Measure *FtableToMeasure (FTable *ftable, off_t *Nmeasure, char *format); 385 SecFilt *FtableToSecFilt (FTable *ftable, off_t *Nsecfilt, char *format); 386 int FtableToImage (FTable *ftable, Header *theader, char *format); 387 388 int AverageToFtable (FTable *ftable, Average *average, off_t Naverage, char format, SecFilt *primary); 389 int MeasureToFtable (FTable *ftable, Measure *measure, off_t Nmeasure, char format); 390 int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, off_t Nsecfilt, char format); 391 int ImageToFtable (FTable *ftable, Header *theader, char format); 392 int ImageToVtable (VTable *vtable, Header *theader, char format); 407 393 408 394 # include "loneos_defs.h" … … 425 411 int dvo_image_update_raw (FITS_DB *db, int VERBOSE); 426 412 int dvo_image_save_raw (FITS_DB *db, int VERBOSE); 427 int dvo_image_addrows (FITS_DB *db, Image *new, int Nnew);413 int dvo_image_addrows (FITS_DB *db, Image *new, off_t Nnew); 428 414 void dvo_image_create (FITS_DB *db, double ZeroPoint); 429 415 … … 454 440 455 441 /* dvo-specific sorting functions */ 456 void sortave (Average *ave, int N);457 void sort_image_subset (Image *image, int *subset, int N);458 void sort_coords_index (double *X, double *Y, int *S, int N);459 void sort_regions (SkyRegion *region, int N);442 void sortave (Average *ave, off_t N); 443 void sort_image_subset (Image *image, off_t *subset, off_t N); 444 void sort_coords_index (double *X, double *Y, off_t *S, off_t N); 445 void sort_regions (SkyRegion *region, off_t N); 460 446 461 447 # endif -
trunk/Ohana/src/libdvo/include/dvo_util.h
r26410 r27435 9 9 10 10 typedef struct { 11 char gscfile[256];12 char catdir[256];13 char catmode[256];14 char catformat[256];15 char photcodeFile[256];16 char skyTableFile[256];17 int skyDepth;18 FITS_DB imageDB;19 Image*images;20 intnImages;21 SkyTable*skyTable;11 char gscfile[256]; 12 char catdir[256]; 13 char catmode[256]; 14 char catformat[256]; 15 char photcodeFile[256]; 16 char skyTableFile[256]; 17 int skyDepth; 18 FITS_DB imageDB; 19 Image *images; 20 off_t nImages; 21 SkyTable *skyTable; 22 22 #if (DVO_UTIL_READ_CAMERA_CONFIG) 23 char cameraConfig[256];24 int*ccdNum;25 int nCCD;23 char cameraConfig[256]; 24 int *ccdNum; 25 int nCCD; 26 26 #endif 27 27 } dvoConfig; … … 29 29 // This structure needs to be fleshed out 30 30 typedef struct { 31 int valid;32 Average ave;33 Measure meas;31 int valid; 32 Average ave; 33 Measure meas; 34 34 #ifdef notdef 35 int objID;36 int catID;37 int detID;38 uint64_t pspsObjID;39 uint64_t pspsDetID;35 int objID; 36 int catID; 37 int detID; 38 uint64_t pspsObjID; 39 uint64_t pspsDetID; 40 40 #endif 41 41 } dvoDetection; … … 52 52 dvoConfig *dvoConfigRead(int *argc, char **argv); 53 53 54 // free 's memory associated with the dvoConfig structure54 // frees memory associated with the dvoConfig structure 55 55 void dvoConfigFree(dvoConfig *dvoConfig); 56 56 … … 70 70 SkyList *dvoSkyListByExternID(dvoConfig *dvoConfig, int sourceID, int externID, Image **ppImage); 71 71 72 // return a list of detect sions from a particular image id72 // return a list of detections from a particular image id 73 73 // Use dvoFree() to free the memory pointed to by results 74 int dvoGetDetections(SkyList *skylist, int imageID, dvoDetection **results, int *pMaxDetID);74 off_t dvoGetDetections(SkyList *skylist, int imageID, dvoDetection **results, int *pMaxDetID); 75 75 76 76 // free memory returned by various dvo util functions -
trunk/Ohana/src/libdvo/include/elixir_defs.h
r15694 r27435 1 Image *Image_Elixir_ToInternal (Image_Elixir *in, int Nvalues);2 Image_Elixir *ImageInternalTo_Elixir (Image *in, int Nvalues);3 Average *Average_Elixir_ToInternal (Average_Elixir *in, int Nvalues, SecFilt **primary);4 Average_Elixir *AverageInternalTo_Elixir (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_Elixir_ToInternal (Measure_Elixir *in, int Nvalues);6 Measure_Elixir *MeasureInternalTo_Elixir (Measure *in, int Nvalues);7 SecFilt *SecFilt_Elixir_ToInternal (SecFilt_Elixir *in, int Nvalues);8 SecFilt_Elixir *SecFiltInternalTo_Elixir (SecFilt *in, int Nvalues);1 Image *Image_Elixir_ToInternal (Image_Elixir *in, off_t Nvalues); 2 Image_Elixir *ImageInternalTo_Elixir (Image *in, off_t Nvalues); 3 Average *Average_Elixir_ToInternal (Average_Elixir *in, off_t Nvalues, SecFilt **primary); 4 Average_Elixir *AverageInternalTo_Elixir (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_Elixir_ToInternal (Measure_Elixir *in, off_t Nvalues); 6 Measure_Elixir *MeasureInternalTo_Elixir (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_Elixir_ToInternal (SecFilt_Elixir *in, off_t Nvalues); 8 SecFilt_Elixir *SecFiltInternalTo_Elixir (SecFilt *in, off_t Nvalues); 9 9 10 PhotCode *PhotCode_Elixir_To_Internal (PhotCode_Elixir *in, int Nvalues);11 PhotCode_Elixir *PhotCode_Internal_To_Elixir (PhotCode *in, int Nvalues);10 PhotCode *PhotCode_Elixir_To_Internal (PhotCode_Elixir *in, off_t Nvalues); 11 PhotCode_Elixir *PhotCode_Internal_To_Elixir (PhotCode *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/loneos_defs.h
r15035 r27435 1 Image *Image_Loneos_ToInternal (Image_Loneos *in, int Nvalues);2 Image_Loneos *ImageInternalTo_Loneos (Image *in, int Nvalues);3 Average *Average_Loneos_ToInternal (Average_Loneos *in, int Nvalues, SecFilt **primary);4 Average_Loneos *AverageInternalTo_Loneos (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_Loneos_ToInternal (Measure_Loneos *in, int Nvalues);6 Measure_Loneos *MeasureInternalTo_Loneos (Measure *in, int Nvalues);7 SecFilt *SecFilt_Loneos_ToInternal (SecFilt_Loneos *in, int Nvalues);8 SecFilt_Loneos *SecFiltInternalTo_Loneos (SecFilt *in, int Nvalues);1 Image *Image_Loneos_ToInternal (Image_Loneos *in, off_t Nvalues); 2 Image_Loneos *ImageInternalTo_Loneos (Image *in, off_t Nvalues); 3 Average *Average_Loneos_ToInternal (Average_Loneos *in, off_t Nvalues, SecFilt **primary); 4 Average_Loneos *AverageInternalTo_Loneos (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_Loneos_ToInternal (Measure_Loneos *in, off_t Nvalues); 6 Measure_Loneos *MeasureInternalTo_Loneos (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_Loneos_ToInternal (SecFilt_Loneos *in, off_t Nvalues); 8 SecFilt_Loneos *SecFiltInternalTo_Loneos (SecFilt *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/panstarrs_dev_0_defs.h
r15035 r27435 1 Image *Image_Panstarrs_DEV_0_ToInternal (Image_Panstarrs_DEV_0 *in, int Nvalues);2 Image_Panstarrs_DEV_0 *ImageInternalTo_Panstarrs_DEV_0 (Image *in, int Nvalues);3 Average *Average_Panstarrs_DEV_0_ToInternal (Average_Panstarrs_DEV_0 *in, int Nvalues, SecFilt **primary);4 Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_Panstarrs_DEV_0_ToInternal (Measure_Panstarrs_DEV_0 *in, int Nvalues);6 Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Measure *in, int Nvalues);7 SecFilt *SecFilt_Panstarrs_DEV_0_ToInternal (SecFilt_Panstarrs_DEV_0 *in, int Nvalues);8 SecFilt_Panstarrs_DEV_0 *SecFiltInternalTo_Panstarrs_DEV_0 (SecFilt *in, int Nvalues);1 Image *Image_Panstarrs_DEV_0_ToInternal (Image_Panstarrs_DEV_0 *in, off_t Nvalues); 2 Image_Panstarrs_DEV_0 *ImageInternalTo_Panstarrs_DEV_0 (Image *in, off_t Nvalues); 3 Average *Average_Panstarrs_DEV_0_ToInternal (Average_Panstarrs_DEV_0 *in, off_t Nvalues, SecFilt **primary); 4 Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_Panstarrs_DEV_0_ToInternal (Measure_Panstarrs_DEV_0 *in, off_t Nvalues); 6 Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_Panstarrs_DEV_0_ToInternal (SecFilt_Panstarrs_DEV_0 *in, off_t Nvalues); 8 SecFilt_Panstarrs_DEV_0 *SecFiltInternalTo_Panstarrs_DEV_0 (SecFilt *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/panstarrs_dev_1_defs.h
r15035 r27435 1 Image *Image_Panstarrs_DEV_1_ToInternal (Image_Panstarrs_DEV_1 *in, int Nvalues);2 Image_Panstarrs_DEV_1 *ImageInternalTo_Panstarrs_DEV_1 (Image *in, int Nvalues);3 Average *Average_Panstarrs_DEV_1_ToInternal (Average_Panstarrs_DEV_1 *in, int Nvalues, SecFilt **primary);4 Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_Panstarrs_DEV_1_ToInternal (Measure_Panstarrs_DEV_1 *in, int Nvalues);6 Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Measure *in, int Nvalues);7 SecFilt *SecFilt_Panstarrs_DEV_1_ToInternal (SecFilt_Panstarrs_DEV_1 *in, int Nvalues);8 SecFilt_Panstarrs_DEV_1 *SecFiltInternalTo_Panstarrs_DEV_1 (SecFilt *in, int Nvalues);1 Image *Image_Panstarrs_DEV_1_ToInternal (Image_Panstarrs_DEV_1 *in, off_t Nvalues); 2 Image_Panstarrs_DEV_1 *ImageInternalTo_Panstarrs_DEV_1 (Image *in, off_t Nvalues); 3 Average *Average_Panstarrs_DEV_1_ToInternal (Average_Panstarrs_DEV_1 *in, off_t Nvalues, SecFilt **primary); 4 Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_Panstarrs_DEV_1_ToInternal (Measure_Panstarrs_DEV_1 *in, off_t Nvalues); 6 Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_Panstarrs_DEV_1_ToInternal (SecFilt_Panstarrs_DEV_1 *in, off_t Nvalues); 8 SecFilt_Panstarrs_DEV_1 *SecFiltInternalTo_Panstarrs_DEV_1 (SecFilt *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/ps1_dev_1_defs.h
r15694 r27435 1 Image *Image_PS1_DEV_1_ToInternal (Image_PS1_DEV_1 *in, int Nvalues);2 Image_PS1_DEV_1 *ImageInternalTo_PS1_DEV_1 (Image *in, int Nvalues);3 Average *Average_PS1_DEV_1_ToInternal (Average_PS1_DEV_1 *in, int Nvalues, SecFilt **primary);4 Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_PS1_DEV_1_ToInternal (Measure_PS1_DEV_1 *in, int Nvalues);6 Measure_PS1_DEV_1 *MeasureInternalTo_PS1_DEV_1 (Measure *in, int Nvalues);7 SecFilt *SecFilt_PS1_DEV_1_ToInternal (SecFilt_PS1_DEV_1 *in, int Nvalues);8 SecFilt_PS1_DEV_1 *SecFiltInternalTo_PS1_DEV_1 (SecFilt *in, int Nvalues);1 Image *Image_PS1_DEV_1_ToInternal (Image_PS1_DEV_1 *in, off_t Nvalues); 2 Image_PS1_DEV_1 *ImageInternalTo_PS1_DEV_1 (Image *in, off_t Nvalues); 3 Average *Average_PS1_DEV_1_ToInternal (Average_PS1_DEV_1 *in, off_t Nvalues, SecFilt **primary); 4 Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_PS1_DEV_1_ToInternal (Measure_PS1_DEV_1 *in, off_t Nvalues); 6 Measure_PS1_DEV_1 *MeasureInternalTo_PS1_DEV_1 (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_PS1_DEV_1_ToInternal (SecFilt_PS1_DEV_1 *in, off_t Nvalues); 8 SecFilt_PS1_DEV_1 *SecFiltInternalTo_PS1_DEV_1 (SecFilt *in, off_t Nvalues); 9 9 10 PhotCode *PhotCode_PS1_DEV_1_To_Internal (PhotCode_PS1_DEV_1 *in, int Nvalues);11 PhotCode_PS1_DEV_1 *PhotCode_Internal_To_PS1_DEV_1 (PhotCode *in, int Nvalues);10 PhotCode *PhotCode_PS1_DEV_1_To_Internal (PhotCode_PS1_DEV_1 *in, off_t Nvalues); 11 PhotCode_PS1_DEV_1 *PhotCode_Internal_To_PS1_DEV_1 (PhotCode *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/ps1_dev_2_defs.h
r16810 r27435 1 Image *Image_PS1_DEV_2_ToInternal (Image_PS1_DEV_2 *in, int Nvalues);2 Image_PS1_DEV_2 *ImageInternalTo_PS1_DEV_2 (Image *in, int Nvalues);3 Average *Average_PS1_DEV_2_ToInternal (Average_PS1_DEV_2 *in, int Nvalues, SecFilt **primary);4 Average_PS1_DEV_2 *AverageInternalTo_PS1_DEV_2 (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_PS1_DEV_2_ToInternal (Measure_PS1_DEV_2 *in, int Nvalues);6 Measure_PS1_DEV_2 *MeasureInternalTo_PS1_DEV_2 (Measure *in, int Nvalues);7 SecFilt *SecFilt_PS1_DEV_2_ToInternal (SecFilt_PS1_DEV_2 *in, int Nvalues);8 SecFilt_PS1_DEV_2 *SecFiltInternalTo_PS1_DEV_2 (SecFilt *in, int Nvalues);1 Image *Image_PS1_DEV_2_ToInternal (Image_PS1_DEV_2 *in, off_t Nvalues); 2 Image_PS1_DEV_2 *ImageInternalTo_PS1_DEV_2 (Image *in, off_t Nvalues); 3 Average *Average_PS1_DEV_2_ToInternal (Average_PS1_DEV_2 *in, off_t Nvalues, SecFilt **primary); 4 Average_PS1_DEV_2 *AverageInternalTo_PS1_DEV_2 (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_PS1_DEV_2_ToInternal (Measure_PS1_DEV_2 *in, off_t Nvalues); 6 Measure_PS1_DEV_2 *MeasureInternalTo_PS1_DEV_2 (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_PS1_DEV_2_ToInternal (SecFilt_PS1_DEV_2 *in, off_t Nvalues); 8 SecFilt_PS1_DEV_2 *SecFiltInternalTo_PS1_DEV_2 (SecFilt *in, off_t Nvalues); 9 9 10 PhotCode *PhotCode_PS1_DEV_2_To_Internal (PhotCode_PS1_DEV_2 *in, int Nvalues);11 PhotCode_PS1_DEV_2 *PhotCode_Internal_To_PS1_DEV_2 (PhotCode *in, int Nvalues);10 PhotCode *PhotCode_PS1_DEV_2_To_Internal (PhotCode_PS1_DEV_2 *in, off_t Nvalues); 11 PhotCode_PS1_DEV_2 *PhotCode_Internal_To_PS1_DEV_2 (PhotCode *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/ps1_dev_3_defs.h
r20936 r27435 1 Image *Image_PS1_DEV_3_ToInternal (Image_PS1_DEV_3 *in, int Nvalues);2 Image_PS1_DEV_3 *ImageInternalTo_PS1_DEV_3 (Image *in, int Nvalues);1 Image *Image_PS1_DEV_3_ToInternal (Image_PS1_DEV_3 *in, off_t Nvalues); 2 Image_PS1_DEV_3 *ImageInternalTo_PS1_DEV_3 (Image *in, off_t Nvalues); 3 3 4 PhotCode *PhotCode_PS1_DEV_3_To_Internal (PhotCode_PS1_DEV_3 *in, int Nvalues);5 PhotCode_PS1_DEV_3 *PhotCode_Internal_To_PS1_DEV_3 (PhotCode *in, int Nvalues);4 PhotCode *PhotCode_PS1_DEV_3_To_Internal (PhotCode_PS1_DEV_3 *in, off_t Nvalues); 5 PhotCode_PS1_DEV_3 *PhotCode_Internal_To_PS1_DEV_3 (PhotCode *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/ps1_ref_defs.h
r24748 r27435 1 Image *Image_PS1_REF_ToInternal (Image_PS1_REF *in, int Nvalues);2 Image_PS1_REF *ImageInternalTo_PS1_REF (Image *in, int Nvalues);3 Average *Average_PS1_REF_ToInternal (Average_PS1_REF *in, int Nvalues, SecFilt **primary);4 Average_PS1_REF *AverageInternalTo_PS1_REF (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_PS1_REF_ToInternal (Measure_PS1_REF *in, int Nvalues);6 Measure_PS1_REF *MeasureInternalTo_PS1_REF (Measure *in, int Nvalues);7 SecFilt *SecFilt_PS1_REF_ToInternal (SecFilt_PS1_REF *in, int Nvalues);8 SecFilt_PS1_REF *SecFiltInternalTo_PS1_REF (SecFilt *in, int Nvalues);1 Image *Image_PS1_REF_ToInternal (Image_PS1_REF *in, off_t Nvalues); 2 Image_PS1_REF *ImageInternalTo_PS1_REF (Image *in, off_t Nvalues); 3 Average *Average_PS1_REF_ToInternal (Average_PS1_REF *in, off_t Nvalues, SecFilt **primary); 4 Average_PS1_REF *AverageInternalTo_PS1_REF (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_PS1_REF_ToInternal (Measure_PS1_REF *in, off_t Nvalues); 6 Measure_PS1_REF *MeasureInternalTo_PS1_REF (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_PS1_REF_ToInternal (SecFilt_PS1_REF *in, off_t Nvalues); 8 SecFilt_PS1_REF *SecFiltInternalTo_PS1_REF (SecFilt *in, off_t Nvalues); 9 9 10 PhotCode *PhotCode_PS1_REF_To_Internal (PhotCode_PS1_REF *in, int Nvalues);11 PhotCode_PS1_REF *PhotCode_Internal_To_PS1_REF (PhotCode *in, int Nvalues);10 PhotCode *PhotCode_PS1_REF_To_Internal (PhotCode_PS1_REF *in, off_t Nvalues); 11 PhotCode_PS1_REF *PhotCode_Internal_To_PS1_REF (PhotCode *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/include/ps1_v1_defs.h
r21508 r27435 1 Image *Image_PS1_V1_ToInternal (Image_PS1_V1 *in, int Nvalues);2 Image_PS1_V1 *ImageInternalTo_PS1_V1 (Image *in, int Nvalues);3 Average *Average_PS1_V1_ToInternal (Average_PS1_V1 *in, int Nvalues, SecFilt **primary);4 Average_PS1_V1 *AverageInternalTo_PS1_V1 (Average *in, int Nvalues, SecFilt *primary);5 Measure *Measure_PS1_V1_ToInternal (Measure_PS1_V1 *in, int Nvalues);6 Measure_PS1_V1 *MeasureInternalTo_PS1_V1 (Measure *in, int Nvalues);7 SecFilt *SecFilt_PS1_V1_ToInternal (SecFilt_PS1_V1 *in, int Nvalues);8 SecFilt_PS1_V1 *SecFiltInternalTo_PS1_V1 (SecFilt *in, int Nvalues);1 Image *Image_PS1_V1_ToInternal (Image_PS1_V1 *in, off_t Nvalues); 2 Image_PS1_V1 *ImageInternalTo_PS1_V1 (Image *in, off_t Nvalues); 3 Average *Average_PS1_V1_ToInternal (Average_PS1_V1 *in, off_t Nvalues, SecFilt **primary); 4 Average_PS1_V1 *AverageInternalTo_PS1_V1 (Average *in, off_t Nvalues, SecFilt *primary); 5 Measure *Measure_PS1_V1_ToInternal (Measure_PS1_V1 *in, off_t Nvalues); 6 Measure_PS1_V1 *MeasureInternalTo_PS1_V1 (Measure *in, off_t Nvalues); 7 SecFilt *SecFilt_PS1_V1_ToInternal (SecFilt_PS1_V1 *in, off_t Nvalues); 8 SecFilt_PS1_V1 *SecFiltInternalTo_PS1_V1 (SecFilt *in, off_t Nvalues); 9 9 10 PhotCode *PhotCode_PS1_V1_To_Internal (PhotCode_PS1_V1 *in, int Nvalues);11 PhotCode_PS1_V1 *PhotCode_Internal_To_PS1_V1 (PhotCode *in, int Nvalues);10 PhotCode *PhotCode_PS1_V1_To_Internal (PhotCode_PS1_V1 *in, off_t Nvalues); 11 PhotCode_PS1_V1 *PhotCode_Internal_To_PS1_V1 (PhotCode *in, off_t Nvalues); -
trunk/Ohana/src/libdvo/src/LoadPhotcodesFITS.c
r24748 r27435 11 11 char extname[80]; 12 12 13 int i, code, Ncode, Nsec, Nsecfilt; 13 int i, code, Nsec, Nsecfilt; 14 off_t Ncode; 14 15 15 16 /* XXX choose more sensible lock timeouts! */ -
trunk/Ohana/src/libdvo/src/cmf-ps1-v1-alt.c
r24400 r27435 1 1 # include "dvo.h" 2 2 3 CMF_PS1_V2 *gfits_table_get_CMF_PS1_V1_Alt (FTable *ftable, int *Ndata, int*swapped) {3 CMF_PS1_V2 *gfits_table_get_CMF_PS1_V1_Alt (FTable *ftable, off_t *Ndata, char *swapped) { 4 4 5 int i, nitems;5 off_t i, nitems; 6 6 unsigned char *byte, *inbyte, *otbyte, tmp; 7 7 CMF_PS1_V2 *output; … … 13 13 // this function is a special case : it must have Nx = 136 14 14 if (ftable[0].header[0].Naxis[0] != 136) { 15 fprintf (stderr, "ERROR: wrong format for CMF_PS1_V1_Alt: % d vs %d\n",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); 16 16 exit (2); 17 17 } … … 83 83 84 84 free (ftable[0].buffer); 85 ftable[0].buffer = output;85 ftable[0].buffer = (char *) output; 86 86 87 87 // XXX other mods to make ftable consistent with CMF_PS1_V2? (Nx, EXTNAME?) -
trunk/Ohana/src/libdvo/src/coordops.c
r27025 r27435 307 307 int i; 308 308 double Ro, Xo, Yo; 309 double dX, dY, X, Y,Lo, Mo, dL, dM;309 double dX, dY, Lo, Mo, dL, dM; 310 310 double dLdX, dLdY, dMdX, dMdY, Do; 311 311 -
trunk/Ohana/src/libdvo/src/dvo_catalog.c
r26398 r27435 141 141 if (catalog[0].f == NULL) return (DVO_CAT_OPEN_FAIL); 142 142 143 fseek (catalog[0].f, 0, SEEK_SET);143 fseeko (catalog[0].f, 0, SEEK_SET); 144 144 return (DVO_CAT_OPEN_OK); 145 145 } … … 253 253 } 254 254 // check if the table has been sorted or not 255 status = gfits_scan (&catalog[0].header, "SORTED", "%t", 1, &catalog[0].sorted);255 status = gfits_scan_alt (&catalog[0].header, "SORTED", "%t", 1, &catalog[0].sorted); 256 256 if (!status) catalog[0].sorted = TRUE; 257 257 … … 302 302 303 303 // set the 'sorted' header keyword 304 gfits_modify (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted);304 gfits_modify_alt (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted); 305 305 306 306 // XXX handle return status … … 327 327 328 328 // set the 'sorted' header keyword 329 gfits_modify (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted);329 gfits_modify_alt (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted); 330 330 331 331 // XXX handle return status … … 353 353 // set the 'sorted' header keyword 354 354 catalog[0].sorted = FALSE; 355 gfits_modify (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted);355 gfits_modify_alt (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted); 356 356 357 357 /* update is only valid for catmode SPLIT */ … … 376 376 int dvo_catalog_check (Catalog *catalog, int Nsecfilt, int extend) { 377 377 378 int i, j, Nextra, in, out; 378 off_t in, out, i; 379 int j, Nextra; 379 380 SecFilt *insec, *outsec; 380 381 … … 409 410 410 411 void dvo_catalog_free (Catalog *catalog) { 412 413 if (catalog[0].catmode == DVO_MODE_SPLIT) { 414 415 if (catalog[0].measure_catalog) { 416 free (catalog[0].measure_catalog[0].filename); 417 dvo_catalog_free (catalog[0].measure_catalog); 418 free (catalog[0].measure_catalog); 419 } 420 if (catalog[0].missing_catalog) { 421 free (catalog[0].missing_catalog[0].filename); 422 dvo_catalog_free (catalog[0].missing_catalog); 423 free (catalog[0].missing_catalog); 424 } 425 if (catalog[0].secfilt_catalog) { 426 free (catalog[0].secfilt_catalog[0].filename); 427 dvo_catalog_free (catalog[0].secfilt_catalog); 428 free (catalog[0].secfilt_catalog); 429 } 430 } 411 431 dvo_catalog_free_data (catalog); 432 412 433 gfits_free_header (&catalog[0].header); 413 434 } … … 444 465 */ 445 466 446 int dvo_catalog_load_segment (Catalog *catalog, int VERBOSE, int start, int Nrows) {467 int dvo_catalog_load_segment (Catalog *catalog, int VERBOSE, off_t start, off_t Nrows) { 447 468 448 469 switch (catalog[0].catmode) { -
trunk/Ohana/src/libdvo/src/dvo_catalog_create.c
r20936 r27435 27 27 } 28 28 gfits_create_header (&catalog[0].header); 29 29 30 30 if (catalog[0].catmode == DVO_MODE_SPLIT) { 31 31 path = pathname (catalog[0].filename); … … 39 39 /* create basic data for measure catalog file */ 40 40 gfits_create_header (&catalog[0].measure_catalog[0].header); 41 41 42 ALLOCATE (catalog[0].measure_catalog[0].filename, char, length); 43 42 44 sprintf (catalog[0].measure_catalog[0].filename, "%s/%s.cpm", path, root); 43 45 file = filebasename (catalog[0].measure_catalog[0].filename); … … 85 87 exit (2); 86 88 } 87 88 89 } 89 90 -
trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c
r24755 r27435 3 3 int dvo_catalog_load_mef (Catalog *catalog, int VERBOSE) { 4 4 5 int Nitems, Nbytes, Nexpect, Naverage, Nmeasure, Nmissing, Nsecfilt; 5 int Nsecfilt; 6 off_t Nitems, Nbytes, Nexpect, Naverage, Nmeasure, Nmissing; 6 7 FILE *f; 7 8 … … 15 16 16 17 /* move pointer past header -- must be already read (load_catalog) */ 17 fseek (f, catalog[0].header.size, SEEK_SET);18 fseeko (f, catalog[0].header.datasize, SEEK_SET); 18 19 19 20 /* matrix should be empty */ … … 23 24 } 24 25 /* get the components from the header */ 25 if (!gfits_scan (&catalog[0].header, "NSTARS", "% d", 1,&Naverage)) return (FALSE);26 if (!gfits_scan (&catalog[0].header, "NMEAS", "% d", 1,&Nmeasure)) return (FALSE);27 if (!gfits_scan (&catalog[0].header, "NMISS", "% d", 1,&Nmissing)) return (FALSE);28 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1,&Nsecfilt)) Nsecfilt = 0;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); 29 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 29 30 30 31 /* the OBJID is a counter that uniquely defines an average entry and never changes. if … … 72 73 catalog[0].average = FtableToAverage (&ftable, &Naverage, &catalog[0].catformat, &primary); 73 74 if (Naverage != catalog[0].Naves_disk) { 74 fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (% d vs %d)\n", 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 76 } 76 77 catalog[0].Naverage = catalog[0].Naves_disk; … … 78 79 } else { 79 80 Nbytes = gfits_data_size (&header); 80 fseek (f, Nbytes, SEEK_CUR);81 fseeko (f, Nbytes, SEEK_CUR); 81 82 ALLOCATE (catalog[0].average, Average, 1); 82 83 catalog[0].Naverage = 0; … … 99 100 catalog[0].measure = FtableToMeasure (&ftable, &catalog[0].Nmeasure, &catalog[0].catformat); 100 101 if (Nmeasure != catalog[0].Nmeas_disk) { 101 fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (% d vs %d)\n", 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 103 } 103 104 catalog[0].Nmeasure = catalog[0].Nmeas_disk; … … 105 106 } else { 106 107 Nbytes = gfits_data_size (&header); 107 fseek (f, Nbytes, SEEK_CUR);108 fseeko (f, Nbytes, SEEK_CUR); 108 109 ALLOCATE (catalog[0].measure, Measure, 1); 109 110 catalog[0].Nmeasure = 0; … … 125 126 catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL); 126 127 if (Nmissing != catalog[0].Nmiss_disk) { 127 fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (% d vs %d)\n", 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 129 } 129 130 catalog[0].Nmissing = catalog[0].Nmiss_disk; … … 131 132 } else { 132 133 Nbytes = gfits_data_size (&header); 133 fseek (f, Nbytes, SEEK_CUR);134 fseeko (f, Nbytes, SEEK_CUR); 134 135 ALLOCATE (catalog[0].missing, Missing, 1); 135 136 catalog[0].Nmissing = 0; … … 153 154 catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat); 154 155 if (Nexpect != Nitems) { 155 fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (% d vs %d)\n", 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 157 } 157 158 … … 159 160 we need to interleave these magnitudes with the secfilt entries just loaded */ 160 161 if (primary != NULL) { 161 int Ntmpfilt, Ntotal, i, j;162 off_t Ntmpfilt, Ntotal, i, j; 162 163 SecFilt *tmpfilt; 163 164 tmpfilt = catalog[0].secfilt; … … 182 183 /* no real need to skip the data array here... */ 183 184 Nbytes = gfits_data_size (&header); 184 fseek (f, Nbytes, SEEK_CUR);185 fseeko (f, Nbytes, SEEK_CUR); 185 186 if (primary != NULL) { 186 187 free (primary); … … 200 201 int dvo_catalog_save_mef (Catalog *catalog, char VERBOSE) { 201 202 202 int Nitems;203 off_t Nitems; 203 204 FILE *f; 204 205 Matrix matrix; … … 207 208 SecFilt *primary; 208 209 SecFilt *secfilt; 209 int i, j, Nsecfilt, Nallfilt, Ntotal; 210 off_t i, j, Nallfilt, Ntotal; 211 int Nsecfilt; 210 212 211 213 if (catalog[0].Naverage == 0) { … … 236 238 237 239 /* make sure header is consistent with data */ 238 gfits_modify (&catalog[0].header, "NSTARS", "% d", 1,catalog[0].Naverage);239 gfits_modify (&catalog[0].header, "NMEAS", "% d", 1,catalog[0].Nmeasure);240 gfits_modify (&catalog[0].header, "NMISS", "% d", 1,catalog[0].Nmissing);241 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1,Nsecfilt);242 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);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); 243 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt); 244 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 243 245 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); 244 246 245 247 f = catalog[0].f; 246 248 /* rewind file pointers and truncate */ 247 fseek (f, 0, SEEK_SET);249 fseeko (f, 0LL, SEEK_SET); 248 250 ftruncate (fileno (catalog[0].f), 0); 249 251 ftable.header = &header; -
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
r24748 r27435 5 5 int dvo_catalog_load_raw (Catalog *catalog, int VERBOSE) { 6 6 7 int Nitems, nitems;8 int i, Nmeas, Nmiss, size;9 int NewMeasure, Nskip;10 int AverageSize, MeasureSize, MissingSize, SecFiltSize;7 off_t Nitems, nitems; 8 off_t i, Nmeas, Nmiss, size; 9 off_t NewMeasure, Nskip; 10 off_t AverageSize, MeasureSize, MissingSize, SecFiltSize; 11 11 FILE *f; 12 12 struct stat filestatus; … … 17 17 18 18 /* move pointer past header -- must be already read (load_catalog) */ 19 fseek (f, catalog[0].header.size, SEEK_SET);19 fseeko (f, catalog[0].header.datasize, SEEK_SET); 20 20 21 21 /* get the components from the header */ 22 22 catalog[0].Naverage = catalog[0].Nmeasure = catalog[0].Nmissing = catalog[0].Nsecfilt = 0; 23 if (!gfits_scan (&catalog[0].header, "NSTARS", "% d", 1,&catalog[0].Naverage)) return (FALSE);24 if (!gfits_scan (&catalog[0].header, "NMEAS", "% d", 1,&catalog[0].Nmeasure)) return (FALSE);25 if (!gfits_scan (&catalog[0].header, "NMISS", "% d", 1,&catalog[0].Nmissing)) return (FALSE);26 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1,&catalog[0].Nsecfilt)) 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); 26 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0; 27 27 28 28 /* the OBJID is a counter that uniquely defines an average entry and never changes. if … … 45 45 } 46 46 /* special cases: old versions of the DB tables which were poorly identified */ 47 if (gfits_scan (&catalog[0].header, "NEWMEAS", "%t", 1, &NewMeasure)) {47 if (gfits_scan_alt (&catalog[0].header, "NEWMEAS", "%t", 1, &NewMeasure)) { 48 48 catalog[0].catformat = DVO_FORMAT_ELIXIR; // special case for ELIXIR 49 49 goto got_format; … … 98 98 99 99 /* predicted file size - for double checking data validity */ 100 size = catalog[0].header. size;100 size = catalog[0].header.datasize; 101 101 size += AverageSize * catalog[0].Naverage; 102 102 size += MeasureSize * catalog[0].Nmeasure; … … 112 112 if (VERBOSE) { 113 113 fprintf (stderr, "star catalog has inconsistent size\n"); 114 fprintf (stderr, "average: % d = %d bytes\n", catalog[0].Naverage,catalog[0].Naverage*AverageSize);115 fprintf (stderr, "measure: % d = %d bytes\n", catalog[0].Nmeasure,catalog[0].Nmeasure*MeasureSize);116 fprintf (stderr, "missing: % d = %d bytes\n", catalog[0].Nmissing,catalog[0].Nmissing*MissingSize);117 fprintf (stderr, "secfilt: % d = %d bytes\n", catalog[0].Nsecfilt,catalog[0].Nsecfilt*SecFiltSize*catalog[0].Naverage);118 fprintf (stderr, "expect: % d, found: %d\n", size, (int)filestatus.st_size);114 fprintf (stderr, "average: %lld = %lld bytes\n", (long long) catalog[0].Naverage, (long long) catalog[0].Naverage*AverageSize); 115 fprintf (stderr, "measure: %lld = %lld bytes\n", (long long) catalog[0].Nmeasure, (long long) catalog[0].Nmeasure*MeasureSize); 116 fprintf (stderr, "missing: %lld = %lld bytes\n", (long long) catalog[0].Nmissing, (long long) catalog[0].Nmissing*MissingSize); 117 fprintf (stderr, "secfilt: %lld = %lld bytes\n", (long long) catalog[0].Nsecfilt, (long long) catalog[0].Nsecfilt*SecFiltSize*catalog[0].Naverage); 118 fprintf (stderr, "expect: %lld, found: %lld\n", (long long) size, (long long) filestatus.st_size); 119 119 } 120 120 return (FALSE); … … 136 136 /* skip over averages */ 137 137 Nskip = catalog[0].Naverage * AverageSize; 138 fseek (f, Nskip, SEEK_CUR);138 fseeko (f, Nskip, SEEK_CUR); 139 139 } 140 140 … … 145 145 /* skip over measures */ 146 146 Nskip = catalog[0].Nmeasure * MeasureSize; 147 fseek (f, Nskip, SEEK_CUR);147 fseeko (f, Nskip, SEEK_CUR); 148 148 } 149 149 … … 154 154 nitems = fread (catalog[0].missing, MissingSize, Nitems, f); 155 155 if (nitems != Nitems) { 156 if (VERBOSE) fprintf (stderr, "failed to read missing from catalog file %s (% d vs %d)\n", catalog[0].filename, nitems,Nitems);156 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 157 return (FALSE); 158 158 } … … 161 161 /* skip over missings */ 162 162 Nskip = catalog[0].Nmissing * MissingSize; 163 fseek (f, Nskip, SEEK_CUR);163 fseeko (f, Nskip, SEEK_CUR); 164 164 } 165 165 … … 172 172 we need to interleave these magnitudes with the secfilt entries just loaded */ 173 173 if (primary != NULL) { 174 int Ntmpfilt, Nsecfilt, Ntotal, i, j;174 off_t Ntmpfilt, Nsecfilt, Ntotal, i, j; 175 175 SecFilt *tmpfilt; 176 176 tmpfilt = catalog[0].secfilt; … … 193 193 /* skip over secfilts */ 194 194 Nskip = catalog[0].Nsecfilt * catalog[0].Naverage * SecFiltSize; 195 fseek (f, Nskip, SEEK_CUR);195 fseeko (f, Nskip, SEEK_CUR); 196 196 if (primary != NULL) free (primary); 197 197 } 198 198 199 if (VERBOSE) fprintf (stderr, "read %d stars from catalog file %s (%d measurements, %d missing, %d secondary filters)\n", 200 catalog[0].Naverage, catalog[0].filename, catalog[0].Nmeasure, catalog[0].Nmissing, catalog[0].Nsecfilt); 199 if (VERBOSE) fprintf (stderr, "read %lld stars from catalog file %s (%lld measurements, %lld missing, %lld secondary filters)\n", 200 (long long) catalog[0].Naverage, 201 catalog[0].filename, 202 (long long) catalog[0].Nmeasure, 203 (long long) catalog[0].Nmissing, 204 (long long) catalog[0].Nsecfilt); 201 205 202 206 /* check data integrity */ … … 209 213 if (VERBOSE) { 210 214 fprintf (stderr, "****** data in catalog %s is corrupt, sums don't check\n", catalog[0].filename); 211 fprintf (stderr, "****** Nmeas: % d, %d\n", Nmeas,catalog[0].Nmeasure);212 fprintf (stderr, "****** Nmiss: % d, %d\n", Nmiss,catalog[0].Nmissing);215 fprintf (stderr, "****** Nmeas: %lld, %lld\n", (long long) Nmeas, (long long) catalog[0].Nmeasure); 216 fprintf (stderr, "****** Nmiss: %lld, %lld\n", (long long) Nmiss, (long long) catalog[0].Nmissing); 213 217 } 214 218 return (FALSE); … … 226 230 int dvo_catalog_save_raw (Catalog *catalog, char VERBOSE) { 227 231 228 int Nitems, nitems;232 off_t Nitems, nitems; 229 233 FILE *f; 230 234 SecFilt *primary; 231 235 SecFilt *secfilt; 232 int i, j, Nsecfilt, Nallfilt, Ntotal;236 off_t i, j, Nsecfilt, Nallfilt, Ntotal; 233 237 234 238 if (catalog[0].Naverage == 0) { … … 259 263 260 264 /* make sure header is consistent with data */ 261 gfits_modify (&catalog[0].header, "NSTARS", "% d", 1,catalog[0].Naverage);262 gfits_modify (&catalog[0].header, "NMEAS", "% d", 1,catalog[0].Nmeasure);263 gfits_modify (&catalog[0].header, "NMISS", "% d", 1,catalog[0].Nmissing);264 gfits_modify (&catalog[0].header, "NSECFILT", "% d", 1,catalog[0].Nsecfilt);265 gfits_modify (&catalog[0].header, "NSTARS", "%lld", 1, (long long) catalog[0].Naverage); 266 gfits_modify (&catalog[0].header, "NMEAS", "%lld", 1, (long long) catalog[0].Nmeasure); 267 gfits_modify (&catalog[0].header, "NMISS", "%lld", 1, (long long) catalog[0].Nmissing); 268 gfits_modify (&catalog[0].header, "NSECFILT", "%lld", 1, (long long) catalog[0].Nsecfilt); 265 269 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); 266 270 … … 278 282 /* rewind file pointers and truncate file */ 279 283 f = catalog[0].f; 280 fseek (f, 0, SEEK_SET);284 fseeko (f, 0, SEEK_SET); 281 285 ftruncate (fileno (catalog[0].f), 0); 282 286 283 287 /* write header data (use gfits_write_header?) */ 284 nitems = fwrite (catalog[0].header.buffer, 1, catalog[0].header. size, f);285 if (nitems != catalog[0].header. size) {288 nitems = fwrite (catalog[0].header.buffer, 1, catalog[0].header.datasize, f); 289 if (nitems != catalog[0].header.datasize) { 286 290 if (VERBOSE) fprintf (stderr, "failed to write header\n"); 287 291 goto failure; … … 330 334 in these cases, save these values in primary; otherwise set primary to NULL */ 331 335 332 Average *ReadRawAverage (FILE *f, int Naverage, intformat, SecFilt **primary) {336 Average *ReadRawAverage (FILE *f, off_t Naverage, char format, SecFilt **primary) { 333 337 334 338 Average *average; … … 339 343 # define FORMAT_CASE(NAME,TYPE) \ 340 344 case DVO_FORMAT_##NAME: { \ 341 int nitems; \345 off_t nitems; \ 342 346 Average_##TYPE *tmpAverage; \ 343 347 ALLOCATE (tmpAverage, Average_##TYPE, MAX (Naverage, 1)); \ 344 348 nitems = fread (tmpAverage, sizeof(Average_##TYPE), Naverage, f); \ 345 349 if (nitems != Naverage) { \ 346 fprintf (stderr, "failed to read averages (% d vs %d)\n", nitems,Naverage); \350 fprintf (stderr, "failed to read averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); \ 347 351 return (NULL); \ 348 352 } \ … … 354 358 switch (format) { 355 359 case DVO_FORMAT_INTERNAL: { 356 int nitems;360 off_t nitems; 357 361 ALLOCATE (average, Average, MAX (Naverage, 1)); 358 362 nitems = fread (average, sizeof(Average), Naverage, f); 359 363 if (nitems != Naverage) { 360 fprintf (stderr, "failed to read averages (% d vs %d)\n", nitems,Naverage);364 fprintf (stderr, "failed to read averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); 361 365 return (NULL); 362 366 } … … 384 388 /* accepts and converts internal average formats and outputs 385 389 raw data in the specified format */ 386 int WriteRawAverage (FILE *f, Average *average, int Naverage, intformat, SecFilt *primary) {390 int WriteRawAverage (FILE *f, Average *average, off_t Naverage, char format, SecFilt *primary) { 387 391 388 392 // this macro generates the case statements for each type 389 393 # define FORMAT_CASE(NAME,TYPE) \ 390 394 case DVO_FORMAT_##NAME: { \ 391 int nitems; \395 off_t nitems; \ 392 396 Average_##TYPE *tmpAverage; \ 393 397 tmpAverage = AverageInternalTo_##TYPE (average, Naverage, primary); \ … … 396 400 free (tmpAverage); \ 397 401 if (nitems != Naverage) { \ 398 fprintf (stderr, "failed to write averages (% d vs %d)\n", nitems,Naverage); \402 fprintf (stderr, "failed to write averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); \ 399 403 return (FALSE); \ 400 404 } \ … … 403 407 switch (format) { 404 408 case DVO_FORMAT_INTERNAL: { 405 int nitems;409 off_t nitems; 406 410 gfits_convert_Average (average, sizeof(Average), Naverage); 407 411 nitems = fwrite (average, sizeof(Average), Naverage, f); 408 412 if (nitems != Naverage) { 409 fprintf (stderr, "failed to write averages (% d vs %d)\n", nitems,Naverage);413 fprintf (stderr, "failed to write averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); 410 414 return (FALSE); 411 415 } … … 432 436 /** Average / Raw Table conversions **/ 433 437 434 Measure *ReadRawMeasure (FILE *f, int Nmeasure, intformat) {438 Measure *ReadRawMeasure (FILE *f, off_t Nmeasure, char format) { 435 439 436 440 Measure *measure; … … 439 443 # define FORMAT_CASE(NAME,TYPE) \ 440 444 case DVO_FORMAT_##NAME: { \ 441 int nitems; \445 off_t nitems; \ 442 446 Measure_##TYPE *tmpMeasure; \ 443 447 ALLOCATE (tmpMeasure, Measure_##TYPE, MAX (Nmeasure, 1)); \ 444 448 nitems = fread (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure, f); \ 445 449 if (nitems != Nmeasure) { \ 446 fprintf (stderr, "failed to read measures (% d vs %d)\n", nitems,Nmeasure); \450 fprintf (stderr, "failed to read measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); \ 447 451 return (NULL); \ 448 452 } \ … … 454 458 switch (format) { 455 459 case DVO_FORMAT_INTERNAL: { 456 int nitems;460 off_t nitems; 457 461 ALLOCATE (measure, Measure, MAX (Nmeasure, 1)); 458 462 nitems = fread (measure, sizeof(Measure), Nmeasure, f); 459 463 if (nitems != Nmeasure) { 460 fprintf (stderr, "failed to read measures (% d vs %d)\n", nitems,Nmeasure);464 fprintf (stderr, "failed to read measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); 461 465 return (NULL); 462 466 } … … 484 488 /* accepts and converts internal measure formats and outputs 485 489 raw data in the specified format */ 486 int WriteRawMeasure (FILE *f, Measure *measure, int Nmeasure, intformat) {490 int WriteRawMeasure (FILE *f, Measure *measure, off_t Nmeasure, char format) { 487 491 488 492 // this macro generates the case statements for each type 489 493 # define FORMAT_CASE(NAME,TYPE) \ 490 494 case DVO_FORMAT_##NAME: { \ 491 int nitems; \495 off_t nitems; \ 492 496 Measure_##TYPE *tmpMeasure; \ 493 497 tmpMeasure = MeasureInternalTo_##TYPE (measure, Nmeasure); \ … … 496 500 free (tmpMeasure); \ 497 501 if (nitems != Nmeasure) { \ 498 fprintf (stderr, "failed to write measures (% d vs %d)\n", nitems,Nmeasure); \502 fprintf (stderr, "failed to write measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); \ 499 503 return (FALSE); \ 500 504 } \ … … 503 507 switch (format) { 504 508 case DVO_FORMAT_INTERNAL: { 505 int nitems;509 off_t nitems; 506 510 gfits_convert_Measure (measure, sizeof(Measure), Nmeasure); 507 511 nitems = fwrite (measure, sizeof(Measure), Nmeasure, f); 508 512 if (nitems != Nmeasure) { 509 fprintf (stderr, "failed to write measures (% d vs %d)\n", nitems,Nmeasure);513 fprintf (stderr, "failed to write measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); 510 514 return (FALSE); 511 515 } … … 532 536 /** SecFilt / Raw Table conversions **/ 533 537 534 SecFilt *ReadRawSecFilt (FILE *f, int Nsecfilt, intformat) {538 SecFilt *ReadRawSecFilt (FILE *f, off_t Nsecfilt, char format) { 535 539 536 540 SecFilt *secfilt; … … 539 543 # define FORMAT_CASE(NAME,TYPE) \ 540 544 case DVO_FORMAT_##NAME: { \ 541 int nitems; \545 off_t nitems; \ 542 546 SecFilt_##TYPE *tmpSecFilt; \ 543 547 ALLOCATE (tmpSecFilt, SecFilt_##TYPE, MAX (Nsecfilt, 1)); \ 544 548 nitems = fread (tmpSecFilt, sizeof(SecFilt_##TYPE), Nsecfilt, f); \ 545 549 if (nitems != Nsecfilt) { \ 546 fprintf (stderr, "failed to read secfilts (% d vs %d)\n", nitems,Nsecfilt); \550 fprintf (stderr, "failed to read secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); \ 547 551 return (NULL); \ 548 552 } \ … … 554 558 switch (format) { 555 559 case DVO_FORMAT_INTERNAL: { 556 int nitems;560 off_t nitems; 557 561 ALLOCATE (secfilt, SecFilt, MAX (Nsecfilt, 1)); 558 562 nitems = fread (secfilt, sizeof(SecFilt), Nsecfilt, f); 559 563 if (nitems != Nsecfilt) { 560 fprintf (stderr, "failed to read secfilts (% d vs %d)\n", nitems,Nsecfilt);564 fprintf (stderr, "failed to read secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); 561 565 return (NULL); 562 566 } … … 584 588 /* accepts and converts internal secfilt formats and outputs 585 589 raw data in the specified format */ 586 int WriteRawSecFilt (FILE *f, SecFilt *secfilt, int Nsecfilt, intformat) {590 int WriteRawSecFilt (FILE *f, SecFilt *secfilt, off_t Nsecfilt, char format) { 587 591 588 592 // this macro generates the case statements for each type 589 593 # define FORMAT_CASE(NAME,TYPE) \ 590 594 case DVO_FORMAT_##NAME: { \ 591 int nitems; \595 off_t nitems; \ 592 596 SecFilt_##TYPE *tmpSecFilt; \ 593 597 tmpSecFilt = SecFiltInternalTo_##TYPE (secfilt, Nsecfilt); \ … … 596 600 free (tmpSecFilt); \ 597 601 if (nitems != Nsecfilt) { \ 598 fprintf (stderr, "failed to write secfilts (% d vs %d)\n", nitems,Nsecfilt); \602 fprintf (stderr, "failed to write secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); \ 599 603 return (FALSE); \ 600 604 } \ … … 603 607 switch (format) { 604 608 case DVO_FORMAT_INTERNAL: { 605 int nitems;609 off_t nitems; 606 610 gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt); 607 611 nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f); 608 612 if (nitems != Nsecfilt) { 609 fprintf (stderr, "failed to write secfilts (% d vs %d)\n", nitems,Nsecfilt);613 fprintf (stderr, "failed to write secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); 610 614 return (FALSE); 611 615 } -
trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
r20982 r27435 8 8 int dvo_catalog_secfilt_to_primary (Catalog *catalog, SecFilt **myPrimary, SecFilt **mySecfilt, int *myNsecfilt) { 9 9 10 int i, j, Nallfilt, Nsecfilt, Ntotal;10 off_t i, j, Nallfilt, Nsecfilt, Ntotal; 11 11 12 12 SecFilt *primary; … … 43 43 } 44 44 45 int dvo_catalog_primary_to_secfilt (Catalog *catalog, SecFilt *primary, int Naves) {46 47 int Ntmpfilt, Nsecfilt, Ntotal, i, j;45 int dvo_catalog_primary_to_secfilt (Catalog *catalog, SecFilt *primary, off_t Naves) { 46 47 off_t Ntmpfilt, Nsecfilt, Ntotal, i, j; 48 48 SecFilt *tmpfilt; 49 49 … … 71 71 } 72 72 73 int dvo_catalog_save_subcat (Catalog *catalog, FTable *ftable, int start, int Nrows, int Ndisk, int Ntotal) {73 int dvo_catalog_save_subcat (Catalog *catalog, FTable *ftable, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal) { 74 74 75 75 Matrix matrix; 76 76 77 77 /* rewind file pointers and truncate (file is still open) */ 78 fseek (catalog->f, 0, SEEK_SET);78 fseeko (catalog->f, 0LL, SEEK_SET); 79 79 80 80 // write PHU header … … 103 103 int dvo_catalog_open_subcat (Catalog *catalog, Catalog **Subcat, Header *header, char *name, int VERBOSE) { 104 104 105 int Nskip, status; 105 off_t Nskip; 106 int status; 106 107 char *path, string[80]; 107 108 Catalog *subcat; … … 145 146 } 146 147 Nskip = gfits_data_size (&subcat[0].header); 147 fseek (subcat[0].f, Nskip, SEEK_CUR);148 fseeko (subcat[0].f, Nskip, SEEK_CUR); 148 149 149 150 /* read Measure table header */ … … 158 159 int dvo_catalog_load_split (Catalog *catalog, int VERBOSE) { 159 160 160 int Nbytes, Nitems, Naverage, Nmeasure, Nmissing, Nsecfilt, status; 161 off_t Nbytes; 162 off_t Naverage, Nmeasure, Nmissing; 163 off_t Nitems; 164 int status, Nsecfilt; 161 165 Header header; 162 166 FTable ftable; … … 170 174 171 175 /* get the components from the header - these duplicate information in the split files (NAXIS2) */ 172 if (!gfits_scan (&catalog[0].header, "NSTARS", "% d", 1,&Naverage)) return (FALSE);173 if (!gfits_scan (&catalog[0].header, "NMEAS", "% d", 1,&Nmeasure)) return (FALSE);174 if (!gfits_scan (&catalog[0].header, "NMISS", "% d", 1,&Nmissing)) return (FALSE);175 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1,&Nsecfilt)) Nsecfilt = 0;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); 179 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 176 180 177 181 /* the OBJID is a counter that uniquely defines an average entry and never changes. if 178 182 it is not defined for a legacy database, we can generate them using the existing index values. 179 183 If it is missing, give a warning and recommend the user upgrade the DB */ 180 if (!gfits_scan (&catalog[0].header, "OBJID", "% d", 1, &catalog[0].objID)) {184 if (!gfits_scan (&catalog[0].header, "OBJID", "%u", 1, &catalog[0].objID)) { 181 185 if (VERBOSE) fprintf (stderr, "WARNING: OBJID is not set for this database: upgrade for full feature set\n"); 182 186 catalog[0].objID = 0; 183 187 } 184 if (!gfits_scan (&catalog[0].header, "CATID", "% d", 1, &catalog[0].catID)) {188 if (!gfits_scan (&catalog[0].header, "CATID", "%u", 1, &catalog[0].catID)) { 185 189 if (VERBOSE) fprintf (stderr, "WARNING: CATID is not set for this database: upgrade for full feature set\n"); 186 190 catalog[0].catID = 0; … … 206 210 if (catalog[0].catflags & LOAD_AVES) { 207 211 /* move pointer past header -- must be already read (load_catalog) */ 208 Nbytes = catalog[0].header. size + gfits_data_size (&catalog[0].header);209 fseek (catalog[0].f, Nbytes, SEEK_SET);212 Nbytes = catalog[0].header.datasize + gfits_data_size (&catalog[0].header); 213 fseeko (catalog[0].f, Nbytes, SEEK_SET); 210 214 /* read Average table header */ 211 215 if (!gfits_fread_header (catalog[0].f, &header)) { … … 223 227 catalog[0].average = FtableToAverage (&ftable, &Naverage, &catalog[0].catformat, &primary); 224 228 if (Naverage != catalog[0].Naves_disk) { 225 fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (% d vs %d)\n", 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); 226 230 } 227 231 gfits_free_header (&header); … … 252 256 catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat); 253 257 if (Nmeasure != catalog[0].Nmeas_disk) { 254 fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (% d vs %d)\n", 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); 255 259 } 256 260 catalog[0].Nmeasure = catalog[0].Nmeas_disk; … … 282 286 catalog[0].missing = gfits_table_get_Missing (&ftable, &Nmissing, NULL); 283 287 if (Nmissing != catalog[0].Nmiss_disk) { 284 fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (% d vs %d)\n", 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); 285 289 } 286 290 catalog[0].Nmissing = catalog[0].Nmiss_disk; … … 311 315 catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat); 312 316 if (Nitems != catalog[0].Nsecf_disk) { 313 fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (% d vs %d)\n", 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); 314 318 } 315 319 catalog[0].Nsecf_mem = catalog[0].Nsecf_disk; … … 339 343 // I need to always read both average and secfilt at the same time to correctly manage the 340 344 // primary secfilt values... 341 int dvo_catalog_load_segment_split (Catalog *catalog, int VERBOSE, int start, int Nrows) { 342 343 int Nbytes, Naverage, Nexpect, Nitems, Nmeasure, Nmissing; 345 int dvo_catalog_load_segment_split (Catalog *catalog, int VERBOSE, off_t start, off_t Nrows) { 346 347 off_t Nbytes; 348 off_t Naverage, Nexpect, Nitems, Nmeasure, Nmissing; 344 349 Header header; 345 350 FTable ftable; … … 357 362 /*** load the Average data ***/ 358 363 /* move pointer past header and matrix -- must be already read (load_catalog) */ 359 Nbytes = catalog[0].header. size + gfits_data_size (&catalog[0].header);360 fseek (catalog[0].f, Nbytes, SEEK_SET);364 Nbytes = catalog[0].header.datasize + gfits_data_size (&catalog[0].header); 365 fseeko (catalog[0].f, Nbytes, SEEK_SET); 361 366 /* read Average table header */ 362 367 if (!gfits_fread_header (catalog[0].f, &header)) { … … 386 391 387 392 /* move pointer past header -- must be already read (load_catalog) */ 388 Nbytes = subcat[0].header. size + gfits_data_size (&subcat[0].header);389 fseek (subcat[0].f, Nbytes, SEEK_SET);393 Nbytes = subcat[0].header.datasize + gfits_data_size (&subcat[0].header); 394 fseeko (subcat[0].f, Nbytes, SEEK_SET); 390 395 391 396 /* read Secfilt table header */ … … 403 408 catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat); 404 409 if (Nitems != Nexpect) { 405 fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (% d vs %d)\n", 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); 406 411 } 407 412 catalog[0].Nsecf_mem = catalog[0].Naverage * catalog[0].Nsecfilt; … … 422 427 423 428 /* move pointer past header -- must be already read (load_catalog) */ 424 Nbytes = subcat[0].header. size + gfits_data_size (&subcat[0].header);425 fseek (subcat[0].f, Nbytes, SEEK_SET);429 Nbytes = subcat[0].header.datasize + gfits_data_size (&subcat[0].header); 430 fseeko (subcat[0].f, Nbytes, SEEK_SET); 426 431 427 432 /* read Measure table header */ … … 439 444 catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat); 440 445 if (Nmeasure != Nrows) { 441 fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (% d vs %d)\n", Nmeasure,Nrows);446 fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) Nrows); 442 447 } 443 448 gfits_free_header (&header); … … 452 457 453 458 /* move pointer past header -- must be already read (load_catalog) */ 454 Nbytes = subcat[0].header. size + gfits_data_size (&subcat[0].header);455 fseek (subcat[0].f, Nbytes, SEEK_SET);459 Nbytes = subcat[0].header.datasize + gfits_data_size (&subcat[0].header); 460 fseeko (subcat[0].f, Nbytes, SEEK_SET); 456 461 457 462 /* read Missing table header */ … … 469 474 catalog[0].missing = gfits_table_get_Missing (&ftable, &Nmissing, NULL); 470 475 if (Nmissing != Nrows) { 471 fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (% d vs %d)\n", Nmissing,Nrows);476 fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) Nrows); 472 477 } 473 478 gfits_free_header (&header); … … 481 486 int dvo_catalog_save_split (Catalog *catalog, char VERBOSE) { 482 487 483 int Nitems;488 off_t Nitems; 484 489 Header header; 485 490 FTable ftable; 486 491 SecFilt *primary, *secfilt; 487 492 int Nsecfilt; 488 int Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new;489 int first, start, Nrows;493 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new; 494 off_t first, start, Nrows; 490 495 491 496 ftable.header = &header; … … 519 524 520 525 /* make sure header is consistent with data */ 521 gfits_modify (&catalog[0].header, "NSTARS", "% d", 1,Naves_disk_new);522 gfits_modify (&catalog[0].header, "NMEAS", "% d", 1,Nmeas_disk_new);523 gfits_modify (&catalog[0].header, "NMISS", "% d", 1,Nmiss_disk_new);524 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt);525 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);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); 529 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt); 530 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 526 531 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); 527 532 … … 555 560 // even if we do not save the average table, we need to keep the header in sync 556 561 /* rewind file pointers and truncate (file is still open) */ 557 fseek (catalog[0].f, 0, SEEK_SET);562 fseeko (catalog[0].f, 0, SEEK_SET); 558 563 559 564 /* write table PHU header - always write this out */ … … 662 667 int dvo_catalog_save_split_complete (Catalog *catalog, char VERBOSE) { 663 668 664 int Nitems;669 off_t Nitems; 665 670 Header header; 666 671 FTable ftable; 667 672 SecFilt *primary, *secfilt; 668 673 int Nsecfilt; 669 int Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new;670 int first, start, Nrows;674 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new; 675 off_t first, start, Nrows; 671 676 672 677 ftable.header = &header; … … 693 698 } 694 699 695 if ((catalog[0].Naverage > 0) && (Naves_disk_new == 0)) {696 Naves_disk_new = catalog[0].Naverage;700 Naves_disk_new = catalog[0].Naverage; 701 if (Naves_disk_new == 0) { 697 702 if (VERBOSE) fprintf (stderr, "resulting catalog is empty; delete it\n"); 698 703 // unlink (); 699 704 return (TRUE); 700 705 } 701 702 Naves_disk_new = catalog[0].Naverage;703 706 704 707 // for the appropriate types, pull out the first secfilt and pass to AverageToFtable as primary … … 720 723 721 724 /* make sure header is consistent with data */ 722 gfits_modify (&catalog[0].header, "NSTARS", "% d", 1,Naves_disk_new);723 gfits_modify (&catalog[0].header, "NMEAS", "% d", 1,Nmeas_disk_new);724 gfits_modify (&catalog[0].header, "NMISS", "% d", 1,Nmiss_disk_new);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 728 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt); 726 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);729 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 727 730 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); 728 731 … … 756 759 // even if we do not save the average table, we need to keep the header in sync 757 760 /* rewind file pointers and truncate (file is still open) */ 758 fseek (catalog[0].f, 0, SEEK_SET);761 fseeko (catalog[0].f, 0, SEEK_SET); 759 762 760 763 /* write table PHU header - always write this out */ … … 867 870 SecFilt *primary, *secfilt; 868 871 int Nsecfilt; 869 int Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new;870 int first, start, Nrows;872 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new; 873 off_t first, start, Nrows; 871 874 872 875 ftable.header = &header; … … 899 902 900 903 /* make sure header is consistent with data */ 901 gfits_modify (&catalog[0].header, "NSTARS", "% d", 1,Naves_disk_new);902 gfits_modify (&catalog[0].header, "NMEAS", "% d", 1,Nmeas_disk_new);903 gfits_modify (&catalog[0].header, "NMISS", "% d", 1,Nmiss_disk_new);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 907 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt); 905 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);908 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 906 909 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); 907 910 … … 935 938 // even if we do not save the average table, we need to keep the header in sync 936 939 /* rewind file pointers and truncate (file is still open) */ 937 fseek (catalog[0].f, 0, SEEK_SET);940 fseeko (catalog[0].f, 0, SEEK_SET); 938 941 939 942 /* write table PHU header - always write this out */ -
trunk/Ohana/src/libdvo/src/dvo_convert.c
r24748 r27435 13 13 /*** Average / FTable conversion functions ***/ 14 14 15 Average *FtableToAverage (FTable *ftable, int *Naverage, int*format, SecFilt **primary) {15 Average *FtableToAverage (FTable *ftable, off_t *Naverage, char *format, SecFilt **primary) { 16 16 17 17 Average *average; … … 59 59 } 60 60 61 int AverageToFtable (FTable *ftable, Average *average, int Naverage, intformat, SecFilt *primary) {61 int AverageToFtable (FTable *ftable, Average *average, off_t Naverage, char format, SecFilt *primary) { 62 62 63 63 # define FORMAT_CASE(FORMAT, TYPE) \ … … 94 94 /*** Measure / FTable conversion functions ***/ 95 95 96 Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, int*format) {96 Measure *FtableToMeasure (FTable *ftable, off_t *Nmeasure, char *format) { 97 97 98 98 Measure *measure; … … 136 136 } 137 137 138 int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, intformat) {138 int MeasureToFtable (FTable *ftable, Measure *measure, off_t Nmeasure, char format) { 139 139 140 140 # define FORMAT_CASE(FORMAT, TYPE) \ … … 171 171 /*** SecFilt / FTable conversion functions ***/ 172 172 173 SecFilt *FtableToSecFilt (FTable *ftable, int *Nsecfilt, int*format) {173 SecFilt *FtableToSecFilt (FTable *ftable, off_t *Nsecfilt, char *format) { 174 174 175 175 SecFilt *secfilt; … … 213 213 } 214 214 215 int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, int Nsecfilt, intformat) {215 int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, off_t Nsecfilt, char format) { 216 216 217 217 # define FORMAT_CASE(FORMAT, TYPE) \ … … 248 248 /*** Image Conversions ***/ 249 249 250 int FtableToImage (FTable *ftable, Header *theader, int*format) {251 252 int Nimage;250 int FtableToImage (FTable *ftable, Header *theader, char *format) { 251 252 off_t Nimage; 253 253 char extname[80]; 254 254 … … 261 261 gfits_free_header (theader); 262 262 gfits_table_mkheader_Image (theader); 263 gfits_modify (theader, "NAXIS2", "% d", 1,Nimage);263 gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); 264 264 theader[0].Naxis[1] = Nimage; 265 ftable[0]. size = gfits_data_size (theader);265 ftable[0].datasize = gfits_data_size (theader); 266 266 return (TRUE); 267 267 } … … 282 282 gfits_free_header (theader); \ 283 283 gfits_table_mkheader_Image (theader); \ 284 gfits_modify (theader, "NAXIS2", "% d", 1,Nimage); \284 gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); \ 285 285 theader[0].Naxis[1] = Nimage; \ 286 ftable[0]. size = gfits_data_size (theader); \286 ftable[0].datasize = gfits_data_size (theader); \ 287 287 return (TRUE); } 288 288 … … 312 312 } 313 313 314 int ImageToFtable (FTable *ftable, Header *theader, intformat) {315 316 int Nimage;314 int ImageToFtable (FTable *ftable, Header *theader, char format) { 315 316 off_t Nimage; 317 317 318 318 Nimage = theader[0].Naxis[1]; … … 353 353 } 354 354 355 int ImageToVtable (VTable *vtable, Header *theader, intformat) {356 357 int i, Nrow, Nimage;355 int ImageToVtable (VTable *vtable, Header *theader, char format) { 356 357 off_t i, Nrow, Nimage; 358 358 359 359 Nrow = vtable[0].Nrow; … … 370 370 } \ 371 371 /* convert header from old format to new format */ \ 372 gfits_scan (theader, "NAXIS2", "% d", 1,&Nimage); \372 gfits_scan (theader, "NAXIS2", "%lld", 1, (long long *) &Nimage); \ 373 373 gfits_free_header (theader); \ 374 374 gfits_table_mkheader_Image_##TYPE (theader); \ 375 gfits_modify (theader, "NAXIS2", "% d", 1,Nimage); \375 gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); \ 376 376 theader[0].Naxis[1] = Nimage; \ 377 vtable[0]. size = gfits_data_size (theader); \377 vtable[0].datasize = gfits_data_size (theader); \ 378 378 return (TRUE); } 379 379 -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c
r21508 r27435 3 3 /* convert PS1_DEV_1 formats to internal formats */ 4 4 5 Measure *Measure_PS1_DEV_1_ToInternal (Measure_PS1_DEV_1 *in, int Nvalues) {6 7 int i;5 Measure *Measure_PS1_DEV_1_ToInternal (Measure_PS1_DEV_1 *in, off_t Nvalues) { 6 7 off_t i; 8 8 Measure *out; 9 9 … … 61 61 } 62 62 63 Measure_PS1_DEV_1 *MeasureInternalTo_PS1_DEV_1 (Measure *in, int Nvalues) {64 65 int i;63 Measure_PS1_DEV_1 *MeasureInternalTo_PS1_DEV_1 (Measure *in, off_t Nvalues) { 64 65 off_t i; 66 66 Measure_PS1_DEV_1 *out; 67 67 … … 108 108 109 109 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 110 Average *Average_PS1_DEV_1_ToInternal (Average_PS1_DEV_1 *in, int Nvalues, SecFilt **primary) {111 112 int i;110 Average *Average_PS1_DEV_1_ToInternal (Average_PS1_DEV_1 *in, off_t Nvalues, SecFilt **primary) { 111 112 off_t i; 113 113 Average *out; 114 114 … … 148 148 149 149 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 150 Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, int Nvalues, SecFilt *primary) {151 152 int i;150 Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary) { 151 152 off_t i; 153 153 Average_PS1_DEV_1 *out; 154 154 … … 182 182 } 183 183 184 SecFilt *SecFilt_PS1_DEV_1_ToInternal (SecFilt_PS1_DEV_1 *in, int Nvalues) {185 186 int i;184 SecFilt *SecFilt_PS1_DEV_1_ToInternal (SecFilt_PS1_DEV_1 *in, off_t Nvalues) { 185 186 off_t i; 187 187 SecFilt *out; 188 188 … … 203 203 } 204 204 205 SecFilt_PS1_DEV_1 *SecFiltInternalTo_PS1_DEV_1 (SecFilt *in, int Nvalues) {206 207 int i;205 SecFilt_PS1_DEV_1 *SecFiltInternalTo_PS1_DEV_1 (SecFilt *in, off_t Nvalues) { 206 207 off_t i; 208 208 SecFilt_PS1_DEV_1 *out; 209 209 … … 220 220 } 221 221 222 Image *Image_PS1_DEV_1_ToInternal (Image_PS1_DEV_1 *in, int Nvalues) {223 224 int i;222 Image *Image_PS1_DEV_1_ToInternal (Image_PS1_DEV_1 *in, off_t Nvalues) { 223 224 off_t i; 225 225 Image *out; 226 226 … … 284 284 285 285 /* convert internal images to panstarrs-format images */ 286 Image_PS1_DEV_1 *ImageInternalTo_PS1_DEV_1 (Image *in, int Nvalues) {287 288 int i;286 Image_PS1_DEV_1 *ImageInternalTo_PS1_DEV_1 (Image *in, off_t Nvalues) { 287 288 off_t i; 289 289 Image_PS1_DEV_1 *out; 290 290 … … 342 342 } 343 343 344 PhotCode *PhotCode_PS1_DEV_1_To_Internal (PhotCode_PS1_DEV_1 *in, int Nvalues) {345 346 int i;344 PhotCode *PhotCode_PS1_DEV_1_To_Internal (PhotCode_PS1_DEV_1 *in, off_t Nvalues) { 345 346 off_t i; 347 347 PhotCode *out; 348 348 … … 381 381 } 382 382 383 PhotCode_PS1_DEV_1 *PhotCode_Internal_To_PS1_DEV_1 (PhotCode *in, int Nvalues) {384 385 int i;383 PhotCode_PS1_DEV_1 *PhotCode_Internal_To_PS1_DEV_1 (PhotCode *in, off_t Nvalues) { 384 385 off_t i; 386 386 PhotCode_PS1_DEV_1 *out; 387 387 -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c
r21508 r27435 3 3 /* convert PS1_DEV_2 formats to internal formats */ 4 4 5 Measure *Measure_PS1_DEV_2_ToInternal (Measure_PS1_DEV_2 *in, int Nvalues) {6 7 int i;5 Measure *Measure_PS1_DEV_2_ToInternal (Measure_PS1_DEV_2 *in, off_t Nvalues) { 6 7 off_t i; 8 8 Measure *out; 9 9 … … 58 58 } 59 59 60 Measure_PS1_DEV_2 *MeasureInternalTo_PS1_DEV_2 (Measure *in, int Nvalues) {61 62 int i;60 Measure_PS1_DEV_2 *MeasureInternalTo_PS1_DEV_2 (Measure *in, off_t Nvalues) { 61 62 off_t i; 63 63 Measure_PS1_DEV_2 *out; 64 64 … … 104 104 105 105 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 106 Average *Average_PS1_DEV_2_ToInternal (Average_PS1_DEV_2 *in, int Nvalues, SecFilt **primary) {107 108 int i;106 Average *Average_PS1_DEV_2_ToInternal (Average_PS1_DEV_2 *in, off_t Nvalues, SecFilt **primary) { 107 108 off_t i; 109 109 Average *out; 110 110 … … 142 142 143 143 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 144 Average_PS1_DEV_2 *AverageInternalTo_PS1_DEV_2 (Average *in, int Nvalues, SecFilt *primary) {145 146 int i;144 Average_PS1_DEV_2 *AverageInternalTo_PS1_DEV_2 (Average *in, off_t Nvalues, SecFilt *primary) { 145 146 off_t i; 147 147 Average_PS1_DEV_2 *out; 148 148 … … 176 176 } 177 177 178 SecFilt *SecFilt_PS1_DEV_2_ToInternal (SecFilt_PS1_DEV_2 *in, int Nvalues) {179 180 int i;178 SecFilt *SecFilt_PS1_DEV_2_ToInternal (SecFilt_PS1_DEV_2 *in, off_t Nvalues) { 179 180 off_t i; 181 181 SecFilt *out; 182 182 … … 197 197 } 198 198 199 SecFilt_PS1_DEV_2 *SecFiltInternalTo_PS1_DEV_2 (SecFilt *in, int Nvalues) {200 201 int i;199 SecFilt_PS1_DEV_2 *SecFiltInternalTo_PS1_DEV_2 (SecFilt *in, off_t Nvalues) { 200 201 off_t i; 202 202 SecFilt_PS1_DEV_2 *out; 203 203 … … 214 214 } 215 215 216 Image *Image_PS1_DEV_2_ToInternal (Image_PS1_DEV_2 *in, int Nvalues) {217 218 int i;216 Image *Image_PS1_DEV_2_ToInternal (Image_PS1_DEV_2 *in, off_t Nvalues) { 217 218 off_t i; 219 219 Image *out; 220 220 … … 224 224 memcpy (&out[i].coords, &in[i].coords, sizeof(Coords)); 225 225 226 strncpy (out[i].name, in[i].name, 63); // out[121], in t[64]226 strncpy (out[i].name, in[i].name, 63); // out[121], in[64] 227 227 out[i].name[63] = 0; // force termination 228 228 … … 275 275 } 276 276 277 Image_PS1_DEV_2 *ImageInternalTo_PS1_DEV_2 (Image *in, int Nvalues) {278 279 int i;277 Image_PS1_DEV_2 *ImageInternalTo_PS1_DEV_2 (Image *in, off_t Nvalues) { 278 279 off_t i; 280 280 Image_PS1_DEV_2 *out; 281 281 … … 335 335 } 336 336 337 PhotCode *PhotCode_PS1_DEV_2_To_Internal (PhotCode_PS1_DEV_2 *in, int Nvalues) {338 339 int i;337 PhotCode *PhotCode_PS1_DEV_2_To_Internal (PhotCode_PS1_DEV_2 *in, off_t Nvalues) { 338 339 off_t i; 340 340 PhotCode *out; 341 341 … … 372 372 } 373 373 374 PhotCode_PS1_DEV_2 *PhotCode_Internal_To_PS1_DEV_2 (PhotCode *in, int Nvalues) {375 376 int i;374 PhotCode_PS1_DEV_2 *PhotCode_Internal_To_PS1_DEV_2 (PhotCode *in, off_t Nvalues) { 375 376 off_t i; 377 377 PhotCode_PS1_DEV_2 *out; 378 378 -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_3.c
r21508 r27435 5 5 // We only provide image and photcode conversion 6 6 7 Image *Image_PS1_DEV_3_ToInternal (Image_PS1_DEV_3 *in, int Nvalues) {7 Image *Image_PS1_DEV_3_ToInternal (Image_PS1_DEV_3 *in, off_t Nvalues) { 8 8 9 int i;9 off_t i; 10 10 Image *out; 11 11 … … 66 66 } 67 67 68 Image_PS1_DEV_3 *ImageInternalTo_PS1_DEV_3 (Image *in, int Nvalues) {68 Image_PS1_DEV_3 *ImageInternalTo_PS1_DEV_3 (Image *in, off_t Nvalues) { 69 69 70 int i;70 off_t i; 71 71 Image_PS1_DEV_3 *out; 72 72 … … 126 126 } 127 127 128 PhotCode *PhotCode_PS1_DEV_3_To_Internal (PhotCode_PS1_DEV_3 *in, int Nvalues) {128 PhotCode *PhotCode_PS1_DEV_3_To_Internal (PhotCode_PS1_DEV_3 *in, off_t Nvalues) { 129 129 130 int i;130 off_t i; 131 131 PhotCode *out; 132 132 … … 162 162 } 163 163 164 PhotCode_PS1_DEV_3 *PhotCode_Internal_To_PS1_DEV_3 (PhotCode *in, int Nvalues) {164 PhotCode_PS1_DEV_3 *PhotCode_Internal_To_PS1_DEV_3 (PhotCode *in, off_t Nvalues) { 165 165 166 int i;166 off_t i; 167 167 PhotCode_PS1_DEV_3 *out; 168 168 -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c
r26482 r27435 3 3 /* convert PS1_REF formats to internal formats */ 4 4 5 Measure *Measure_PS1_REF_ToInternal (Measure_PS1_REF *in, int Nvalues) {6 7 int i;5 Measure *Measure_PS1_REF_ToInternal (Measure_PS1_REF *in, off_t Nvalues) { 6 7 off_t i; 8 8 Measure *out; 9 9 … … 56 56 } 57 57 58 Measure_PS1_REF *MeasureInternalTo_PS1_REF (Measure *in, int Nvalues) {59 60 int i;58 Measure_PS1_REF *MeasureInternalTo_PS1_REF (Measure *in, off_t Nvalues) { 59 60 off_t i; 61 61 Measure_PS1_REF *out; 62 62 … … 79 79 80 80 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 81 Average *Average_PS1_REF_ToInternal (Average_PS1_REF *in, int Nvalues, SecFilt **primary) {82 83 int i;81 Average *Average_PS1_REF_ToInternal (Average_PS1_REF *in, off_t Nvalues, SecFilt **primary) { 82 83 off_t i; 84 84 Average *out; 85 85 … … 97 97 out[i].P = NAN; 98 98 out[i].dP = NAN; 99 out[i].Xp = NAN ;99 out[i].Xp = NAN_S_SHORT; 100 100 out[i].ChiSq = NAN; 101 101 out[i].Npos = 0; … … 115 115 116 116 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 117 Average_PS1_REF *AverageInternalTo_PS1_REF (Average *in, int Nvalues, SecFilt *primary) {118 119 int i;117 Average_PS1_REF *AverageInternalTo_PS1_REF (Average *in, off_t Nvalues, SecFilt *primary) { 118 119 off_t i; 120 120 Average_PS1_REF *out; 121 121 … … 138 138 } 139 139 140 SecFilt *SecFilt_PS1_REF_ToInternal (SecFilt_PS1_REF *in, int Nvalues) {141 142 int i;140 SecFilt *SecFilt_PS1_REF_ToInternal (SecFilt_PS1_REF *in, off_t Nvalues) { 141 142 off_t i; 143 143 SecFilt *out; 144 144 … … 148 148 out[i].M = in[i].M; 149 149 out[i].dM = in[i].dM; 150 out[i].Xm = NAN ;150 out[i].Xm = NAN_S_SHORT; 151 151 out[i].Ncode = 0; 152 152 out[i].Nused = 0; … … 157 157 } 158 158 159 SecFilt_PS1_REF *SecFiltInternalTo_PS1_REF (SecFilt *in, int Nvalues) {160 161 int i;159 SecFilt_PS1_REF *SecFiltInternalTo_PS1_REF (SecFilt *in, off_t Nvalues) { 160 161 off_t i; 162 162 SecFilt_PS1_REF *out; 163 163 … … 171 171 } 172 172 173 Image *Image_PS1_REF_ToInternal (Image_PS1_REF *in, int Nvalues) {174 175 int i;173 Image *Image_PS1_REF_ToInternal (Image_PS1_REF *in, off_t Nvalues) { 174 175 off_t i; 176 176 Image *out; 177 177 … … 230 230 } 231 231 232 Image_PS1_REF *ImageInternalTo_PS1_REF (Image *in, int Nvalues) {233 234 int i;232 Image_PS1_REF *ImageInternalTo_PS1_REF (Image *in, off_t Nvalues) { 233 234 off_t i; 235 235 Image_PS1_REF *out; 236 236 … … 289 289 } 290 290 291 PhotCode *PhotCode_PS1_REF_To_Internal (PhotCode_PS1_REF *in, int Nvalues) {292 293 int i;291 PhotCode *PhotCode_PS1_REF_To_Internal (PhotCode_PS1_REF *in, off_t Nvalues) { 292 293 off_t i; 294 294 PhotCode *out; 295 295 … … 325 325 } 326 326 327 PhotCode_PS1_REF *PhotCode_Internal_To_PS1_REF (PhotCode *in, int Nvalues) {328 329 int i;327 PhotCode_PS1_REF *PhotCode_Internal_To_PS1_REF (PhotCode *in, off_t Nvalues) { 328 329 off_t i; 330 330 PhotCode_PS1_REF *out; 331 331 -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c
r26482 r27435 3 3 /* convert PS1_V1 formats to internal formats */ 4 4 5 Measure *Measure_PS1_V1_ToInternal (Measure_PS1_V1 *in, int Nvalues) {6 7 int i;5 Measure *Measure_PS1_V1_ToInternal (Measure_PS1_V1 *in, off_t Nvalues) { 6 7 off_t i; 8 8 Measure *out; 9 9 … … 56 56 } 57 57 58 Measure_PS1_V1 *MeasureInternalTo_PS1_V1 (Measure *in, int Nvalues) {59 60 int i;58 Measure_PS1_V1 *MeasureInternalTo_PS1_V1 (Measure *in, off_t Nvalues) { 59 60 off_t i; 61 61 Measure_PS1_V1 *out; 62 62 … … 111 111 112 112 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 113 Average *Average_PS1_V1_ToInternal (Average_PS1_V1 *in, int Nvalues, SecFilt **primary) {114 115 int i;113 Average *Average_PS1_V1_ToInternal (Average_PS1_V1 *in, off_t Nvalues, SecFilt **primary) { 114 115 off_t i; 116 116 Average *out; 117 117 … … 147 147 148 148 // 'primary' is needed to conform with the API for Loneos and Elixir, but is not used 149 Average_PS1_V1 *AverageInternalTo_PS1_V1 (Average *in, int Nvalues, SecFilt *primary) {150 151 int i;149 Average_PS1_V1 *AverageInternalTo_PS1_V1 (Average *in, off_t Nvalues, SecFilt *primary) { 150 151 off_t i; 152 152 Average_PS1_V1 *out; 153 153 … … 182 182 } 183 183 184 SecFilt *SecFilt_PS1_V1_ToInternal (SecFilt_PS1_V1 *in, int Nvalues) {185 186 int i;184 SecFilt *SecFilt_PS1_V1_ToInternal (SecFilt_PS1_V1 *in, off_t Nvalues) { 185 186 off_t i; 187 187 SecFilt *out; 188 188 … … 201 201 } 202 202 203 SecFilt_PS1_V1 *SecFiltInternalTo_PS1_V1 (SecFilt *in, int Nvalues) {204 205 int i;203 SecFilt_PS1_V1 *SecFiltInternalTo_PS1_V1 (SecFilt *in, off_t Nvalues) { 204 205 off_t i; 206 206 SecFilt_PS1_V1 *out; 207 207 … … 220 220 } 221 221 222 Image *Image_PS1_V1_ToInternal (Image_PS1_V1 *in, int Nvalues) {223 224 int i;222 Image *Image_PS1_V1_ToInternal (Image_PS1_V1 *in, off_t Nvalues) { 223 224 off_t i; 225 225 Image *out; 226 226 … … 279 279 } 280 280 281 Image_PS1_V1 *ImageInternalTo_PS1_V1 (Image *in, int Nvalues) {282 283 int i;281 Image_PS1_V1 *ImageInternalTo_PS1_V1 (Image *in, off_t Nvalues) { 282 283 off_t i; 284 284 Image_PS1_V1 *out; 285 285 … … 338 338 } 339 339 340 PhotCode *PhotCode_PS1_V1_To_Internal (PhotCode_PS1_V1 *in, int Nvalues) {341 342 int i;340 PhotCode *PhotCode_PS1_V1_To_Internal (PhotCode_PS1_V1 *in, off_t Nvalues) { 341 342 off_t i; 343 343 PhotCode *out; 344 344 … … 374 374 } 375 375 376 PhotCode_PS1_V1 *PhotCode_Internal_To_PS1_V1 (PhotCode *in, int Nvalues) {377 378 int i;376 PhotCode_PS1_V1 *PhotCode_Internal_To_PS1_V1 (PhotCode *in, off_t Nvalues) { 377 378 off_t i; 379 379 PhotCode_PS1_V1 *out; 380 380 -
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
r21508 r27435 2 2 3 3 /* convert elixir-format measures to internal measures */ 4 Measure *Measure_Elixir_ToInternal (Measure_Elixir *in, int Nvalues) {5 6 int i;4 Measure *Measure_Elixir_ToInternal (Measure_Elixir *in, off_t Nvalues) { 5 6 off_t i; 7 7 Measure *out; 8 8 … … 69 69 70 70 /* convert internal measures to elixir-format measures */ 71 Measure_Elixir *MeasureInternalTo_Elixir (Measure *in, int Nvalues) {72 73 int i;71 Measure_Elixir *MeasureInternalTo_Elixir (Measure *in, off_t Nvalues) { 72 73 off_t i; 74 74 Measure_Elixir *out; 75 75 … … 108 108 109 109 /* convert elixir-format averages to internal averages */ 110 Average *Average_Elixir_ToInternal (Average_Elixir *in, int Nvalues, SecFilt **primary) {111 112 int i;110 Average *Average_Elixir_ToInternal (Average_Elixir *in, off_t Nvalues, SecFilt **primary) { 111 112 off_t i; 113 113 Average *out; 114 114 … … 159 159 160 160 /* convert internal averages to elixir-format averages */ 161 Average_Elixir *AverageInternalTo_Elixir (Average *in, int Nvalues, SecFilt *primary) {162 163 int i;161 Average_Elixir *AverageInternalTo_Elixir (Average *in, off_t Nvalues, SecFilt *primary) { 162 163 off_t i; 164 164 Average_Elixir *out; 165 165 … … 189 189 190 190 /* convert elixir-format secfilts to internal secfilts */ 191 SecFilt *SecFilt_Elixir_ToInternal (SecFilt_Elixir *in, int Nvalues) {192 193 int i;191 SecFilt *SecFilt_Elixir_ToInternal (SecFilt_Elixir *in, off_t Nvalues) { 192 193 off_t i; 194 194 SecFilt *out; 195 195 … … 213 213 214 214 /* convert internal secfilts to elixir-format secfilts */ 215 SecFilt_Elixir *SecFiltInternalTo_Elixir (SecFilt *in, int Nvalues) {216 217 int i;215 SecFilt_Elixir *SecFiltInternalTo_Elixir (SecFilt *in, off_t Nvalues) { 216 217 off_t i; 218 218 SecFilt_Elixir *out; 219 219 … … 231 231 232 232 /* convert elixir-format images to internal images */ 233 Image *Image_Elixir_ToInternal (Image_Elixir *in, int Nvalues) {234 235 int i;233 Image *Image_Elixir_ToInternal (Image_Elixir *in, off_t Nvalues) { 234 235 off_t i; 236 236 Image *out; 237 237 … … 297 297 298 298 /* convert internal images to elixir-format images */ 299 Image_Elixir *ImageInternalTo_Elixir (Image *in, int Nvalues) {300 301 int i;299 Image_Elixir *ImageInternalTo_Elixir (Image *in, off_t Nvalues) { 300 301 off_t i; 302 302 Image_Elixir *out; 303 303 … … 355 355 } 356 356 357 PhotCode *PhotCode_Elixir_To_Internal (PhotCode_Elixir *in, int Nvalues) {358 359 int i;357 PhotCode *PhotCode_Elixir_To_Internal (PhotCode_Elixir *in, off_t Nvalues) { 358 359 off_t i; 360 360 PhotCode *out; 361 361 … … 395 395 } 396 396 397 PhotCode_Elixir *PhotCode_Internal_To_Elixir (PhotCode *in, int Nvalues) {398 399 int i;397 PhotCode_Elixir *PhotCode_Internal_To_Elixir (PhotCode *in, off_t Nvalues) { 398 399 off_t i; 400 400 PhotCode_Elixir *out; 401 401 -
trunk/Ohana/src/libdvo/src/dvo_convert_loneos.c
r21508 r27435 2 2 3 3 /* convert loneos-format measures to internal measures */ 4 Measure *Measure_Loneos_ToInternal (Measure_Loneos *in, int Nvalues) {5 6 int i;4 Measure *Measure_Loneos_ToInternal (Measure_Loneos *in, off_t Nvalues) { 5 6 off_t i; 7 7 Measure *out; 8 8 … … 71 71 72 72 /* convert internal measures to loneos-format measures */ 73 Measure_Loneos *MeasureInternalTo_Loneos (Measure *in, int Nvalues) {74 75 int i;73 Measure_Loneos *MeasureInternalTo_Loneos (Measure *in, off_t Nvalues) { 74 75 off_t i; 76 76 Measure_Loneos *out; 77 77 … … 99 99 100 100 /* convert loneos-format averages to internal averages */ 101 Average *Average_Loneos_ToInternal (Average_Loneos *in, int Nvalues, SecFilt **primary) {102 103 int i;101 Average *Average_Loneos_ToInternal (Average_Loneos *in, off_t Nvalues, SecFilt **primary) { 102 103 off_t i; 104 104 Average *out; 105 105 … … 151 151 152 152 /* convert internal averages to loneos-format averages */ 153 Average_Loneos *AverageInternalTo_Loneos (Average *in, int Nvalues, SecFilt *primary) {154 155 int i;153 Average_Loneos *AverageInternalTo_Loneos (Average *in, off_t Nvalues, SecFilt *primary) { 154 155 off_t i; 156 156 Average_Loneos *out; 157 157 … … 180 180 181 181 /* convert loneos-format secfilts to internal secfilts */ 182 SecFilt *SecFilt_Loneos_ToInternal (SecFilt_Loneos *in, int Nvalues) {183 184 int i;182 SecFilt *SecFilt_Loneos_ToInternal (SecFilt_Loneos *in, off_t Nvalues) { 183 184 off_t i; 185 185 SecFilt *out; 186 186 … … 206 206 207 207 /* convert internal secfilts to loneos-format secfilts */ 208 SecFilt_Loneos *SecFiltInternalTo_Loneos (SecFilt *in, int Nvalues) {209 210 int i;208 SecFilt_Loneos *SecFiltInternalTo_Loneos (SecFilt *in, off_t Nvalues) { 209 210 off_t i; 211 211 SecFilt_Loneos *out; 212 212 … … 223 223 224 224 /* convert loneos-format images to internal images */ 225 Image *Image_Loneos_ToInternal (Image_Loneos *in, int Nvalues) {226 227 int i;225 Image *Image_Loneos_ToInternal (Image_Loneos *in, off_t Nvalues) { 226 227 off_t i; 228 228 Image *out; 229 229 … … 290 290 291 291 /* convert internal images to loneos-format images */ 292 Image_Loneos *ImageInternalTo_Loneos (Image *in, int Nvalues) {293 294 int i;292 Image_Loneos *ImageInternalTo_Loneos (Image *in, off_t Nvalues) { 293 294 off_t i; 295 295 Image_Loneos *out; 296 296 -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c
r21508 r27435 2 2 3 3 /* convert panstarrs-format measures to internal measures */ 4 Measure *Measure_Panstarrs_DEV_0_ToInternal (Measure_Panstarrs_DEV_0 *in, int Nvalues) {5 6 int i;4 Measure *Measure_Panstarrs_DEV_0_ToInternal (Measure_Panstarrs_DEV_0 *in, off_t Nvalues) { 5 6 off_t i; 7 7 Measure *out; 8 8 … … 66 66 67 67 /* convert internal measures to panstarrs-format measures */ 68 Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Measure *in, int Nvalues) {69 70 int i;68 Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Measure *in, off_t Nvalues) { 69 70 off_t i; 71 71 Measure_Panstarrs_DEV_0 *out; 72 72 … … 115 115 /* convert panstarrs-format averages to internal averages */ 116 116 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 117 Average *Average_Panstarrs_DEV_0_ToInternal (Average_Panstarrs_DEV_0 *in, int Nvalues, SecFilt **primary) {118 119 int i;117 Average *Average_Panstarrs_DEV_0_ToInternal (Average_Panstarrs_DEV_0 *in, off_t Nvalues, SecFilt **primary) { 118 119 off_t i; 120 120 Average *out; 121 121 … … 156 156 /* convert internal averages to panstarrs-format averages */ 157 157 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 158 Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, int Nvalues, SecFilt *primary) {159 160 int i;158 Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, off_t Nvalues, SecFilt *primary) { 159 160 off_t i; 161 161 Average_Panstarrs_DEV_0 *out; 162 162 … … 191 191 192 192 /* convert panstarrs-format secfilts to internal secfilts */ 193 SecFilt *SecFilt_Panstarrs_DEV_0_ToInternal (SecFilt_Panstarrs_DEV_0 *in, int Nvalues) {194 195 int i;193 SecFilt *SecFilt_Panstarrs_DEV_0_ToInternal (SecFilt_Panstarrs_DEV_0 *in, off_t Nvalues) { 194 195 off_t i; 196 196 SecFilt *out; 197 197 … … 213 213 214 214 /* convert internal secfilts to panstarrs-format secfilts */ 215 SecFilt_Panstarrs_DEV_0 *SecFiltInternalTo_Panstarrs_DEV_0 (SecFilt *in, int Nvalues) {216 217 int i;215 SecFilt_Panstarrs_DEV_0 *SecFiltInternalTo_Panstarrs_DEV_0 (SecFilt *in, off_t Nvalues) { 216 217 off_t i; 218 218 SecFilt_Panstarrs_DEV_0 *out; 219 219 … … 231 231 232 232 /* convert panstarrs-format images to internal images */ 233 Image *Image_Panstarrs_DEV_0_ToInternal (Image_Panstarrs_DEV_0 *in, int Nvalues) {234 235 int i;233 Image *Image_Panstarrs_DEV_0_ToInternal (Image_Panstarrs_DEV_0 *in, off_t Nvalues) { 234 235 off_t i; 236 236 Image *out; 237 237 … … 297 297 298 298 /* convert internal images to panstarrs-format images */ 299 Image_Panstarrs_DEV_0 *ImageInternalTo_Panstarrs_DEV_0 (Image *in, int Nvalues) {300 301 int i;299 Image_Panstarrs_DEV_0 *ImageInternalTo_Panstarrs_DEV_0 (Image *in, off_t Nvalues) { 300 301 off_t i; 302 302 Image_Panstarrs_DEV_0 *out; 303 303 -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c
r21508 r27435 2 2 3 3 /* convert panstarrs-format measures to internal measures */ 4 Measure *Measure_Panstarrs_DEV_1_ToInternal (Measure_Panstarrs_DEV_1 *in, int Nvalues) {5 6 int i;4 Measure *Measure_Panstarrs_DEV_1_ToInternal (Measure_Panstarrs_DEV_1 *in, off_t Nvalues) { 5 6 off_t i; 7 7 Measure *out; 8 8 … … 66 66 67 67 /* convert internal measures to panstarrs-format measures */ 68 Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Measure *in, int Nvalues) {69 70 int i;68 Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Measure *in, off_t Nvalues) { 69 70 off_t i; 71 71 Measure_Panstarrs_DEV_1 *out; 72 72 … … 115 115 /* convert panstarrs-format averages to internal averages */ 116 116 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 117 Average *Average_Panstarrs_DEV_1_ToInternal (Average_Panstarrs_DEV_1 *in, int Nvalues, SecFilt **primary) {118 119 int i;117 Average *Average_Panstarrs_DEV_1_ToInternal (Average_Panstarrs_DEV_1 *in, off_t Nvalues, SecFilt **primary) { 118 119 off_t i; 120 120 Average *out; 121 121 … … 156 156 /* convert internal averages to panstarrs-format averages */ 157 157 // 'primary is needed to conform with the API for Loneos and Elixir, but is not used 158 Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, int Nvalues, SecFilt *primary) {159 160 int i;158 Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary) { 159 160 off_t i; 161 161 Average_Panstarrs_DEV_1 *out; 162 162 … … 191 191 192 192 /* convert panstarrs-format secfilts to internal secfilts */ 193 SecFilt *SecFilt_Panstarrs_DEV_1_ToInternal (SecFilt_Panstarrs_DEV_1 *in, int Nvalues) {194 195 int i;193 SecFilt *SecFilt_Panstarrs_DEV_1_ToInternal (SecFilt_Panstarrs_DEV_1 *in, off_t Nvalues) { 194 195 off_t i; 196 196 SecFilt *out; 197 197 … … 213 213 214 214 /* convert internal secfilts to panstarrs-format secfilts */ 215 SecFilt_Panstarrs_DEV_1 *SecFiltInternalTo_Panstarrs_DEV_1 (SecFilt *in, int Nvalues) {216 217 int i;215 SecFilt_Panstarrs_DEV_1 *SecFiltInternalTo_Panstarrs_DEV_1 (SecFilt *in, off_t Nvalues) { 216 217 off_t i; 218 218 SecFilt_Panstarrs_DEV_1 *out; 219 219 … … 231 231 232 232 /* convert panstarrs-format images to internal images */ 233 Image *Image_Panstarrs_DEV_1_ToInternal (Image_Panstarrs_DEV_1 *in, int Nvalues) {234 235 int i;233 Image *Image_Panstarrs_DEV_1_ToInternal (Image_Panstarrs_DEV_1 *in, off_t Nvalues) { 234 235 off_t i; 236 236 Image *out; 237 237 … … 297 297 298 298 /* convert internal images to panstarrs-format images */ 299 Image_Panstarrs_DEV_1 *ImageInternalTo_Panstarrs_DEV_1 (Image *in, int Nvalues) {300 301 int i;299 Image_Panstarrs_DEV_1 *ImageInternalTo_Panstarrs_DEV_1 (Image *in, off_t Nvalues) { 300 301 off_t i; 302 302 Image_Panstarrs_DEV_1 *out; 303 303 -
trunk/Ohana/src/libdvo/src/dvo_image.c
r25757 r27435 52 52 /* test for NAXIS == 2 in line 3 */ 53 53 bzero (buffer, 241); 54 fseek (db[0].f, 0, SEEK_SET);54 fseeko (db[0].f, 0, SEEK_SET); 55 55 Nread = fread (buffer, 1, 240, db[0].f); 56 56 if (Nread != 240) { … … 63 63 return (FALSE); 64 64 } 65 fseek (db[0].f, 0, SEEK_SET);65 fseeko (db[0].f, 0, SEEK_SET); 66 66 67 67 /* default values */ … … 114 114 } 115 115 116 int dvo_image_addrows (FITS_DB *db, Image *new, int Nnew) {117 118 int Nimages;116 int dvo_image_addrows (FITS_DB *db, Image *new, off_t Nnew) { 117 118 off_t Nimages; 119 119 120 120 /* adjust header */ 121 121 Nimages = 0; 122 gfits_scan (&db[0].header, "NIMAGES", "% d", 1,&Nimages);122 gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimages); 123 123 Nimages += Nnew; 124 gfits_modify (&db[0].header, "NIMAGES", "% d", 1,Nimages);124 gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, (long long) Nimages); 125 125 126 126 gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0); … … 195 195 gfits_table_set_Image (&db[0].ftable, NULL, 0); 196 196 197 gfits_modify (&db[0].header, "NIMAGES", "% d", 1, 0);197 gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, 0LL); 198 198 gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPoint); 199 199 -
trunk/Ohana/src/libdvo/src/dvo_image_raw.c
r24748 r27435 7 7 int dvo_image_load_raw (FITS_DB *db, int VERBOSE, int FORCE_READ) { 8 8 9 int Nimage, Ndata, size, ImageSize, nbytes, Nbytes;9 off_t Nimage, Ndata, size, ImageSize, nbytes, Nbytes; 10 10 struct stat filestatus; 11 11 char format[80], telescope[80]; … … 39 39 /* find number of images */ 40 40 Nimage = 0; 41 gfits_scan (&db[0].header, "NIMAGES", "% d", 1,&Nimage);41 gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimage); 42 42 if (stat (db[0].filename, &filestatus) == -1) { 43 43 if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n"); … … 59 59 60 60 /* check that filesize makes sense */ 61 size = Nimage*ImageSize + db[0].header. size;61 size = Nimage*ImageSize + db[0].header.datasize; 62 62 if (size != filestatus.st_size) { 63 Ndata = (filestatus.st_size - db[0].header. size) / ImageSize;63 Ndata = (filestatus.st_size - db[0].header.datasize) / ImageSize; 64 64 if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n"); 65 if (VERBOSE) fprintf (stderr, "header: % d, data: %d\n", Nimage,Ndata);65 if (VERBOSE) fprintf (stderr, "header: %lld, data: %lld\n", (long long) Nimage, (long long) Ndata); 66 66 if (!FORCE_READ) exit (1); 67 67 Nimage = Ndata; … … 94 94 } 95 95 96 gfits_modify (&db[0].theader, "NAXIS2", "% d", 1,Nimage);96 gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Nimage); 97 97 db[0].theader.Naxis[1] = Nimage; 98 db[0].ftable. size = gfits_data_size (&db[0].theader);98 db[0].ftable.datasize = gfits_data_size (&db[0].theader); 99 99 db[0].swapped = FALSE; /* table does not have internal byte-order */ 100 100 return (TRUE); … … 104 104 int dvo_image_update_raw (FITS_DB *db, int VERBOSE) { 105 105 106 int i, Nx, Ny, Nrow, Nbytes;107 int status, start, offset;108 int *row;106 off_t i, Nx, Ny, Nrow, Nbytes, start, offset; 107 off_t status; 108 off_t *row; 109 109 110 if (VERBOSE) fprintf (stderr, "writing out % d images\n",db[0].vtable.Nrow);110 if (VERBOSE) fprintf (stderr, "writing out %lld images\n", (long long) db[0].vtable.Nrow); 111 111 112 112 /* position to start of file */ 113 Fseek(db[0].f, 0, SEEK_SET);113 fseeko (db[0].f, 0, SEEK_SET); 114 114 115 115 /* write out complete header (no check on disk size?) */ 116 status = fwrite (db[0].header.buffer, 1, db[0].header. size, db[0].f);117 if (status != db[0].header. size) {116 status = fwrite (db[0].header.buffer, 1, db[0].header.datasize, db[0].f); 117 if (status != db[0].header.datasize) { 118 118 fprintf (stderr, "ERROR: failed writing data to image header\n"); 119 119 exit (1); … … 123 123 Nrow = db[0].vtable.Nrow; 124 124 row = db[0].vtable.row; 125 gfits_scan (db[0].vtable.header, "NAXIS1", "% d", 1,&Nx);126 gfits_scan (db[0].vtable.header, "NAXIS2", "% d", 1,&Ny);125 gfits_scan (db[0].vtable.header, "NAXIS1", "%lld", 1, (long long *) &Nx); 126 gfits_scan (db[0].vtable.header, "NAXIS2", "%lld", 1, (long long *) &Ny); 127 127 128 128 /* file pointer is at beginning of desired table data */ … … 131 131 for (i = 0; i < Nrow; i++) { 132 132 offset = start + Nx*row[i]; 133 fseek (db[0].f, offset, SEEK_SET);133 fseeko (db[0].f, offset, SEEK_SET); 134 134 Nbytes = fwrite (db[0].vtable.buffer[i], sizeof (char), Nx, db[0].f); 135 135 if (Nbytes != Nx) { return (FALSE); } … … 141 141 int dvo_image_save_raw (FITS_DB *db, int VERBOSE) { 142 142 143 int status, Nx, Ny, size, Nbytes; 143 off_t Nx, Ny, size, Nbytes; 144 int status; 144 145 145 if (VERBOSE) fprintf (stderr, "writing out % d images\n",db[0].theader.Naxis[1]);146 if (VERBOSE) fprintf (stderr, "writing out %lld images\n", (long long) db[0].theader.Naxis[1]); 146 147 147 148 /* position to start of file */ … … 149 150 150 151 /* write out complete header (no check on disk size?) */ 151 status = fwrite (db[0].header.buffer, 1, db[0].header. size, db[0].f);152 if (status != db[0].header. size) {152 status = fwrite (db[0].header.buffer, 1, db[0].header.datasize, db[0].f); 153 if (status != db[0].header.datasize) { 153 154 fprintf (stderr, "ERROR: failed writing data to image header\n"); 154 155 exit (1); 155 156 } 156 157 157 gfits_scan (db[0].ftable.header, "NAXIS1", "% d", 1,&Nx);158 gfits_scan (db[0].ftable.header, "NAXIS2", "% d", 1,&Ny);158 gfits_scan (db[0].ftable.header, "NAXIS1", "%lld", 1, (long long *) &Nx); 159 gfits_scan (db[0].ftable.header, "NAXIS2", "%lld", 1, (long long *) &Ny); 159 160 size = Nx * Ny; 160 161 Nbytes = fwrite (db[0].ftable.buffer, sizeof(char), size, db[0].f); -
trunk/Ohana/src/libdvo/src/dvo_util.c
r26410 r27435 18 18 19 19 memset(config, 0, sizeof(dvoConfig)); 20 return config; 20 21 } 21 22 … … 98 99 } 99 100 100 char *catdir,filename[256];101 char filename[256]; 101 102 102 103 sprintf (filename, "%s/Images.dat", dvoConfig->catdir); … … 136 137 Image *dvoImageByExternID(dvoConfig *dvoConfig, int sourceID, int externID) 137 138 { 138 Image *images;139 int Nimage;140 139 int i; 141 140 … … 199 198 } 200 199 201 int dvoGetDetections(SkyList *skylist, int imageID, dvoDetection **results, int *pMaxDetID) 202 { 203 int QUIET = 0; 204 int FULL_OUTPUT = 0; 200 off_t dvoGetDetections(SkyList *skylist, int imageID, dvoDetection **results, int *pMaxDetID) 201 { 205 202 int GetMeasures = 1; 206 int SaveVectors = 0;207 203 int reg; 208 int Ndetect = 0;204 off_t Ndetect = 0; 209 205 210 206 int detectionsArrayLength = 1000; … … 226 222 dvo_catalog_unlock (&catalog); 227 223 228 int Nstars = catalog.Naverage; 229 int Nmeasure = catalog.Nmeasure; 230 231 int i; 224 off_t Nmeasure = catalog.Nmeasure; 225 226 off_t i; 232 227 for (i=0; i< Nmeasure; i++) { 233 228 Measure *m = catalog.measure + i; … … 265 260 266 261 memset(sorted, 0, sizeof(dvoDetection) * *pMaxDetID); 267 int i;262 off_t i; 268 263 for (i = 0; i < Ndetect; i++) { 269 264 sorted[detections[i].meas.detID] = detections[i]; -
trunk/Ohana/src/libdvo/src/dvosorts.c
r21508 r27435 4 4 5 5 /* values are ave[i].R, ave[i].D, ave[i].M */ 6 void sortave (Average *ave, int N) {6 void sortave (Average *ave, off_t N) { 7 7 8 8 # define SWAPFUNC(A,B){ Average tmp; tmp = ave[A]; ave[A] = ave[B]; ave[B] = tmp; } … … 17 17 18 18 /* sort subset by image[subset[i]].tzero */ 19 void sort_image_subset (Image *image, int *subset, int N) {19 void sort_image_subset (Image *image, off_t *subset, off_t N) { 20 20 21 21 # define SWAPFUNC(A,B){ int tmp; tmp = subset[A]; subset[A] = subset[B]; subset[B] = tmp; } … … 30 30 31 31 /* sort a coordinate pair (X,Y) and the associated index (S) */ 32 void sort_coords_index (double *X, double *Y, int *S, int N) {32 void sort_coords_index (double *X, double *Y, off_t *S, off_t N) { 33 33 34 # define SWAPFUNC(A,B){ double dtmp; int itmp; \34 # define SWAPFUNC(A,B){ double dtmp; off_t itmp; \ 35 35 dtmp = X[A]; X[A] = X[B]; X[B] = dtmp; \ 36 36 dtmp = Y[A]; Y[A] = Y[B]; Y[B] = dtmp; \ … … 46 46 } 47 47 48 void sort_regions (SkyRegion *region, int N) {48 void sort_regions (SkyRegion *region, off_t N) { 49 49 50 50 # define SWAPFUNC(A,B){ SkyRegion tmp; tmp = region[A]; region[A] = region[B]; region[B] = tmp; } … … 57 57 58 58 } 59 60 # if (0)61 // deprecated along with Stars as an autocode type62 void sort_stars_ra (Stars *stars, int N) {63 64 # define SWAPFUNC(A,B){ Stars tmp; tmp = stars[A]; stars[A] = stars[B]; stars[B] = tmp; }65 # define COMPARE(A,B)(stars[A].R < stars[B].R)66 67 OHANA_SORT (N, COMPARE, SWAPFUNC);68 69 # undef SWAPFUNC70 # undef COMPARE71 72 }73 # endif -
trunk/Ohana/src/libdvo/src/fits_db.c
r15750 r27435 92 92 } 93 93 94 /* load the data from Nrowsfrom table starting at start; load header, etc if needed */95 int gfits_db_load_segment (FITS_DB *db, int start, int Nrows) {96 97 int Nskip;94 /* load the Nrows data from table starting at start; load header, etc if needed */ 95 int gfits_db_load_segment (FITS_DB *db, off_t start, off_t Nrows) { 96 97 off_t Nskip; 98 98 99 99 /* database name must be set first */ … … 119 119 } 120 120 } else { 121 Nskip = db[0].header. size;121 Nskip = db[0].header.datasize; 122 122 Fseek (db[0].f, Nskip, SEEK_CUR); 123 123 } … … 141 141 } 142 142 } else { 143 Nskip = db[0].header. size;143 Nskip = db[0].header.datasize; 144 144 Fseek (db[0].f, Nskip, SEEK_CUR); 145 145 } -
trunk/Ohana/src/libdvo/src/mosaic_astrom.c
r21047 r27435 1 1 # include <dvo.h> 2 2 3 off_t getDISentry (e_time start, e_time stop, e_time *startMos, off_t *indexMos, off_t Nmosaic); 4 void SortDISindex (e_time *S, off_t *I, off_t N); 5 3 6 /* chip-match table: j = ChipMatch[i], images[j] is DIS for images[i] WRP */ 4 7 5 static intiDIS = -1; // DIS entry in ChipMatch[]6 static intNdis = 0;7 static int*DISentry = NULL;8 static off_t iDIS = -1; // DIS entry in ChipMatch[] 9 static off_t Ndis = 0; 10 static off_t *DISentry = NULL; 8 11 static e_time *DIStzero = NULL; 9 static int*ChipMatch = NULL;12 static off_t *ChipMatch = NULL; 10 13 11 14 /* what is the currently registered mosaic image? */ 12 int GetRegisteredMosaic () {15 off_t GetRegisteredMosaic () { 13 16 return (iDIS); 14 17 } 15 18 16 19 /* given an image array and a current entry of type WRP, find matching DIS & Register it */ 17 int FindMosaicForImage (Image *images, int Nimages, int entry) {20 int FindMosaicForImage (Image *images, off_t Nimages, off_t entry) { 18 21 19 22 int status; … … 28 31 29 32 /* given an image array and a current entry of type WRP, find matching DIS & Register it */ 30 int FindMosaicForImage_TableSearch (Image *images, int Nimages, int entry) {33 int FindMosaicForImage_TableSearch (Image *images, off_t Nimages, off_t entry) { 31 34 32 35 e_time tzero; 33 int i;36 off_t i; 34 37 35 38 /* search backwards for image with same time and type DIS */ … … 65 68 66 69 /* given an image array and a current entry of type WRP, find matching DIS & Register it */ 67 int FindMosaicForImage_MatchSearch (Image *images, int Nimages, int entry) {68 69 int N;70 int FindMosaicForImage_MatchSearch (Image *images, off_t Nimages, off_t entry) { 71 72 off_t N; 70 73 71 74 if (strcmp(&images[entry].coords.ctype[4], "-WRP")) { 72 75 /* not a wrp image, do nothing */ 73 return (TRUE); /* error or not */76 return (TRUE); /* error or not? */ 74 77 } 75 78 … … 85 88 } 86 89 87 int BuildChipMatch (Image *images, int Nimages) {88 89 int i, j, NDIS;90 int BuildChipMatch_old (Image *images, off_t Nimages) { 91 92 off_t i, j, NDIS; 90 93 91 94 if (DISentry != NULL) free (DISentry); … … 96 99 Ndis = 0; 97 100 NDIS = 100; 98 ALLOCATE (DISentry, int, NDIS);101 ALLOCATE (DISentry, off_t, NDIS); 99 102 ALLOCATE (DIStzero, e_time, NDIS); 100 103 … … 106 109 if (Ndis >= NDIS) { 107 110 NDIS += 100; 108 REALLOCATE (DISentry, int, NDIS);111 REALLOCATE (DISentry, off_t, NDIS); 109 112 REALLOCATE (DIStzero, e_time, NDIS); 110 113 } … … 112 115 113 116 /* find all matched WRP images */ 114 ALLOCATE (ChipMatch, int, Nimages);117 ALLOCATE (ChipMatch, off_t, Nimages); 115 118 for (i = 0; i < Nimages; i++) { 116 119 ChipMatch[i] = -1; … … 131 134 return (TRUE); 132 135 } 136 137 int BuildChipMatch (Image *images, off_t Nimages) { 138 139 off_t i, j, NDIS; 140 141 if (DISentry != NULL) free (DISentry); 142 if (DIStzero != NULL) free (DIStzero); 143 if (ChipMatch != NULL) free (ChipMatch); 144 145 // allocate containers for DIS indexing 146 Ndis = 0; 147 NDIS = 100; 148 ALLOCATE (DISentry, off_t, NDIS); 149 ALLOCATE (DIStzero, e_time, NDIS); 150 151 // find all DIS images, save tzero (& instrument) 152 for (i = 0; i < Nimages; i++) { 153 if (strcmp(&images[i].coords.ctype[4], "-DIS")) continue; 154 DISentry[Ndis] = i; 155 DIStzero[Ndis] = images[i].tzero; 156 Ndis ++; 157 if (Ndis >= NDIS) { 158 NDIS += 100; 159 REALLOCATE (DISentry, off_t, NDIS); 160 REALLOCATE (DIStzero, e_time, NDIS); 161 } 162 } 163 164 // sort the index, start, and stop by the start times: 165 SortDISindex (DIStzero, DISentry, Ndis); 166 167 /* find all matched WRP images */ 168 ALLOCATE (ChipMatch, off_t, Nimages); 169 for (i = 0; i < Nimages; i++) { 170 ChipMatch[i] = -1; 171 if (strcmp(&images[i].coords.ctype[4], "-WRP")) continue; 172 173 j = getDISentry (images[i].tzero, images[i].tzero + (int) images[i].exptime, DIStzero, DISentry, Ndis); 174 if (j == -1) { 175 fprintf (stderr, "WARNING: can't find matching mosaic \n"); 176 ChipMatch[i] = -2; 177 continue; 178 } 179 if (j >= Nimages) abort(); 180 181 ChipMatch[i] = j; 182 } 183 return (TRUE); 184 } 185 186 off_t getDISentry (e_time start, e_time stop, e_time *startMos, off_t *indexMos, off_t Nmosaic) { 187 188 // use bisection to find the overlapping mosaic 189 190 off_t Nlo, Nhi, N; 191 192 // find the last mosaic before start 193 Nlo = 0; Nhi = Nmosaic; 194 while (Nhi - Nlo > 10) { 195 N = 0.5*(Nlo + Nhi); 196 if (startMos[N] < start) { 197 Nlo = MAX(N, 0); 198 } else { 199 Nhi = MIN(N + 1, Nmosaic); 200 } 201 } 202 203 // check for the matched mosaic starting from Nlo 204 // we may have to go much beyond Nlo since stop is not sorted 205 // can we use a sorted version of stop to check when we are beyond the valid range?? 206 for (N = Nlo; N < Nmosaic; N++) { 207 if (startMos[N] < start) continue; 208 if (startMos[N] > stop) return (-1); 209 return (indexMos[N]); 210 } 211 212 return (-1); 213 } 214 215 // sort two times vectors and an index by first time vector 216 void SortDISindex (e_time *S, off_t *I, off_t N) { 217 218 # define SWAPFUNC(A,B){ e_time tmp_t; off_t tmp_i; \ 219 tmp_t = S[A]; S[A] = S[B]; S[B] = tmp_t; \ 220 tmp_i = I[A]; I[A] = I[B]; I[B] = tmp_i; \ 221 } 222 # define COMPARE(A,B)(S[A] < S[B]) 223 224 OHANA_SORT (N, COMPARE, SWAPFUNC); 225 226 # undef SWAPFUNC 227 # undef COMPARE 228 229 } 230 -
trunk/Ohana/src/libdvo/src/skyregion_io.c
r25757 r27435 126 126 127 127 /* third option: GSCFILE */ 128 129 if (gscfile == NULL) { 130 fprintf (stderr, "error loading sky table from existing db (%s)\n", catdir); 131 return (NULL); 132 } 133 128 134 sky = SkyTableFromGSC (gscfile, depth, verbose); 129 135 if (sky == NULL) { -
trunk/Ohana/src/libdvo/src/skyregion_ops.c
r24976 r27435 386 386 SkyList *SkyListChildrenByBounds_List (SkyList *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax) { 387 387 388 int i, j, Ns, Ne, Nnew, NNEW; 389 int append; 390 SkyList *children; 388 int i, Nnew, NNEW; 391 389 SkyList *list; 392 390 SkyRegion **region; -
trunk/Ohana/src/libfits/header/F_H_field.c
r21059 r27435 6 6 7 7 char *buf; 8 int i, Nwant, Nfound; 8 off_t i; 9 int Nwant, Nfound; 9 10 char keyword[10]; 11 12 if (header[0].buffer == NULL) return NULL; 10 13 11 14 /* create a blank-padded keyword with exactly 8 characters */ … … 19 22 /* find the Nth entry */ 20 23 Nfound = 0; 21 for (i = 0; i < header[0]. size; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) {24 for (i = 0; i < header[0].datasize; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) { 22 25 if (!strncmp (keyword, buf, 8)) { 23 26 Nfound ++; … … 30 33 /* count the entries */ 31 34 Nfound = 0; 32 for (i = 0; i < header[0]. size; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) {35 for (i = 0; i < header[0].datasize; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) { 33 36 if (!strncmp (keyword, buf, 8)) { 34 37 Nfound ++; … … 41 44 /* find the Nwant entry */ 42 45 Nfound = 0; 43 for (i = 0; i < header[0]. size; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) {46 for (i = 0; i < header[0].datasize; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) { 44 47 if (!strncmp (keyword, buf, 8)) { 45 48 Nfound ++; … … 50 53 } 51 54 52 return ((char *) NULL);55 return NULL; 53 56 54 57 /* … … 66 69 67 70 char *buf, *ptr; 68 int i, Nwant, Nfound, Nfield; 71 off_t i; 72 int Nwant, Nfound, Nfield; 73 74 if (header[0].buffer == NULL) return NULL; 69 75 70 76 Nfield = strlen (field); … … 76 82 if (N > 0) { 77 83 Nfound = 0; 78 for (i = 0; i < header[0]. size; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) {84 for (i = 0; i < header[0].datasize; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) { 79 85 // have we found a HIERARCH entry? 80 86 if (strncmp ("HIERARCH", buf, 8)) continue; … … 90 96 /* count the entries */ 91 97 Nfound = 0; 92 for (i = 0; i < header[0]. size; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) {98 for (i = 0; i < header[0].datasize; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) { 93 99 if (strncmp ("HIERARCH", buf, 8)) continue; 94 100 ptr = buf + 9; // start of following keyword … … 102 108 /* find the Nwant entry */ 103 109 Nfound = 0; 104 for (i = 0; i < header[0]. size; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) {110 for (i = 0; i < header[0].datasize; i+= FT_LINE_LENGTH, buf += FT_LINE_LENGTH) { 105 111 if (strncmp ("HIERARCH", buf, 8)) continue; 106 112 ptr = buf + 9; // start of following keyword … … 111 117 } 112 118 113 return ((char *) NULL);119 return NULL; 114 120 115 121 /* … … 122 128 123 129 /*********************** fits header field ****************************/ 124 char *gfits_header_lineno (Header *header, int N) {130 char *gfits_header_lineno (Header *header, off_t N) { 125 131 126 132 char *buf; 127 133 128 if (N*80 >= header[0]. size) return NULL;134 if (N*80 >= header[0].datasize) return NULL; 129 135 130 136 buf = &header[0].buffer[N*80]; -
trunk/Ohana/src/libfits/header/F_copy_H.c
r17903 r27435 16 16 out[0].Naxis[i] = in[0].Naxis[i]; 17 17 18 out[0]. size = in[0].size;18 out[0].datasize = in[0].datasize; 19 19 20 20 out[0].pcount = in[0].pcount; … … 24 24 25 25 if (out[0].buffer != NULL) free (out[0].buffer); 26 ALLOCATE (out[0].buffer, char, out[0]. size);26 ALLOCATE (out[0].buffer, char, out[0].datasize); 27 27 28 strncpy (out[0].buffer, in[0].buffer, out[0].size);28 memcpy (out[0].buffer, in[0].buffer, out[0].datasize); 29 29 30 30 return (TRUE); -
trunk/Ohana/src/libfits/header/F_create_H.c
r15487 r27435 9 9 char axis[10]; 10 10 11 header[0]. size = NBYTES;11 header[0].datasize = NBYTES; 12 12 13 13 ALLOCATE (header[0].buffer, char, NBYTES); … … 17 17 strncpy (header[0].buffer, "END", 3); 18 18 19 gfits_modify (header, "SIMPLE", "%t", 1, header[0].simple);19 gfits_modify_alt (header, "SIMPLE", "%t", 1, header[0].simple); 20 20 gfits_modify (header, "BITPIX", "%d", 1, header[0].bitpix); 21 21 gfits_modify (header, "NAXIS", "%d", 1, header[0].Naxes); … … 23 23 for (i = 0; i < header[0].Naxes; i++) { 24 24 snprintf (axis, 10, "NAXIS%d", i + 1); 25 gfits_modify (header, axis, "% d", 1,header[0].Naxis[i]);25 gfits_modify (header, axis, "%lld", 1, (long long) header[0].Naxis[i]); 26 26 } 27 27 … … 30 30 gfits_modify (header, "BSCALE", "%lf", 1, header[0].bscale); 31 31 gfits_modify (header, "BZERO", "%lf", 1, header[0].bzero); 32 gfits_modify (header, "EXTEND", "%t", 1, header[0].extend);32 gfits_modify_alt (header, "EXTEND", "%t", 1, header[0].extend); 33 33 return (TRUE); 34 34 -
trunk/Ohana/src/libfits/header/F_delete.c
r7054 r27435 5 5 int gfits_delete (Header *header, char *field, int N) { 6 6 7 int i, Nbytes; 7 int i; 8 off_t Nbytes; 8 9 char *p1, *p2; 9 10 … … 22 23 23 24 p2 = gfits_header_field (header, "END", 1); 24 if (header[0]. size - (p2 - header[0].buffer + FT_LINE_LENGTH) > FT_RECORD_SIZE) {25 header[0]. size -= FT_RECORD_SIZE;26 REALLOCATE (header[0].buffer, char, header[0]. size);25 if (header[0].datasize - (p2 - header[0].buffer + FT_LINE_LENGTH) > FT_RECORD_SIZE) { 26 header[0].datasize -= FT_RECORD_SIZE; 27 REALLOCATE (header[0].buffer, char, header[0].datasize); 27 28 } 28 29 return (TRUE); -
trunk/Ohana/src/libfits/header/F_modify.c
r21059 r27435 2 2 # include <gfitsio.h> 3 3 4 // this is only valid for the regular and non-boolean fields 4 5 int gfits_modify (Header *header, char *field, char *mode, int N,...) { 5 6 … … 8 9 9 10 char comment[82], string[82], data[82]; 10 char *p, *q s, *qe;11 char *p, *qe; 11 12 va_list argp; 12 13 … … 29 30 30 31 /* is there enough space for 1 more line? */ 31 if (header[0]. size - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) {32 header[0]. size += FT_RECORD_SIZE;33 REALLOCATE (header[0].buffer, char, header[0]. size);32 if (header[0].datasize - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) { 33 header[0].datasize += FT_RECORD_SIZE; 34 REALLOCATE (header[0].buffer, char, header[0].datasize); 34 35 p = gfits_header_field (header, "END", 1); 35 36 if (p == NULL) return (FALSE); … … 50 51 51 52 /* write the numeric modes */ 52 if (!strcmp (mode, "%d")) snprintf (string, 81, "%-8s= %20d / %-s ", field, va_arg (argp, int), comment); 53 if (!strcmp (mode, "%u")) snprintf (string, 81, "%-8s= %20d / %-s ", field, va_arg (argp, unsigned), comment); 54 if (!strcmp (mode, "%ld")) snprintf (string, 81, "%-8s= %20ld / %-s ", field, va_arg (argp, long), comment); 55 if (!strcmp (mode, "%hd")) snprintf (string, 81, "%-8s= %20d / %-s ", field, va_arg (argp, int), comment); 56 if (!strcmp (mode, "%f")) snprintf (string, 81, "%-8s= %20.10f / %-s ", field, va_arg (argp, double), comment); 57 if (!strcmp (mode, "%lf")) snprintf (string, 81, "%-8s= %20.10f / %-s ", field, va_arg (argp, double), comment); 58 if (!strcmp (mode, "%e")) snprintf (string, 81, "%-8s= %20.10E / %-s ", field, va_arg (argp, double), comment); 59 if (!strcmp (mode, "%le")) snprintf (string, 81, "%-8s= %20.10E / %-s ", field, va_arg (argp, double), comment); 60 if (!strcmp (mode, "%g")) snprintf (string, 81, "%-8s= %20.10G / %-s ", field, va_arg (argp, double), comment); 61 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); 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); 68 69 /* string value. Quotes must be at least 18 chars apart */ 70 if (!strcmp (mode, "%s")) { 71 strncpy (data, va_arg (argp, char *), 68); 72 snprintf (string, 81, "%-8s= '%-18s' / %-s ", field, data, comment); 73 } 74 75 strncpy (p, string, 80); 76 va_end (argp); 77 return (TRUE); 78 79 } 80 81 // alternate version for the special types (boolean, comments, COMMENT) 82 int gfits_modify_alt (Header *header, char *field, char *mode, int N,...) { 83 84 /* this function expects one more argument, the value to be written */ 85 /* this function is extremely similar to gfits_print, except it allows for changing an existing field. */ 86 87 char comment[82], string[82], data[82]; 88 char *p, *qs, *qe; 89 va_list argp; 90 91 va_start (argp, N); 92 bzero (data, 82); 93 bzero (string, 82); 94 bzero (comment, 82); 95 96 if (mode[0] != '%') { 97 fprintf (stderr, "gfits_print: weird mode: %s\n", mode); 98 return (FALSE); 99 } 100 101 /* find location of desired entry */ 102 p = gfits_header_field (header, field, N); 103 if (p == NULL) { 104 /* new entry, find the END of the header */ 105 p = gfits_header_field (header, "END", 1); 106 if (p == NULL) return (FALSE); 107 108 /* is there enough space for 1 more line? */ 109 if (header[0].datasize - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) { 110 header[0].datasize += FT_RECORD_SIZE; 111 REALLOCATE (header[0].buffer, char, header[0].datasize); 112 p = gfits_header_field (header, "END", 1); 113 if (p == NULL) return (FALSE); 114 memset (p + FT_LINE_LENGTH, ' ', FT_RECORD_SIZE); 115 } 116 117 /* push END line back 1 */ 118 memmove ((p + FT_LINE_LENGTH), p, FT_LINE_LENGTH); 119 memset (p, ' ', FT_LINE_LENGTH); 120 } else { 121 /* old entry, save the comment region (is this skipping a character for non-strings?) */ 122 qe = gfits_keyword_end (p); 123 qe += 3; 124 qe = MIN (p + 80, qe); 125 strncpy (comment, qe, p + 80 - qe); 126 } 127 gfits_pad_ending (comment, ' ', 82); /* comment must contain spaces to the end */ 62 128 63 129 /* write the boolean mode */ … … 67 133 else 68 134 snprintf (string, 81, "%-8s= %18s F / %-s ", field, " ", comment); 69 }70 71 /* string value. Quotes must be at least 18 chars apart */72 if (!strcmp (mode, "%s")) {73 strncpy (data, va_arg (argp, char *), 68);74 snprintf (string, 81, "%-8s= '%-18s' / %-s ", field, data, comment);75 135 } 76 136 -
trunk/Ohana/src/libfits/header/F_print.c
r7054 r27435 2 2 # include <gfitsio.h> 3 3 4 // this only prints the regular and non-boolean fields 4 5 int gfits_print (Header *header, char *field, char *mode, int N,...) { 6 7 /* this function expects one more argument, the value to be written */ 8 9 static char blank[] = " "; 10 char string[82], line[80]; 11 char *p; 12 va_list argp; 13 14 va_start (argp, N); 15 16 if (mode[0] != '%') { 17 fprintf (stderr, "gfits_print: weird mode: %s\n", mode); 18 return (FALSE); 19 } 20 21 /* this is supposed to create a new field, not modify an old one. */ 22 p = gfits_header_field (header, field, N); 23 if (p != NULL) return (FALSE); 24 25 /* find the END of the header */ 26 p = gfits_header_field (header, "END", 1); 27 if (p == NULL) return (FALSE); 28 29 /* is there enough space for 1 more line? */ 30 if (header[0].datasize - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) { 31 header[0].datasize += FT_RECORD_SIZE; 32 REALLOCATE (header[0].buffer, char, header[0].datasize); 33 /* re-find the "END" marker, in case new memory block is used */ 34 p = gfits_header_field (header, "END", 1); 35 if (p == NULL) return (FALSE); 36 memset (p + FT_LINE_LENGTH, ' ', FT_RECORD_SIZE); 37 } 38 39 /* push END line back 1 */ 40 memmove ((p + FT_LINE_LENGTH), p, FT_LINE_LENGTH); 41 memset (p, ' ', FT_LINE_LENGTH); 42 43 /* write the new FITS card, setting the comment to be blank */ 44 /* in these lines, the value field will expand as needed, forcing out the comment 45 the total line is limited by snprintf to only 80 chars + EOL */ 46 47 /* 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); } 63 64 /* 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 */ 65 if (!strcmp (mode, "%s")) { 66 strcpy (line, va_arg (argp, char *)); 67 line[68] = 0; 68 snprintf (string, 81, "%-8s= '%-18s' / %46s ", field, line, blank); 69 } 70 71 strncpy (p, string, 80); 72 73 va_end (argp); 74 return (TRUE); 75 76 } 77 78 // alternate version for the special types (boolean, comments, COMMENT) 79 int gfits_print_alt (Header *header, char *field, char *mode, int N,...) { 5 80 6 81 /* this function expects one more argument, the value to be written */ … … 27 102 28 103 /* is there enough space for 1 more line? */ 29 if (header[0]. size - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) {30 header[0]. size += FT_RECORD_SIZE;31 REALLOCATE (header[0].buffer, char, header[0]. size);104 if (header[0].datasize - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) { 105 header[0].datasize += FT_RECORD_SIZE; 106 REALLOCATE (header[0].buffer, char, header[0].datasize); 32 107 /* re-find the "END" marker, in case new memory block is used */ 33 108 p = gfits_header_field (header, "END", 1); … … 40 115 memset (p, ' ', FT_LINE_LENGTH); 41 116 42 /* write the new FITS card, setting the comment to be blank */43 /* in these lines, the value field will expand as needed, forcing out the comment44 the total line is limited by snprintf to only 80 chars + EOL */45 46 /* write the numeric modes */47 if (!strcmp (mode, "%d")) { snprintf (string, 81, "%-8s= %20d / %46s ", field, va_arg (argp, int), blank); }48 if (!strcmp (mode, "%u")) { snprintf (string, 81, "%-8s= %20d / %46s ", field, va_arg (argp, unsigned), blank); }49 if (!strcmp (mode, "%ld")) { snprintf (string, 81, "%-8s= %20ld / %46s ", field, va_arg (argp, long), blank); }50 if (!strcmp (mode, "%hd")) { snprintf (string, 81, "%-8s= %20d / %46s ", field, va_arg (argp, int), blank); }51 if (!strcmp (mode, "%f")) { snprintf (string, 81, "%-8s= %20.10f / %46s ", field, va_arg (argp, double), blank); }52 if (!strcmp (mode, "%lf")) { snprintf (string, 81, "%-8s= %20.10f / %46s ", field, va_arg (argp, double), blank); }53 if (!strcmp (mode, "%e")) { snprintf (string, 81, "%-8s= %20.10E / %46s ", field, va_arg (argp, double), blank); }54 if (!strcmp (mode, "%le")) { snprintf (string, 81, "%-8s= %20.10E / %46s ", field, va_arg (argp, double), blank); }55 if (!strcmp (mode, "%g")) { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double), blank); }56 if (!strcmp (mode, "%lg")) { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double), blank); }57 58 117 /* write the boolean mode */ 59 118 if (!strcmp (mode, "%t")) { … … 63 122 else 64 123 snprintf (string, 81, "%-8s= %18s F / %46s ", field, blank, blank); 65 }66 67 /* 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 */68 if (!strcmp (mode, "%s")) {69 strcpy (line, va_arg (argp, char *));70 line[68] = 0;71 snprintf (string, 81, "%-8s= '%-18s' / %46s ", field, line, blank);72 124 } 73 125 -
trunk/Ohana/src/libfits/header/F_read_H.c
r15904 r27435 23 23 int gfits_load_header (FILE *f, Header *header) { 24 24 25 int i, done, Nbytes, t1, t2; 25 off_t i, Nbytes; 26 int done, t1, t2; 26 27 char *p; 27 28 28 header[0]. size = 0;29 header[0].datasize = 0; 29 30 done = FALSE; 30 31 ALLOCATE (header[0].buffer, char, 1); … … 32 33 for (i = 0; !done; i++) { 33 34 REALLOCATE (header[0].buffer, char, (i + 1)*FT_RECORD_SIZE); 34 Nbytes = fread (&header[0].buffer[i*FT_RECORD_SIZE], 35 sizeof(char), FT_RECORD_SIZE, f); 35 Nbytes = fread (&header[0].buffer[i*FT_RECORD_SIZE], sizeof(char), FT_RECORD_SIZE, f); 36 36 if (Nbytes != FT_RECORD_SIZE) { 37 37 if (feof(f)) return (FALSE); … … 40 40 } 41 41 42 header[0]. size += Nbytes;42 header[0].datasize += Nbytes; 43 43 44 44 if (i == 0) { … … 60 60 header[0].Naxis[i] = 0; 61 61 62 gfits_scan (header, "SIMPLE", "%t", 1, &header[0].simple);62 gfits_scan_alt (header, "SIMPLE", "%t", 1, &header[0].simple); 63 63 gfits_scan (header, "BITPIX", "%d", 1, &header[0].bitpix); 64 64 gfits_scan (header, "NAXIS", "%d", 1, &header[0].Naxes); 65 65 66 gfits_scan (header, "EXTEND", "%t", 1, &header[0].extend);67 gfits_scan (header, "UNSIGN", "%t", 1, &header[0].unsign);66 gfits_scan_alt (header, "EXTEND", "%t", 1, &header[0].extend); 67 gfits_scan_alt (header, "UNSIGN", "%t", 1, &header[0].unsign); 68 68 gfits_scan (header, "BSCALE", "%lf", 1, &header[0].bscale); 69 69 gfits_scan (header, "BZERO", "%lf", 1, &header[0].bzero); 70 70 71 gfits_scan (header, "NAXIS1", "% d", 1,&header[0].Naxis[0]);72 gfits_scan (header, "NAXIS2", "% d", 1,&header[0].Naxis[1]);73 gfits_scan (header, "NAXIS3", "% d", 1,&header[0].Naxis[2]);74 gfits_scan (header, "NAXIS4", "% d", 1,&header[0].Naxis[3]);75 gfits_scan (header, "NAXIS5", "% d", 1,&header[0].Naxis[4]);76 gfits_scan (header, "NAXIS6", "% d", 1,&header[0].Naxis[5]);77 gfits_scan (header, "NAXIS7", "% d", 1,&header[0].Naxis[6]);78 gfits_scan (header, "NAXIS8", "% d", 1,&header[0].Naxis[7]);79 gfits_scan (header, "NAXIS9", "% d", 1,&header[0].Naxis[8]);80 gfits_scan (header, "NAXIS10", "% d", 1,&header[0].Naxis[9]);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]); 81 81 82 82 if (!gfits_scan (header, "PCOUNT", "%d", 1, &header[0].pcount)) { -
trunk/Ohana/src/libfits/header/F_read_XH.c
r19250 r27435 31 31 /* read header for extension number N */ 32 32 33 int j, Nmatrix, Nskip; 33 int j; 34 off_t Nmatrix, Nskip; 34 35 Header theader; 35 36 36 37 /* set f to beginning of file */ 37 fseek (f, 0, SEEK_SET);38 fseeko (f, 0, SEEK_SET); 38 39 39 40 Nskip = 0; … … 47 48 48 49 /* skip to next header */ 49 fseek (f, Nmatrix, SEEK_CUR);50 Nskip += (Nmatrix + theader. size);50 fseeko (f, Nmatrix, SEEK_CUR); 51 Nskip += (Nmatrix + theader.datasize); 51 52 gfits_free_header (&theader); 52 53 } … … 55 56 return (FALSE); 56 57 } 57 Nskip += header[0]. size;58 Nskip += header[0].datasize; 58 59 return (Nskip); 59 60 } -
trunk/Ohana/src/libfits/header/F_scan.c
r21059 r27435 2 2 # include <gfitsio.h> 3 3 4 // this only scans the regular and non-boolean fields 4 5 int gfits_scan (Header *header, char *field, char *mode, int N,...) { 5 6 … … 13 14 } 14 15 16 // alternate version for the special types (boolean, comments, COMMENT) 17 int gfits_scan_alt (Header *header, char *field, char *mode, int N,...) { 18 19 int status; 20 va_list argp; 21 22 va_start (argp, N); 23 status = gfits_vscan_alt (header, field, mode, N, argp); 24 va_end (argp); 25 return (status); 26 } 27 28 // this only scans the regular and non-boolean fields 15 29 int gfits_vscan (Header *header, char *field, char *mode, int N, va_list argp) { 16 30 17 31 char *p, *q, *s, tmp[81]; 18 32 int Nchar, status; 19 double value; 33 long long value; 34 double fvalue; 20 35 21 36 /* find the correct line with field */ … … 26 41 } 27 42 43 /* all others require '=' in column 8 */ 44 if (p[8] != '=') return (FALSE); 45 46 /* extract data into char array (exclude containing ' chars) */ 47 if (!strcmp (mode, "%s")) { 48 s = gfits_keyword_start (p); /* points at first char (not ') */ 49 q = gfits_keyword_end (p); /* points at following space or ' */ 50 51 Nchar = MAX (0, (q - s)); 52 bzero (tmp, 81); 53 memcpy (tmp, s, Nchar); 54 stripwhite (tmp); 55 strcpy (va_arg (argp, char *), tmp); 56 return (TRUE); 57 } 58 59 /* remaining options are numerical data */ 60 /* need to interpret 1.0d5 as 1.0e5 */ 61 s = gfits_keyword_start (p); /* points at first char (not ') */ 62 q = gfits_keyword_end (p); /* points at following space or ' */ 63 64 if (!strcmp (mode, "%f") || !strcmp (mode, "%lf")) { 65 fvalue = strtod (s, &q); 66 if ((*q == 'd') || (*q == 'D')) 67 fvalue *= pow (10.0, atof (q + 1)); 68 69 if (!strcmp (mode, "%f")) { *va_arg (argp, float *) = fvalue; return (TRUE); } 70 if (!strcmp (mode, "%lf")) { *va_arg (argp, double *) = fvalue; return (TRUE); } 71 } 72 73 value = strtoll (s, &q, 0); 74 if ((*q == 'd') || (*q == 'D')) value *= pow (10.0, atof (q + 1)); 75 76 if (!strcmp (mode, "%d")) { *va_arg (argp, int *) = value; return (TRUE); } 77 if (!strcmp (mode, "%ld")) { *va_arg (argp, long *) = value; return (TRUE); } 78 if (!strcmp (mode, "%lld")) { *va_arg (argp, long long *) = value; return (TRUE); } 79 if (!strcmp (mode, "%Ld")) { *va_arg (argp, long long *) = value; return (TRUE); } 80 if (!strcmp (mode, "%u")) { *va_arg (argp, unsigned *) = value; return (TRUE); } 81 if (!strcmp (mode, "%lu")) { *va_arg (argp, unsigned long *) = value; return (TRUE); } 82 if (!strcmp (mode, "%llu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 83 if (!strcmp (mode, "%Lu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 84 if (!strcmp (mode, "%hd")) { *va_arg (argp, short *) = value; return (TRUE); } 85 86 /* no valid mode found */ 87 return (FALSE); 88 } 89 90 // alternate version for the special types (boolean, comments, COMMENT) 91 int gfits_vscan_alt (Header *header, char *field, char *mode, int N, va_list argp) { 92 93 char *p, *q, *s, tmp[81]; 94 int Nchar, status; 95 96 /* find the correct line with field */ 97 p = gfits_header_field (header, field, N); 98 if (p == NULL) { 99 status = gfits_vscan_hierarch (header, field, mode, N, argp); 100 return (status); 101 } 102 28 103 /* non-data entry (COMMENT, HISTORY) */ 29 104 if (!strcmp (mode, "%S")) { … … 47 122 } 48 123 49 /* extract data into char array (exclude containing ' chars) */50 if (!strcmp (mode, "%s")) {51 s = gfits_keyword_start (p); /* points at first char (not ') */52 q = gfits_keyword_end (p); /* points at following space or ' */53 54 Nchar = MAX (0, (q - s));55 bzero (tmp, 81);56 memcpy (tmp, s, Nchar);57 stripwhite (tmp);58 strcpy (va_arg (argp, char *), tmp);59 return (TRUE);60 }61 62 124 /* boolean data, requires int target */ 63 125 if (!strcmp (mode, "%t")) { … … 73 135 } 74 136 75 /* remaining options are numerical data */76 /* need to interpret 1.0d5 as 1.0e5 */77 s = gfits_keyword_start (p); /* points at first char (not ') */78 q = gfits_keyword_end (p); /* points at following space or ' */79 value = strtod (s, &q);80 if ((*q == 'd') || (*q == 'D'))81 value *= pow (10.0, atof (q + 1));82 83 if (!strcmp (mode, "%d")) { *va_arg (argp, int *) = value; return (TRUE); }84 if (!strcmp (mode, "%u")) { *va_arg (argp, unsigned *) = value; return (TRUE); }85 if (!strcmp (mode, "%ld")) { *va_arg (argp, long *) = value; return (TRUE); }86 if (!strcmp (mode, "%hd")) { *va_arg (argp, short *) = value; return (TRUE); }87 if (!strcmp (mode, "%f")) { *va_arg (argp, float *) = value; return (TRUE); }88 if (!strcmp (mode, "%lf")) { *va_arg (argp, double *) = value; return (TRUE); }89 90 137 /* no valid mode found */ 91 138 return (FALSE); … … 97 144 char *p, *q, *s, tmp[81]; 98 145 int Nchar, Nfield; 99 double value; 146 long long value; 147 double fvalue; 100 148 101 149 /* find the correct line with field */ … … 156 204 s = gfits_hierarch_keyword_start (p, field); /* points at first char (not ') */ 157 205 q = gfits_hierarch_keyword_end (p, field); /* points at following space or ' */ 158 value = strtod (s, &q); 159 if ((*q == 'd') || (*q == 'D')) 160 value *= pow (10.0, atof (q + 1)); 161 162 if (!strcmp (mode, "%d")) { *va_arg (argp, int *) = value; return (TRUE); } 163 if (!strcmp (mode, "%u")) { *va_arg (argp, unsigned *) = value; return (TRUE); } 164 if (!strcmp (mode, "%ld")) { *va_arg (argp, long *) = value; return (TRUE); } 165 if (!strcmp (mode, "%hd")) { *va_arg (argp, short *) = value; return (TRUE); } 166 if (!strcmp (mode, "%f")) { *va_arg (argp, float *) = value; return (TRUE); } 167 if (!strcmp (mode, "%lf")) { *va_arg (argp, double *) = value; return (TRUE); } 206 207 if (!strcmp (mode, "%f") || !strcmp (mode, "%lf")) { 208 fvalue = strtod (s, &q); 209 if ((*q == 'd') || (*q == 'D')) 210 fvalue *= pow (10.0, atof (q + 1)); 211 212 if (!strcmp (mode, "%f")) { *va_arg (argp, float *) = fvalue; return (TRUE); } 213 if (!strcmp (mode, "%lf")) { *va_arg (argp, double *) = fvalue; return (TRUE); } 214 } 215 216 value = strtoll (s, &q, 0); 217 if ((*q == 'd') || (*q == 'D')) value *= pow (10.0, atof (q + 1)); 218 219 if (!strcmp (mode, "%d")) { *va_arg (argp, int *) = value; return (TRUE); } 220 if (!strcmp (mode, "%ld")) { *va_arg (argp, long *) = value; return (TRUE); } 221 if (!strcmp (mode, "%lld")) { *va_arg (argp, long long *) = value; return (TRUE); } 222 if (!strcmp (mode, "%Ld")) { *va_arg (argp, long long *) = value; return (TRUE); } 223 if (!strcmp (mode, "%u")) { *va_arg (argp, unsigned *) = value; return (TRUE); } 224 if (!strcmp (mode, "%lu")) { *va_arg (argp, unsigned long *) = value; return (TRUE); } 225 if (!strcmp (mode, "%llu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 226 if (!strcmp (mode, "%Lu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 227 if (!strcmp (mode, "%hd")) { *va_arg (argp, short *) = value; return (TRUE); } 168 228 169 229 /* no valid mode found */ -
trunk/Ohana/src/libfits/header/F_write_H.c
r7054 r27435 6 6 7 7 FILE *f; 8 int Nbytes, status; 8 off_t Nbytes; 9 int status; 9 10 10 11 status = TRUE; … … 13 14 if (f == (FILE *) NULL) return (FALSE); 14 15 15 Nbytes = fwrite (header[0].buffer, sizeof(char), header[0]. size, f);16 Nbytes = fwrite (header[0].buffer, sizeof(char), header[0].datasize, f); 16 17 17 if (Nbytes != header[0]. size) {18 if (Nbytes != header[0].datasize) { 18 19 status = FALSE; 19 20 } … … 27 28 int gfits_save_header (FILE *f, Header *header) { 28 29 29 int Nbytes, status; 30 off_t Nbytes; 31 int status; 30 32 31 33 status = TRUE; 32 34 33 Nbytes = fwrite (header[0].buffer, sizeof(char), header[0]. size, f);35 Nbytes = fwrite (header[0].buffer, sizeof(char), header[0].datasize, f); 34 36 35 if (Nbytes != header[0]. size) {37 if (Nbytes != header[0].datasize) { 36 38 status = FALSE; 37 39 } -
trunk/Ohana/src/libfits/include/gfitsio.h
r21059 r27435 44 44 45 45 typedef struct { 46 int simple; 47 int unsign; 48 int extend; 49 int bitpix; 50 int Naxes; 51 intNaxis[FT_MAX_NAXES];52 intsize;46 int simple; // T or F 47 int unsign; // T or F 48 int extend; // T or F 49 int bitpix; // 8, 16, 32, 64, or -32, -64 50 int Naxes; // < FT_MAX_NAXES (10) 51 off_t Naxis[FT_MAX_NAXES]; 52 off_t datasize; 53 53 int pcount; 54 54 int gcount; … … 65 65 int bitpix; 66 66 int Naxes; 67 intNaxis[FT_MAX_NAXES];68 intsize;67 off_t Naxis[FT_MAX_NAXES]; 68 off_t datasize; 69 69 double bzero; 70 70 double bscale; … … 76 76 Header *header; 77 77 char *buffer; 78 intsize;78 off_t datasize; 79 79 } FTable; 80 80 … … 83 83 Header *header; 84 84 char **buffer; 85 intNrow;86 int*row;87 intsize; /* total buffer size */88 intpad; /* bytes of padding at the end */85 off_t Nrow; 86 off_t *row; 87 off_t datasize; /* total buffer size */ 88 off_t pad; /* bytes of padding at the end */ 89 89 } VTable; 90 90 91 91 typedef struct { 92 int maxlen; // max size of all table rows 93 int nbytes; // number of bytes per column element 94 int Nstart; // byte offset of this column 95 int heap_start; // byte offset to start of HEAP 96 char format; // data format character (one of: XLABIJEDCM) 92 int maxlen; // max size of all table rows 93 int nbytes; // number of bytes per column element 94 int Nstart; // byte offset of this column relative to first column 95 off_t heap_start; // byte offset to start of HEAP 96 char format; // data format character (one of: XLABIJEDCM) 97 char mode; // access data pointer type (one of P or Q) 97 98 } VarLengthColumn; 98 99 … … 106 107 107 108 char *gfits_header_field PROTO((Header *header, char *field, int N)); 108 char *gfits_header_lineno PROTO((Header *header, int N));109 char *gfits_header_lineno PROTO((Header *header, off_t N)); 109 110 char *gfits_keyword_end PROTO((char *line)); 110 111 int gfits_copy_header PROTO((Header *in, Header *out)); … … 118 119 int gfits_init_header PROTO((Header *header)); 119 120 int gfits_load_header PROTO((FILE *f, Header *header)); 120 int gfits_modify PROTO((Header *header, char *field, char *mode, int N,...)); 121 int gfits_print PROTO((Header *header, char *field, char *mode, int N,...)); 121 int gfits_modify PROTO((Header *header, char *field, char *mode, int N,...)) OHANA_FORMAT(printf, 3, 5); 122 int gfits_print PROTO((Header *header, char *field, char *mode, int N,...)) OHANA_FORMAT(printf, 3, 5); 123 int gfits_modify_alt PROTO((Header *header, char *field, char *mode, int N,...)); 124 int gfits_print_alt PROTO((Header *header, char *field, char *mode, int N,...)); 122 125 int gfits_read_Xheader PROTO((char *filename, Header *header, int N)); 123 126 int gfits_read_header PROTO((char *filename, Header *header)); 124 127 int gfits_save_header PROTO((FILE *f, Header *header)); 125 int gfits_scan PROTO((Header *header, char *field, char *mode, int N,...)); 128 int gfits_scan PROTO((Header *header, char *field, char *mode, int N,...)) OHANA_FORMAT(scanf, 3, 5); 129 int gfits_scan_alt PROTO((Header *header, char *field, char *mode, int N,...)); 126 130 int gfits_set_unsign_mode PROTO((int mode)); 127 131 int gfits_stripwhite PROTO((char *string)); 128 132 int gfits_vscan PROTO((Header *header, char *field, char *mode, int N, va_list argp)); 133 int gfits_vscan_alt PROTO((Header *header, char *field, char *mode, int N, va_list argp)); 129 134 int gfits_write_header PROTO((char *filename, Header *header)); 130 intgfits_data_size PROTO((Header *header));131 intgfits_data_min_size PROTO((Header *header));135 off_t gfits_data_size PROTO((Header *header)); 136 off_t gfits_data_min_size PROTO((Header *header)); 132 137 int gfits_extended_to_primary PROTO((Header *header, int simple, char *comment)); 133 138 int gfits_primary_to_extended PROTO((Header *header, char *exttype, char *comment)); … … 143 148 /******************************* Matrix functions *************/ 144 149 145 void gfits_add_matrix_value PROTO((Matrix *matrix, int x, int y, double value));150 void gfits_add_matrix_value PROTO((Matrix *matrix, off_t x, off_t y, double value)); 146 151 int gfits_convert_format PROTO((Header *header, Matrix *matrix, int outBitpix, double outScale, double outZero, int inBlank, int outUnsign)); 147 152 int gfits_copy_matrix PROTO((Matrix *in, Matrix *out)); … … 152 157 void gfits_free_matrix PROTO((Matrix *matrix)); 153 158 int gfits_fwrite_matrix PROTO((FILE *f, Matrix *matrix)); 154 double gfits_get_matrix_value PROTO((Matrix *matrix, int x, int y));155 void gfits_insert_ array PROTO((Matrix *matrix, Matrix *array, int x, int y));159 double gfits_get_matrix_value PROTO((Matrix *matrix, off_t x, off_t y)); 160 void gfits_insert_matrix PROTO((Matrix *matrix, Matrix *array, off_t x, off_t y)); 156 161 int gfits_load_matrix PROTO((FILE *f, Matrix *matrix, Header *header)); 157 162 int gfits_multiply_matrix PROTO((Matrix *M1, Matrix *M2, Matrix *M3)); 158 163 int gfits_read_matrix PROTO((char *filename, Matrix *matrix)); 159 164 int gfits_read_matrix_segment PROTO((char *filename, Matrix *matrix, char *region)); 160 int gfits_read_portion PROTO((char *filename, Matrix *matrix, int Nskip, int Npix));161 void gfits_set_matrix_value PROTO((Matrix *matrix, int x, int y, double value));165 int gfits_read_portion PROTO((char *filename, Matrix *matrix, off_t Nskip, off_t Npix)); 166 void gfits_set_matrix_value PROTO((Matrix *matrix, off_t x, off_t y, double value)); 162 167 int gfits_write_matrix PROTO((char *filename, Matrix *matrix)); 163 168 int gfits_uncompress_image PROTO((Header *header, Matrix *matrix, FTable *ftable)); … … 166 171 int gfits_byteswap_zdata PROTO((char *zdata, int Nzdata, int bitpix)); 167 172 int gfits_extension_is_compressed PROTO((Header *header)); 168 intgfits_tile_size PROTO((Matrix *matrix, int *otile, int *ztile));173 off_t gfits_tile_size PROTO((Matrix *matrix, int *otile, int *ztile)); 169 174 int gfits_uncompressed_data_pixsize PROTO((char *cmptype, int out_bitpix, char **optname, char **optvalue, int Noptions)); 170 175 int gfits_vartable_heap_pixsize PROTO((char format)); … … 173 178 174 179 char *gfits_table_print PROTO((FTable *ftable,...)); 175 int gfits_add_rows PROTO((FTable *ftable, char *data, int Nrow, int Nbytes));180 int gfits_add_rows PROTO((FTable *ftable, char *data, off_t Nrow, off_t Nbytes)); 176 181 int gfits_bintable_format PROTO((char *format, char *type, int *Nval, int *Nbytes)); 177 182 int gfits_create_table PROTO((Header *header, FTable *ftable)); … … 181 186 int gfits_fread_ftable PROTO((FILE *f, FTable *ftable, char *extname)); 182 187 int gfits_fread_ftable_data PROTO((FILE *f, FTable *ftable)); 183 int gfits_fread_ftable_range PROTO((FILE *f, FTable *ftable, int start, int Nrows));184 int gfits_fread_vtable PROTO((FILE *f, VTable *vtable, char *extname, int Nrow, int *row));185 int gfits_fread_vtable_range PROTO((FILE *f, VTable *vtable, int start, int Nrows));188 int gfits_fread_ftable_range PROTO((FILE *f, FTable *ftable, off_t start, off_t Nrows)); 189 int gfits_fread_vtable PROTO((FILE *f, VTable *vtable, char *extname, off_t Nrow, off_t *row)); 190 int gfits_fread_vtable_range PROTO((FILE *f, VTable *vtable, off_t start, off_t Nrows)); 186 191 int gfits_free_table PROTO((FTable *ftable)); 187 192 int gfits_free_vtable PROTO((VTable *vtable)); 188 193 int gfits_fwrite_table PROTO((FILE *f, FTable *table)); 189 194 int gfits_fwrite_vtable PROTO((FILE *f, VTable *table)); 190 int gfits_fwrite_ftable_range PROTO((FILE *f, FTable *table, int start, int Nrows, int Ndisk, int Ntotal));195 int gfits_fwrite_ftable_range PROTO((FILE *f, FTable *table, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal)); 191 196 int gfits_get_bintable_column PROTO((Header *header, FTable *table, char *label, void **data)); 192 197 int gfits_get_bintable_column_type PROTO((Header *header, char *label, char *type, int *Nval)); 193 void *gfits_get_bintable_column_data PROTO((Header *header, FTable *table, char *label, char *type, int *Nrow, int *Ncol));198 void *gfits_get_bintable_column_data PROTO((Header *header, FTable *table, char *label, char *type, off_t *Nrow, int *Ncol)); 194 199 int gfits_get_table_column PROTO((Header *header, FTable *table, char *label, void **data)); 195 200 int gfits_get_table_column_type PROTO((Header *header, char *label, char *type)); 196 201 int gfits_read_ftable PROTO((char *filename, FTable *table, char *extname)); 197 202 int gfits_read_table PROTO((char *filename, FTable *ftable)); 198 int gfits_set_bintable_column PROTO((Header *header, FTable *table, char *label, void *data, int Nrow));199 int gfits_set_table_column PROTO((Header *header, FTable *table, char *label, void *data, int Nrow));200 int gfits_table_column PROTO((FTable *ftable, char *field, char *mode,...)) ;203 int gfits_set_bintable_column PROTO((Header *header, FTable *table, char *label, void *data, off_t Nrow)); 204 int gfits_set_table_column PROTO((Header *header, FTable *table, char *label, void *data, off_t Nrow)); 205 int gfits_table_column PROTO((FTable *ftable, char *field, char *mode,...)) OHANA_FORMAT(printf, 3, 4); 201 206 int gfits_table_format PROTO((char *format, char *type, int *Nval, int *Nbytes)); 202 207 int gfits_table_scale_data PROTO((FTable *ftable)); 203 208 int gfits_table_scale_storage PROTO((FTable *ftable)); 204 int gfits_table_to_vtable PROTO((FTable *ftable, VTable *vtable, int start, int Nkeep));205 int gfits_vadd_rows PROTO((VTable *vtable, char *data, int Nrow, int Nbytes));206 int gfits_vtable_from_ftable PROTO((FTable *ftable, VTable *vtable, int *row, int Nrow));209 int gfits_table_to_vtable PROTO((FTable *ftable, VTable *vtable, off_t start, off_t Nkeep)); 210 int gfits_vadd_rows PROTO((VTable *vtable, char *data, off_t Nrow, off_t Nbytes)); 211 int gfits_vtable_from_ftable PROTO((FTable *ftable, VTable *vtable, off_t *row, off_t Nrow)); 207 212 int gfits_write_table PROTO((char *filename, FTable *ftable)); 208 213 … … 215 220 216 221 int gfits_varlength_column_define PROTO((FTable *ftable, VarLengthColumn *def, int column)); 217 void *gfits_varlength_column_pointer PROTO((FTable *ftable, VarLengthColumn *column, int row, int *length));222 void *gfits_varlength_column_pointer PROTO((FTable *ftable, VarLengthColumn *column, off_t row, off_t *length)); 218 223 219 224 #endif /* FITSIO */ -
trunk/Ohana/src/libfits/matrix/F_add_M.c
r7054 r27435 3 3 4 4 /*********************** fits insert array ***********************************/ 5 void gfits_add_matrix (matrix, array, x, y) 6 Matrix *matrix, *array; 7 int x, y; 5 void gfits_add_matrix (Matrix *matrix, Matrix *array, off_t x, off_t y) 8 6 { 9 7 … … 15 13 if ((x + array[0].Naxis[0] > matrix[0].Naxis[0]) || 16 14 (y + array[0].Naxis[1] > matrix[0].Naxis[1])) { 17 fprintf (stderr, "can't add array here: (%d,%d) - (%d,%d) vs (%d,%d)\n", 18 x, y, x + array[0].Naxis[0], y + array[0].Naxis[1], 19 matrix[0].Naxis[0], 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]); 20 22 return; 21 23 } -
trunk/Ohana/src/libfits/matrix/F_add_M_value.c
r7054 r27435 3 3 4 4 /***************** fits add matrix value ***********************************/ 5 void gfits_add_matrix_value (matrix, x, y, Value) 6 Matrix *matrix; 7 int x, y; 8 double Value; 5 void gfits_add_matrix_value (Matrix *matrix, off_t x, off_t y, double Value) 9 6 { 10 7 -
trunk/Ohana/src/libfits/matrix/F_compress_M.c
r23724 r27435 24 24 gfits_delete (header, ZNAME, 1); } 25 25 26 # define MOD_KEYWORD_ALT(ZNAME,NAME,TYPE,IN,OUT) { \ 27 if (gfits_scan_alt (header, ZNAME, TYPE, 1, IN)) { \ 28 gfits_modify_alt (header, NAME, TYPE, 1, OUT); \ 29 } \ 30 gfits_delete (header, ZNAME, 1); } 31 26 32 # define MOD_KEYWORD_REQUIRED(ZNAME,NAME,TYPE,IN,OUT) { \ 27 33 if (!gfits_scan (header, ZNAME, TYPE, 1, IN)) ESCAPE; \ … … 31 37 int gfits_uncompress_image (Header *header, Matrix *matrix, FTable *ftable) { 32 38 33 int i, j, status, zimage, zcol, Nzrows, Nout, Nzdata, max_tile_size; 39 off_t Nzdata, Nzrows, zcol; 40 int i, j, status, zimage, Nout, max_tile_size; 34 41 char cmptype[80]; 35 42 char zaxis[10], naxis[10], key[10], word[81], exttype[81], checksum[81], datasum[81]; … … 51 58 52 59 // is ZIMAGE present? 53 status = gfits_scan (ftable->header, "ZIMAGE", "%t", 1, &zimage);60 status = gfits_scan_alt (ftable->header, "ZIMAGE", "%t", 1, &zimage); 54 61 if (!status || !zimage) ESCAPE; 55 62 … … 70 77 snprintf (zaxis, 10, "ZNAXIS%d", i + 1); 71 78 snprintf (naxis, 10, "NAXIS%d", i + 1); 72 MOD_KEYWORD_REQUIRED (zaxis, naxis, "% d", &header->Naxis[i],header->Naxis[i]);79 MOD_KEYWORD_REQUIRED (zaxis, naxis, "%lld", (long long *) &header->Naxis[i], (long long) header->Naxis[i]); 73 80 } 74 81 … … 118 125 int have_ztension; 119 126 120 have_zsimple = gfits_scan (header, "ZSIMPLE", "%t", 1, &zsimple);127 have_zsimple = gfits_scan_alt (header, "ZSIMPLE", "%t", 1, &zsimple); 121 128 have_ztension = gfits_scan (header, "ZTENSION", "%s", 1, exttype); 122 129 … … 130 137 gfits_extended_to_primary (header, header->simple, "Image data"); 131 138 132 MOD_KEYWORD ("ZEXTEND", "EXTEND", "%t", &header->extend, header->extend);133 MOD_KEYWORD ("ZBLOCKED", "BLOCKED", "%t", &header->extend, header->extend);139 MOD_KEYWORD_ALT ("ZEXTEND", "EXTEND", "%t", &header->extend, header->extend); 140 MOD_KEYWORD_ALT ("ZBLOCKED", "BLOCKED", "%t", &header->extend, header->extend); 134 141 } 135 142 … … 140 147 gfits_extended_to_primary (header, header->simple, "Image data"); 141 148 142 MOD_KEYWORD ("ZEXTEND", "EXTEND", "%t", &header->extend, header->extend);143 MOD_KEYWORD ("ZBLOCKED", "BLOCKED", "%t", &header->extend, header->extend);149 MOD_KEYWORD_ALT ("ZEXTEND", "EXTEND", "%t", &header->extend, header->extend); 150 MOD_KEYWORD_ALT ("ZBLOCKED", "BLOCKED", "%t", &header->extend, header->extend); 144 151 } 145 152 … … 175 182 176 183 zscale = 1; 177 gfits_scan (header, "ZSCALE", "% lf", 1, &zscale);184 gfits_scan (header, "ZSCALE", "%f", 1, &zscale); 178 185 179 186 zblank = 32767; … … 184 191 185 192 zzero = 0; 186 gfits_scan (header, "ZZERO", "% lf", 1, &zzero);193 gfits_scan (header, "ZZERO", "%f", 1, &zzero); 187 194 188 195 // find the COMPRESSED_DATA column (format should be 1PB, 1PI, 1PJ) … … 196 203 if (!gfits_varlength_column_define (ftable, &zdef, zcol)) ESCAPE; 197 204 gfits_delete (header, "TFIELDS", 1); 198 snprintf (key, 10, "TTYPE% d",zcol);205 snprintf (key, 10, "TTYPE%lld", (long long) zcol); 199 206 gfits_delete (header, key, 1); 200 snprintf (key, 10, "TFORM% d",zcol);207 snprintf (key, 10, "TFORM%lld", (long long) zcol); 201 208 gfits_delete (header, key, 1); 202 209 … … 236 243 ALLOCATE (out, char, odata_pixsize*max_tile_size); 237 244 245 off_t row; 246 238 247 // uncompress the data 239 248 Nzrows = ftable->header->Naxis[1]; 240 for ( i = 0; i < Nzrows; i++) {249 for (row = 0; row < Nzrows; row++) { 241 250 242 251 // expected output size for this tile 243 252 Nout = gfits_tile_size (matrix, otile, ztile); 244 253 245 zdata = gfits_varlength_column_pointer (ftable, &zdef, i, &Nzdata);254 zdata = gfits_varlength_column_pointer (ftable, &zdef, row, &Nzdata); 246 255 if (!zdata) return (FALSE); 247 256 … … 254 263 255 264 // gfits_uncompress_data uncompresses from zdata to the temporary output buffer which must be allocated 265 // XXX the tile must not be > 2GB 256 266 if (!gfits_uncompress_data ((char *)zdata, Nzdata, cmptype, optname, optvalue, Noptions, out, &Nout, odata_pixsize)) return (FALSE); 257 267 … … 284 294 285 295 // true sizes of this tile (in pixels) 286 int gfits_tile_size (Matrix *matrix, int *otile, int *ztile) {287 288 int i, Npixels, Ndimen;296 off_t gfits_tile_size (Matrix *matrix, int *otile, int *ztile) { 297 298 off_t i, Npixels, Ndimen; 289 299 290 300 Npixels = 1; … … 470 480 has_extension = gfits_scan (header, "XTENSION", "%s", 1, extension); 471 481 has_extname = gfits_scan (header, "EXTNAME", "%s", 1, extname); 472 has_zimage = gfits_scan (header, "ZIMAGE", "%t", 1, &zimage);482 has_zimage = gfits_scan_alt (header, "ZIMAGE", "%t", 1, &zimage); 473 483 474 484 if (has_extension && !strcmp (extension, "IMAGE")) return (FALSE); … … 486 496 int ztension, zimage; 487 497 488 has_zimage = gfits_scan (header, "ZIMAGE", "%t", 1, &zimage);489 has_ztension = gfits_scan (header, "ZTENSION", "%t", 1, &ztension);498 has_zimage = gfits_scan_alt (header, "ZIMAGE", "%t", 1, &zimage); 499 has_ztension = gfits_scan_alt (header, "ZTENSION", "%t", 1, &ztension); 490 500 491 501 if (has_zimage && zimage) return (TRUE); -
trunk/Ohana/src/libfits/matrix/F_convert_format.c
r20652 r27435 24 24 *out = *in*A + B; \ 25 25 } \ 26 REALLOCATE (matrix[0].buffer, char, matrix[0]. size);26 REALLOCATE (matrix[0].buffer, char, matrix[0].datasize); 27 27 28 28 # define CONVERTSAME(MY_NAN) \ … … 41 41 inMode *in; \ 42 42 outMode *out; \ 43 REALLOCATE (matrix[0].buffer, char, matrix[0]. size); \43 REALLOCATE (matrix[0].buffer, char, matrix[0].datasize); \ 44 44 out = (outMode *)matrix[0].buffer + Npixels - 1; \ 45 45 in = (inMode *)matrix[0].buffer + Npixels - 1; \ … … 62 62 *out = *in*A + B; \ 63 63 } \ 64 REALLOCATE (matrix[0].buffer, char, matrix[0]. size);64 REALLOCATE (matrix[0].buffer, char, matrix[0].datasize); 65 65 66 66 # define CONVERTSAME_FF(MY_NAN) \ … … 79 79 inMode *in; \ 80 80 outMode *out; \ 81 REALLOCATE (matrix[0].buffer, char, matrix[0]. size); \81 REALLOCATE (matrix[0].buffer, char, matrix[0].datasize); \ 82 82 out = (outMode *)matrix[0].buffer + Npixels - 1; \ 83 83 in = (inMode *)matrix[0].buffer + Npixels - 1; \ … … 106 106 return (TRUE); 107 107 108 matrix[0].bitpix = header[0].bitpix = outBitpix;109 matrix[0].bscale = header[0].bscale = outScale;110 matrix[0].bzero = header[0].bzero = outZero;111 matrix[0].unsign = header[0].unsign = outUnsign;112 matrix[0]. size= gfits_data_size (header);108 matrix[0].bitpix = header[0].bitpix = outBitpix; 109 matrix[0].bscale = header[0].bscale = outScale; 110 matrix[0].bzero = header[0].bzero = outZero; 111 matrix[0].unsign = header[0].unsign = outUnsign; 112 matrix[0].datasize = gfits_data_size (header); 113 113 gfits_modify (header, "BITPIX", "%d", 1, outBitpix); 114 114 gfits_modify (header, "BSCALE", "%lf", 1, outScale); 115 115 gfits_modify (header, "BZERO", "%lf", 1, outZero); 116 gfits_modify (header, "UNSIGN", "%t", 1, outUnsign);116 gfits_modify_alt (header, "UNSIGN", "%t", 1, outUnsign); 117 117 118 118 Npixels = header[0].Naxis[0]*header[0].Naxis[1]; … … 426 426 { 427 427 char *out; 428 int Nextra;428 off_t Nextra; 429 429 430 430 out = (char *)matrix[0].buffer; 431 Nextra = matrix[0]. size - nbytes;431 Nextra = matrix[0].datasize - nbytes; 432 432 bzero (&out[nbytes], Nextra); 433 433 } -
trunk/Ohana/src/libfits/matrix/F_copy_M.c
r17903 r27435 7 7 int i; 8 8 9 matrix2[0].unsign = matrix1[0].unsign;10 matrix2[0].bitpix = matrix1[0].bitpix;11 matrix2[0]. size = matrix1[0].size;12 matrix2[0].bzero = matrix1[0].bzero;13 matrix2[0].bscale = matrix1[0].bscale;14 matrix2[0].Naxes = matrix1[0].Naxes;9 matrix2[0].unsign = matrix1[0].unsign; 10 matrix2[0].bitpix = matrix1[0].bitpix; 11 matrix2[0].datasize = matrix1[0].datasize; 12 matrix2[0].bzero = matrix1[0].bzero; 13 matrix2[0].bscale = matrix1[0].bscale; 14 matrix2[0].Naxes = matrix1[0].Naxes; 15 15 for (i = 0; i < FT_MAX_NAXES; i++) 16 16 matrix2[0].Naxis[i] = matrix1[0].Naxis[i]; 17 17 18 18 if (matrix2[0].buffer != NULL) free (matrix2[0].buffer); 19 ALLOCATE (matrix2[0].buffer, char, matrix2[0]. size);19 ALLOCATE (matrix2[0].buffer, char, matrix2[0].datasize); 20 20 21 memcpy (matrix2[0].buffer, matrix1[0].buffer, matrix2[0]. size);21 memcpy (matrix2[0].buffer, matrix1[0].buffer, matrix2[0].datasize); 22 22 23 23 return (TRUE); -
trunk/Ohana/src/libfits/matrix/F_create_M.c
r17903 r27435 3 3 4 4 /*********************** fits create matrix *******************************/ 5 int gfits_create_matrix (header, matrix) 6 Header *header; 7 Matrix *matrix; 8 { 5 int gfits_create_matrix (Header *header, Matrix *matrix) { 9 6 10 int i, Nbytes; 7 int i; 8 off_t Nbytes; 11 9 12 10 matrix[0].bitpix = header[0].bitpix; … … 20 18 Nbytes = gfits_data_size (header); 21 19 ALLOCATE (matrix[0].buffer, char, MAX (Nbytes, 1)); 22 bzero (matrix[0].buffer, Nbytes);20 memset (matrix[0].buffer, 0, Nbytes); 23 21 24 matrix[0]. size = Nbytes;22 matrix[0].datasize = Nbytes; 25 23 return (TRUE); 26 24 -
trunk/Ohana/src/libfits/matrix/F_get_M_value.c
r15487 r27435 3 3 4 4 /***************** fits get matrix value ***********************************/ 5 double gfits_get_matrix_value (Matrix *matrix, int x, int y) {5 double gfits_get_matrix_value (Matrix *matrix, off_t x, off_t y) { 6 6 7 7 double value; … … 11 11 return (0.0); 12 12 pixel = matrix[0].Naxis[0]*y + x; 13 value = HUGE_VAL;13 value = NAN; 14 14 15 15 if (matrix[0].unsign) { -
trunk/Ohana/src/libfits/matrix/F_insert_M.c
r15487 r27435 3 3 4 4 /*********************** fits insert array ***********************************/ 5 void gfits_insert_matrix (Matrix *matrix, Matrix *array, int x, int y) {5 void gfits_insert_matrix (Matrix *matrix, Matrix *array, off_t x, off_t y) { 6 6 7 7 /* there is no check here to match BITPIX, BZERO, or BSCALE */ 8 8 9 int i, start_m, Nbytes_m, Nbytes; 9 int i; 10 off_t start_m, Nbytes_m, Nbytes; 10 11 11 12 if ((x + array[0].Naxis[0] > matrix[0].Naxis[0]) || 12 13 (y + array[0].Naxis[1] > matrix[0].Naxis[1])) { 13 fprintf (stderr, "can't insert array here: (%d,%d) - (%d,%d) vs (%d,%d)\n", 14 x, y, x + array[0].Naxis[0], y + array[0].Naxis[1], 15 matrix[0].Naxis[0], 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]); 16 21 return; 17 22 } -
trunk/Ohana/src/libfits/matrix/F_load_M.c
r16139 r27435 13 13 int gfits_load_matrix (FILE *f, Matrix *matrix, Header *header) { 14 14 15 int i, nbytes, Nbytes; 15 16 off_t i, nbytes, Nbytes; 16 17 17 18 matrix[0].bitpix = header[0].bitpix; … … 25 26 Nbytes = gfits_data_size (header); 26 27 ALLOCATE (matrix[0].buffer, char, Nbytes); 27 matrix[0]. size = Nbytes;28 matrix[0].datasize = Nbytes; 28 29 29 30 nbytes = fread (matrix[0].buffer, sizeof(char), Nbytes, f); … … 94 95 } 95 96 if (nbytes != Nbytes) { /* this is a FITS error, but often the image is OK */ 96 fprintf (stderr, "incomplete block in FITS file: (% d, %d)\n", nbytes,Nbytes);97 fprintf (stderr, "incomplete block in FITS file: (%lld, %lld)\n", (long long) nbytes, (long long) Nbytes); 97 98 return (TRUE); 98 99 } -
trunk/Ohana/src/libfits/matrix/F_matrix.c
r15751 r27435 2 2 # include <gfitsio.h> 3 3 4 int gfits_data_size (Header *header) {4 off_t gfits_data_size (Header *header) { 5 5 6 int i, Nrec, size; 6 int i; 7 off_t Nrec, size; 7 8 8 9 if (header[0].Naxes == 0) return (0); … … 25 26 } 26 27 27 int gfits_data_min_size (Header *header) {28 off_t gfits_data_min_size (Header *header) { 28 29 29 int i, size; 30 int i; 31 off_t size; 30 32 31 33 if (header[0].Naxes == 0) return (0); -
trunk/Ohana/src/libfits/matrix/F_read_M.c
r7054 r27435 18 18 if (f == NULL) return (FALSE); 19 19 20 fseek (f, header.size, 0);20 fseeko (f, header.datasize, 0); 21 21 22 22 status = gfits_load_matrix (f, matrix, &header); -
trunk/Ohana/src/libfits/matrix/F_read_portion.c
r16139 r27435 9 9 /*********************** fits read matrix ***********************************/ 10 10 /** the result of this function is a matrix with dimension Npix * 1 **/ 11 int gfits_read_portion (char *filename, Matrix *matrix, int Nskip, int Npix) {11 int gfits_read_portion (char *filename, Matrix *matrix, off_t Nskip, off_t Npix) { 12 12 13 13 FILE *f; 14 14 Header header; 15 int status, nbytes, Nbytes, Nrec; 15 int status; 16 off_t nbytes, Nbytes, Nrec; 16 17 17 18 status = gfits_read_header (filename, &header); … … 37 38 Nbytes = FT_RECORD_SIZE * Nrec; 38 39 } 39 matrix[0]. size = Nbytes;40 matrix[0].datasize = Nbytes; 40 41 ALLOCATE (matrix[0].buffer, char, Nbytes); 41 42 … … 43 44 f = fopen (filename, "r"); 44 45 if (f == NULL) return (FALSE); 45 fseek (f, header.size + Nskip, SEEK_SET);46 fseeko (f, header.datasize + Nskip, SEEK_SET); 46 47 nbytes = fread (matrix[0].buffer, sizeof(char), Nbytes, f); 47 48 if (nbytes != Nbytes) { … … 52 53 53 54 # ifdef BYTE_SWAP 54 { 55 int i, perpix; 56 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7, ctmp; 55 { 56 off_t i; 57 int perpix; 58 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7, ctmp; 57 59 58 perpix = abs(header.bitpix) / 8; 59 if (perpix > 1) { 60 byte0 = (unsigned char *) matrix[0].buffer; 61 byte1 = (unsigned char *) matrix[0].buffer + 1; 62 byte2 = (unsigned char *) matrix[0].buffer + 2; 63 byte3 = (unsigned char *) matrix[0].buffer + 3; 64 byte4 = (unsigned char *) matrix[0].buffer + 4; 65 byte5 = (unsigned char *) matrix[0].buffer + 5; 66 byte6 = (unsigned char *) matrix[0].buffer + 6; 67 byte7 = (unsigned char *) matrix[0].buffer + 7; 68 if (perpix == 2) { 69 for (i = 0; i < nbytes; i+=2, byte0 += 2, byte1 += 2) { 70 ctmp = *byte0; 71 *byte0 = *byte1; 72 *byte1 = ctmp; 60 perpix = abs(header.bitpix) / 8; 61 if (perpix > 1) { 62 byte0 = (unsigned char *) matrix[0].buffer; 63 byte1 = (unsigned char *) matrix[0].buffer + 1; 64 byte2 = (unsigned char *) matrix[0].buffer + 2; 65 byte3 = (unsigned char *) matrix[0].buffer + 3; 66 byte4 = (unsigned char *) matrix[0].buffer + 4; 67 byte5 = (unsigned char *) matrix[0].buffer + 5; 68 byte6 = (unsigned char *) matrix[0].buffer + 6; 69 byte7 = (unsigned char *) matrix[0].buffer + 7; 70 if (perpix == 2) { 71 for (i = 0; i < nbytes; i+=2, byte0 += 2, byte1 += 2) { 72 ctmp = *byte0; 73 *byte0 = *byte1; 74 *byte1 = ctmp; 75 } 73 76 } 74 }75 if (perpix == 4) {76 for (i = 0; i < nbytes; i+=4, byte0 += 4, byte1 += 4, byte2 += 4, byte3 += 4) { 77 ctmp = *byte0;78 *byte0 = *byte3;79 *byte3 = ctmp;80 ctmp = *byte1;81 *byte1 = *byte2;82 *byte2 = ctmp;77 if (perpix == 4) { 78 for (i = 0; i < nbytes; i+=4, byte0 += 4, byte1 += 4, byte2 += 4, byte3 += 4) { 79 ctmp = *byte0; 80 *byte0 = *byte3; 81 *byte3 = ctmp; 82 ctmp = *byte1; 83 *byte1 = *byte2; 84 *byte2 = ctmp; 85 } 83 86 } 84 }85 if (perpix == 8) {86 for (i = 0; i < nbytes; i+=8, byte0 += 8, byte1 += 8, byte2 += 8, byte3 += 8, byte4 += 8, byte5 += 8, byte6 += 8, byte7 += 8) { 87 ctmp = *byte0;88 *byte0 = *byte7;89 *byte7 = ctmp;90 ctmp = *byte1;91 *byte1 = *byte6;92 *byte6 = ctmp;93 ctmp = *byte1;94 *byte2 = *byte5;95 *byte5 = ctmp;96 ctmp = *byte1;97 *byte3 = *byte4;98 *byte4 = ctmp;87 if (perpix == 8) { 88 for (i = 0; i < nbytes; i+=8, byte0 += 8, byte1 += 8, byte2 += 8, byte3 += 8, byte4 += 8, byte5 += 8, byte6 += 8, byte7 += 8) { 89 ctmp = *byte0; 90 *byte0 = *byte7; 91 *byte7 = ctmp; 92 ctmp = *byte1; 93 *byte1 = *byte6; 94 *byte6 = ctmp; 95 ctmp = *byte1; 96 *byte2 = *byte5; 97 *byte5 = ctmp; 98 ctmp = *byte1; 99 *byte3 = *byte4; 100 *byte4 = ctmp; 101 } 99 102 } 100 103 } 101 104 } 102 }103 105 # endif 104 106 … … 106 108 107 109 if (nbytes < Nbytes - 2880) { /* this is a bad FITS error: image is not OK */ 108 fprintf (stderr, "error reading in matrix data from FITS file %s (% d < %d - 2880)\n", filename, nbytes,Nbytes);110 fprintf (stderr, "error reading in matrix data from FITS file %s (%lld < %lld - 2880)\n", filename, (long long) nbytes, (long long) Nbytes); 109 111 return (FALSE); 110 112 } 111 113 if (nbytes != Nbytes) { /* this is a FITS error, but often the image is OK */ 112 fprintf (stderr, "incomplete block in %s: (% d, %d)\n", filename, nbytes,Nbytes);114 fprintf (stderr, "incomplete block in %s: (%lld, %lld)\n", filename, (long long) nbytes, (long long) Nbytes); 113 115 return (TRUE); 114 116 } -
trunk/Ohana/src/libfits/matrix/F_read_segment.c
r16139 r27435 36 36 int gfits_fread_matrix_segment (FILE *f, Matrix *matrix, Header *header, char *region) { 37 37 38 int status, i, nbytes, Nbytes, Nskip, NbytesData; 38 int status; 39 off_t i, nbytes, Nbytes, Nskip, NbytesData; 39 40 int wantaxis[FT_MAX_NAXES][2]; 40 41 double tmp; … … 65 66 matrix[0].Naxis[i] = wantaxis[i][1] - wantaxis[i][0]; 66 67 67 matrix[0]. size = abs (matrix[0].bitpix) / 8;68 matrix[0].datasize = abs (matrix[0].bitpix) / 8; 68 69 for (i = 0; i < matrix[0].Naxes; i++) 69 matrix[0]. size *= matrix[0].Naxis[i];70 matrix[0].datasize *= matrix[0].Naxis[i]; 70 71 71 72 Nskip = wantaxis[2][0]*matrix[0].Naxis[0]*matrix[0].Naxis[1]*abs(matrix[0].bitpix)/8; 72 NbytesData = Nskip + matrix[0]. size;73 NbytesData = Nskip + matrix[0].datasize; 73 74 74 75 if (NbytesData % FT_RECORD_SIZE) 75 Nbytes = FT_RECORD_SIZE * (( int) (NbytesData / FT_RECORD_SIZE) + 1) - Nskip;76 Nbytes = FT_RECORD_SIZE * ((off_t) (NbytesData / FT_RECORD_SIZE) + 1) - Nskip; 76 77 else 77 Nbytes = FT_RECORD_SIZE * (( int) (NbytesData / FT_RECORD_SIZE)) - Nskip;78 Nbytes = FT_RECORD_SIZE * ((off_t) (NbytesData / FT_RECORD_SIZE)) - Nskip; 78 79 79 80 ALLOCATE (matrix[0].buffer, char, MAX (Nbytes, 1)); … … 86 87 87 88 /* currently only good for reading in full planes in 3-D */ 88 fseek (f, Nskip, SEEK_CUR);89 fseeko (f, Nskip, SEEK_CUR); 89 90 nbytes = fread (matrix[0].buffer, sizeof(char), Nbytes, f); 90 91 if (nbytes != Nbytes) { … … 92 93 } 93 94 94 matrix[0]. size = Nbytes;95 matrix[0].datasize = Nbytes; 95 96 96 97 # ifdef BYTE_SWAP … … 147 148 148 149 if (nbytes < Nbytes - 2880) { /* this is a bad FITS error: image is not OK */ 149 fprintf (stderr, "error reading in matrix data from FITS file (% d < %d - 2880)\n", nbytes,Nbytes);150 fprintf (stderr, "error reading in matrix data from FITS file (%lld < %lld - 2880)\n", (long long) nbytes, (long long) Nbytes); 150 151 return (FALSE); 151 152 } 152 153 if (nbytes != Nbytes) { /* this is a FITS error, but often the image is OK */ 153 fprintf (stderr, "incomplete block in FITS file: (% d, %d)\n", nbytes,Nbytes);154 fprintf (stderr, "incomplete block in FITS file: (%lld, %lld)\n", (long long) nbytes, (long long) Nbytes); 154 155 return (TRUE); 155 156 } -
trunk/Ohana/src/libfits/matrix/F_set_M_value.c
r15487 r27435 3 3 4 4 /****************** fits set matrix value ***********************************/ 5 void gfits_set_matrix_value (Matrix *matrix, int x, int y, double Value) {5 void gfits_set_matrix_value (Matrix *matrix, off_t x, off_t y, double Value) { 6 6 7 int pixel;7 off_t pixel; 8 8 double value; 9 9 -
trunk/Ohana/src/libfits/matrix/F_write_M.c
r16139 r27435 11 11 if (f == NULL) return (FALSE); 12 12 13 fseek (f, 0, SEEK_END); /* write matrix to end of file! */13 fseeko (f, 0LL, SEEK_END); /* write matrix to end of file! */ 14 14 15 15 status = gfits_fwrite_matrix (f, matrix); … … 21 21 int gfits_fwrite_matrix (FILE *f, Matrix *matrix) { 22 22 23 int status, nbytes, Nbytes; 23 int status; 24 off_t nbytes, Nbytes; 24 25 25 26 status = TRUE; … … 27 28 /* this is a bit dangerous: we are not realloc'ing the matrix. 28 29 if the size is wrong, it probably should simply pad the fwrite statement. 29 better policy should be defined (ie, matrix. size always correct blocking?)30 better policy should be defined (ie, matrix.datasize always correct blocking?) 30 31 */ 31 32 32 if (matrix[0]. size % FT_RECORD_SIZE)33 nbytes = FT_RECORD_SIZE * (( int) (matrix[0].size / FT_RECORD_SIZE) + 1);33 if (matrix[0].datasize % FT_RECORD_SIZE) 34 nbytes = FT_RECORD_SIZE * ((off_t) (matrix[0].datasize / FT_RECORD_SIZE) + 1); 34 35 else 35 nbytes = FT_RECORD_SIZE * (( int) (matrix[0].size / FT_RECORD_SIZE));36 nbytes = FT_RECORD_SIZE * ((off_t) (matrix[0].datasize / FT_RECORD_SIZE)); 36 37 37 38 /* this is a bit cumbersome: swap all words, write out file, then swap back... */ 38 39 # ifdef BYTE_SWAP 39 40 { 40 int i;41 off_t i; 41 42 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7, tmp; 42 43 int perpix; … … 96 97 # ifdef BYTE_SWAP 97 98 { 98 int i;99 off_t i; 99 100 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7, tmp; 100 101 int perpix; -
trunk/Ohana/src/libfits/table/F_create_T.c
r15487 r27435 5 5 int gfits_create_table (Header *header, FTable *table) { 6 6 7 int Nbytes;7 off_t Nbytes; 8 8 char type[80]; 9 9 … … 19 19 memset (table[0].buffer, 0, Nbytes); 20 20 } 21 table[0]. size = Nbytes;21 table[0].datasize = Nbytes; 22 22 return (TRUE); 23 23 … … 29 29 int gfits_create_vtable (Header *header, VTable *table, int Nrow) { 30 30 31 int i, Nx, Ny;31 off_t i, Nx, Ny; 32 32 char type[80]; 33 33 … … 37 37 Nx = table[0].header[0].Naxis[0]; 38 38 Ny = table[0].header[0].Naxis[0]; 39 table[0]. size = gfits_data_size (header);40 table[0].pad = table[0]. size - Nx*Ny;39 table[0].datasize = gfits_data_size (header); 40 table[0].pad = table[0].datasize - Nx*Ny; 41 41 42 42 table[0].Nrow = Nrow; 43 43 ALLOCATE (table[0].buffer, char *, MAX (Nrow, 1)); 44 ALLOCATE (table[0].row, int, MAX (Nrow, 1));44 ALLOCATE (table[0].row, off_t, MAX (Nrow, 1)); 45 45 for (i = 0; i < Nrow; i++) { 46 46 ALLOCATE (table[0].buffer[i], char, Nx); -
trunk/Ohana/src/libfits/table/F_create_TH.c
r15487 r27435 13 13 char axis[10]; 14 14 15 header[0]. size = NBYTES;15 header[0].datasize = NBYTES; 16 16 17 17 ALLOCATE (header[0].buffer, char, NBYTES); … … 27 27 for (i = 0; i < header[0].Naxes; i++) { 28 28 sprintf (axis, "NAXIS%d", i + 1); 29 gfits_modify (header, axis, "% d", 1, header[0].Naxis[i], 1);29 gfits_modify (header, axis, "%lld", 1, (long long) header[0].Naxis[i]); 30 30 } 31 31 -
trunk/Ohana/src/libfits/table/F_define_column.c
r26384 r27435 5 5 int gfits_define_bintable_column (Header *header, char *format, char *label, char *comment, char *unit, double bscale, double bzero) { 6 6 7 int Nfields, Nbytes, Nval, Naxis1; 7 off_t Naxis1; 8 int Nfields, Nbytes, Nval; 8 9 char type[16], field[16]; 9 10 … … 12 13 Nfields = 0; 13 14 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 14 gfits_scan (header, "NAXIS1", "% d", 1,&Naxis1);15 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Naxis1); 15 16 Nfields ++; 16 17 Naxis1 += Nbytes*Nval; … … 18 19 sprintf (field, "TTYPE%d", Nfields); 19 20 gfits_modify (header, field, "%s", 1, label); 20 gfits_modify (header, field, "%C", 1, comment);21 gfits_modify_alt (header, field, "%C", 1, comment); 21 22 sprintf (field, "TUNIT%d", Nfields); 22 23 gfits_modify (header, field, "%s", 1, unit); … … 34 35 /* update TFIELDS & NAXIS1 */ 35 36 gfits_modify (header, "TFIELDS", "%d", 1, Nfields); 36 gfits_modify (header, "NAXIS1", "% d", 1,Naxis1);37 gfits_modify (header, "NAXIS1", "%lld", 1, (long long) Naxis1); 37 38 header[0].Naxis[0] = Naxis1; 38 39 … … 43 44 int gfits_define_table_column (Header *header, char *format, char *label, char *comment, char *unit) { 44 45 45 int Nstart, Nfields, Nbytes, Nval, Naxis1; 46 off_t Naxis1; 47 int Nstart, Nfields, Nbytes, Nval; 46 48 char type[16], field[16], cformat[16]; 47 49 … … 51 53 Nfields = 0; 52 54 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 53 gfits_scan (header, "NAXIS1", "% d", 1,&Naxis1);55 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Naxis1); 54 56 Nstart = Naxis1 + 1; 55 57 Nfields ++; … … 58 60 sprintf (field, "TTYPE%d", Nfields); 59 61 gfits_modify (header, field, "%s", 1, label); 60 gfits_modify (header, field, "%C", 1, comment);62 gfits_modify_alt (header, field, "%C", 1, comment); 61 63 sprintf (field, "TUNIT%d", Nfields); 62 64 gfits_modify (header, field, "%s", 1, unit); … … 68 70 69 71 gfits_modify (header, "TFIELDS", "%d", 1, Nfields); 70 gfits_modify (header, "NAXIS1", "% d", 1,Naxis1);72 gfits_modify (header, "NAXIS1", "%lld", 1, (long long) Naxis1); 71 73 header[0].Naxis[0] = Naxis1; 72 74 -
trunk/Ohana/src/libfits/table/F_get_column.c
r26384 r27435 16 16 tmp = Pin[3]; Pin[3] = Pin[4]; Pin[4] = tmp; } 17 17 18 void *gfits_get_bintable_column_data (Header *header, FTable *table, char *label, char *type, int *Nrow, int *Ncol) { 19 20 int i, N, Nfields, Nval, Nbytes, Nx, Ny, Nstart, Nv, Nb; 18 void *gfits_get_bintable_column_data (Header *header, FTable *table, char *label, char *type, off_t *Nrow, int *Ncol) { 19 20 off_t Nx, Ny; 21 int i, N, Nfields, Nval, Nbytes, Nstart, Nv, Nb; 21 22 char tlabel[80], field[80], format[80], tmpline[16]; 22 23 char *Pin, *Pout, *array; … … 50 51 51 52 /* check existing table dimensions */ 52 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);53 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);53 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 54 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 54 55 55 56 /* scan columns to find insert point */ … … 153 154 int gfits_get_bintable_column (Header *header, FTable *table, char *label, void **data) { 154 155 155 int i, N, Nfields, Nval, Nbytes, Nx, Ny, Nstart, Nv, Nb; 156 off_t Nx, Ny; 157 int i, N, Nfields, Nval, Nbytes, Nstart, Nv, Nb; 156 158 char tlabel[80], field[80], format[80], type[16], tmpline[16]; 157 159 char *Pin, *Pout, *array; … … 185 187 186 188 /* check existing table dimensions */ 187 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);188 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);189 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 190 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 189 191 190 192 /* scan columns to find insert point */ … … 307 309 int gfits_get_table_column (Header *header, FTable *table, char *label, void **data) { 308 310 309 int i, N, Nfields, Nval, Nbytes, Nx, Ny, Nstart, Nv, Nb; 311 off_t Nx, Ny; 312 int i, N, Nfields, Nval, Nbytes, Nstart, Nv, Nb; 310 313 char tlabel[80], field[80], format[80], cformat[80], type[16], tmp[16]; 311 314 char *array, *Pin, *Pout, *line; … … 333 336 334 337 /* check existing table dimensions */ 335 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);336 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);338 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 339 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 337 340 338 341 /* scan columns to find insert point */ -
trunk/Ohana/src/libfits/table/F_read_T.c
r15751 r27435 19 19 int gfits_fread_ftable (FILE *f, FTable *table, char *extname) { 20 20 21 int j, found, Nbytes; 21 int j, found; 22 off_t Nbytes; 22 23 Header *header; 23 24 char tname[80]; 24 25 25 26 header = table[0].header; 26 fseek (f, 0, SEEK_SET);27 fseeko (f, 0, SEEK_SET); 27 28 28 29 found = FALSE; … … 42 43 /* skip to next header */ 43 44 Nbytes = gfits_data_size (header); 44 fseek (f, Nbytes, SEEK_CUR);45 fseeko (f, Nbytes, SEEK_CUR); 45 46 gfits_free_header (header); 46 47 } … … 51 52 int gfits_fread_ftable_data (FILE *f, FTable *table) { 52 53 53 int Nbytes, Nread;54 off_t Nbytes, Nread; 54 55 char string[128]; 55 56 … … 63 64 perror (string); 64 65 if (Nread < gfits_data_min_size (table[0].header)) { 65 fprintf (stderr, "error: fits read error in %s, read % d, need %d\n", __func__, 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 67 gfits_free_table (table); 67 68 return (FALSE); … … 69 70 fprintf (stderr, "warning: file missing pad\n"); 70 71 } 71 table[0]. size = Nbytes;72 table[0].datasize = Nbytes; 72 73 return (TRUE); 73 74 } 74 75 75 76 /*********************** fits read ftable data ***********************************/ 76 int gfits_fread_ftable_range (FILE *f, FTable *table, int start, int Nrows) {77 78 int Nbytes, Nread, Nskip, Nx, Ny;77 int gfits_fread_ftable_range (FILE *f, FTable *table, off_t start, off_t Nrows) { 78 79 off_t Nbytes, Nread, Nskip, Nx, Ny; 79 80 80 81 /* find disk table size */ … … 93 94 ALLOCATE (table[0].buffer, char, MAX (Nbytes, 1)); 94 95 95 fseek (f, Nskip, SEEK_CUR);96 fseeko (f, Nskip, SEEK_CUR); 96 97 97 98 Nread = fread (table[0].buffer, sizeof (char), Nbytes, f); … … 108 109 /* modify structure and header to match actual read rows Ny */ 109 110 table[0].header[0].Naxis[1] = Nrows; 110 gfits_modify (table[0].header, "NAXIS2", "% d", 1,Nrows);111 table[0]. size = gfits_data_size (table[0].header);111 gfits_modify (table[0].header, "NAXIS2", "%lld", 1, (long long) Nrows); 112 table[0].datasize = gfits_data_size (table[0].header); 112 113 113 114 return (TRUE); … … 115 116 116 117 /*********************** fits read ftable data ***********************************/ 117 int gfits_fread_vtable_range (FILE *f, VTable *table, int start, int Nrows) {118 119 int i, Nbytes, Nread, Nskip, Nx, Ny;118 int gfits_fread_vtable_range (FILE *f, VTable *table, off_t start, off_t Nrows) { 119 120 off_t i, Nbytes, Nread, Nskip, Nx, Ny; 120 121 char *buffer; 121 122 … … 123 124 Nx = table[0].header[0].Naxis[0]; 124 125 Ny = table[0].header[0].Naxis[1]; 125 table[0]. size = gfits_data_size (table[0].header);126 table[0].pad = table[0]. size - Nx*Ny;126 table[0].datasize = gfits_data_size (table[0].header); 127 table[0].pad = table[0].datasize - Nx*Ny; 127 128 128 129 if (start < 0) return (FALSE); … … 133 134 ALLOCATE (buffer, char, MAX (Nbytes, 1)); 134 135 135 fseek (f, Nskip, SEEK_CUR);136 fseeko (f, Nskip, SEEK_CUR); 136 137 Nread = fread (buffer, sizeof (char), Nbytes, f); 137 138 if (Nread != Nbytes) { … … 141 142 } 142 143 143 ALLOCATE (table[0].row, int, MAX (Nrows, 1));144 ALLOCATE (table[0].row, off_t, MAX (Nrows, 1)); 144 145 ALLOCATE (table[0].buffer, char *, MAX (Nrows, 1)); 145 146 for (i = 0; i < Nrows; i++) { … … 154 155 155 156 /*********************** fits read virtual table ***********************************/ 156 int gfits_fread_vtable (FILE *f, VTable *table, char *extname, int Nrow, int *row) { 157 158 int i, j, Nbytes, Nread; 159 int start, Nx, Ny, offset; 157 int gfits_fread_vtable (FILE *f, VTable *table, char *extname, off_t Nrow, off_t *row) { 158 159 off_t i, j; 160 off_t Nbytes, Nread; 161 off_t start, Nx, Ny, offset; 160 162 Header *header; 161 163 char tname[80]; 162 164 163 165 header = table[0].header; 164 fseek (f, 0, SEEK_SET);166 fseeko (f, 0, SEEK_SET); 165 167 166 168 for (j = -1; TRUE; j++) { … … 176 178 if (strcmp (tname, extname)) { 177 179 /* skip to next header */ 178 fseek (f, Nbytes, SEEK_CUR);180 fseeko (f, Nbytes, SEEK_CUR); 179 181 gfits_free_header (header); 180 182 continue; … … 182 184 183 185 /* file pointer is at beginning of desired table data */ 184 start = ftell (f);185 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);186 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);186 start = ftello (f); 187 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 188 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 187 189 for (i = 0; i < Nrow; i++) { 188 190 if (row[i] > Ny) { return (FALSE); } … … 193 195 ALLOCATE (table[0].buffer[i], char, MAX (1, Nx)); 194 196 offset = start + Nx*row[i]; 195 fseek (f, offset, SEEK_SET);197 fseeko (f, offset, SEEK_SET); 196 198 Nread = fread (table[0].buffer[i], sizeof (char), Nx, f); 197 199 if (Nread != Nx) { … … 202 204 203 205 table[0].Nrow = Nrow; 204 ALLOCATE (table[0].row, int, MAX (1, Nrow));206 ALLOCATE (table[0].row, off_t, MAX (1, Nrow)); 205 207 for (i = 0; i < Nrow; i++) table[0].row[i] = row[i]; 206 table[0]. size= gfits_data_size (table[0].header);207 table[0].pad = table[0].size - Nx*Ny;208 table[0].datasize = gfits_data_size (table[0].header); 209 table[0].pad = table[0].datasize - Nx*Ny; 208 210 return (TRUE); 209 211 } … … 212 214 int gfits_fread_header_extname (FILE *f, Header *header, char *extname) { 213 215 214 int Nbytes;216 off_t Nbytes; 215 217 char current[80]; 216 218 217 fseek (f, 0, SEEK_SET);219 fseeko (f, 0, SEEK_SET); 218 220 gfits_fread_header (f, header); 219 221 … … 221 223 222 224 Nbytes = gfits_data_size (header); 223 fseek (f, Nbytes, SEEK_CUR);225 fseeko (f, Nbytes, SEEK_CUR); 224 226 225 227 while (gfits_fread_header (f, header)) { … … 227 229 if (!strcmp (current, extname)) return (TRUE); 228 230 Nbytes = gfits_data_size (header); 229 fseek (f, Nbytes, SEEK_CUR);231 fseeko (f, Nbytes, SEEK_CUR); 230 232 } 231 233 return (FALSE); -
trunk/Ohana/src/libfits/table/F_read_TH.c
r15743 r27435 7 7 FILE *f; 8 8 Header header; 9 int status, Nbytes; 9 int status; 10 off_t Nbytes; 10 11 11 12 status = gfits_read_header (filename, &header); … … 23 24 24 25 Nbytes = gfits_data_size (&header); 25 fseek (f, Nbytes, SEEK_SET);26 fseeko (f, Nbytes, SEEK_SET); 26 27 gfits_free_header (&header); 27 28 … … 36 37 37 38 char *p; 38 int i, done, status, Nbytes; 39 int i, done, status; 40 off_t Nbytes; 39 41 40 Theader[0]. size = 0;42 Theader[0].datasize = 0; 41 43 done = FALSE; 42 44 ALLOCATE (Theader[0].buffer, char, 1); … … 44 46 for (i = 0; !done; i++) { 45 47 REALLOCATE (Theader[0].buffer, char, (i + 1)*FT_RECORD_SIZE); 46 Nbytes = fread (&Theader[0].buffer[i*FT_RECORD_SIZE], 47 sizeof(char), FT_RECORD_SIZE, f); 48 Nbytes = fread (&Theader[0].buffer[i*FT_RECORD_SIZE], sizeof(char), FT_RECORD_SIZE, f); 48 49 if (Nbytes != FT_RECORD_SIZE) { 49 50 perror ("fits matrix read error"); 50 51 } 51 52 52 Theader[0]. size += Nbytes;53 if (Nbytes != FT_RECORD_SIZE) 53 Theader[0].datasize += Nbytes; 54 if (Nbytes != FT_RECORD_SIZE) { 54 55 done = TRUE; 56 } 55 57 p = gfits_header_field (Theader, "END", 1); 56 58 if (p != NULL) … … 68 70 if (!status) return (FALSE); 69 71 70 gfits_scan (Theader, "NAXIS1", "% d", 1,&Theader[0].Naxis[0]);71 gfits_scan (Theader, "NAXIS2", "% d", 1,&Theader[0].Naxis[1]);72 gfits_scan (Theader, "NAXIS3", "% d", 1,&Theader[0].Naxis[2]);73 gfits_scan (Theader, "NAXIS4", "% d", 1,&Theader[0].Naxis[3]);74 gfits_scan (Theader, "NAXIS5", "% d", 1,&Theader[0].Naxis[4]);75 gfits_scan (Theader, "NAXIS6", "% d", 1,&Theader[0].Naxis[5]);76 gfits_scan (Theader, "NAXIS7", "% d", 1,&Theader[0].Naxis[6]);77 gfits_scan (Theader, "NAXIS8", "% d", 1,&Theader[0].Naxis[7]);78 gfits_scan (Theader, "NAXIS9", "% d", 1,&Theader[0].Naxis[8]);79 gfits_scan (Theader, "NAXIS10", "% d", 1,&Theader[0].Naxis[9]);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]); 80 82 81 83 return (TRUE); -
trunk/Ohana/src/libfits/table/F_set_column.c
r16139 r27435 16 16 17 17 /***********************/ 18 int gfits_set_bintable_column (Header *header, FTable *table, char *label, void *data, int Nrow) { 19 20 int i, N, Nfields, Nval, Nbytes, Nx, Ny, nbytes, Nstart, Nv, Nb; 18 int gfits_set_bintable_column (Header *header, FTable *table, char *label, void *data, off_t Nrow) { 19 20 off_t Nx, Ny, nbytes; 21 int i, N, Nfields; 22 int Nval, Nbytes, Nstart, Nv, Nb; 21 23 char tlabel[80], field[80], format[80], type[16], tmpline[16]; 22 24 char *Pin, *Pout, *array; … … 47 49 48 50 /* check existing table dimensions */ 49 gfits_scan (header, "NAXIS1", "%d", 1,&Nx);50 gfits_scan (header, "NAXIS2", "%d", 1,&Ny);51 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 52 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 51 53 if (Ny == 0) { 52 54 Ny = Nrow; 53 55 header[0].Naxis[1] = Ny; 54 gfits_modify (header, "NAXIS2", "%d", 1,Ny);56 gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny); 55 57 56 58 nbytes = gfits_data_size (header); 57 59 REALLOCATE (table[0].buffer, char, MAX (nbytes, 1)); 58 60 bzero (table[0].buffer, nbytes); 59 table[0]. size = nbytes;61 table[0].datasize = nbytes; 60 62 } 61 63 if (Ny != Nrow) return (FALSE); … … 151 153 152 154 /***********************/ 153 int gfits_set_table_column (Header *header, FTable *table, char *label, void *data, int Nrow) { 154 155 int i, N, Nfields, Nval, Nbytes, Nx, Ny, nbytes, Nstart, Nv, Nb; 155 int gfits_set_table_column (Header *header, FTable *table, char *label, void *data, off_t Nrow) { 156 157 off_t Nx, Ny, nbytes; 158 int i, N, Nfields, Nval, Nbytes, Nstart, Nv, Nb; 156 159 char tlabel[80], field[80], format[80], cformat[80], type[16], tmp[16]; 157 160 char *array, *Pin, *Pout, *line; … … 178 181 179 182 /* check existing table dimensions */ 180 gfits_scan (header, "NAXIS1", "%d", 1,&Nx);181 gfits_scan (header, "NAXIS2", "%d", 1,&Ny);183 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 184 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 182 185 if (Ny == 0) { 183 186 Ny = Nrow; 184 187 header[0].Naxis[1] = Ny; 185 gfits_modify (header, "NAXIS2", "%d", 1,Ny);188 gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny); 186 189 187 190 nbytes = gfits_data_size (header); 188 191 REALLOCATE (table[0].buffer, char, MAX (nbytes, 1)); 189 192 bzero (table[0].buffer, nbytes); 190 table[0]. size = nbytes;193 table[0].datasize = nbytes; 191 194 } 192 195 if (Ny != Nrow) return (FALSE); -
trunk/Ohana/src/libfits/table/F_table_format.c
r26384 r27435 3 3 4 4 /***********************/ 5 // get the format of a table column 6 // Nval : number of joined columns 7 // Nbytes : width of column 5 8 int gfits_bintable_format (char *format, char *type, int *Nval, int *Nbytes) { 6 9 … … 119 122 120 123 /** extract a table subset to a vtable ***/ 121 int gfits_table_to_vtable (FTable *ftable, VTable *vtable, int start, int Nkeep) {124 int gfits_table_to_vtable (FTable *ftable, VTable *vtable, off_t start, off_t Nkeep) { 122 125 123 126 /* gfits_table_to_vtable (f, v, 0, Ny - 1) - keep all of table … … 125 128 */ 126 129 127 int i, Nx, Ny;128 129 gfits_scan (ftable[0].header, "NAXIS1", "% d", 1,&Nx);130 gfits_scan (ftable[0].header, "NAXIS2", "% d", 1,&Ny);130 off_t i, Nx, Ny; 131 132 gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 133 gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny); 131 134 132 135 if (start + Nkeep > Ny) return (FALSE); … … 134 137 if (Nkeep < 0) return (FALSE); 135 138 136 ALLOCATE (vtable[0].row, int, MAX (1, Nkeep));139 ALLOCATE (vtable[0].row, off_t, MAX (1, Nkeep)); 137 140 ALLOCATE (vtable[0].buffer, char *, MAX (1, Nkeep)); 138 141 for (i = 0; i < Nkeep; i++) { … … 143 146 144 147 vtable[0].header = ftable[0].header; 145 vtable[0]. size = ftable[0].size;148 vtable[0].datasize = ftable[0].datasize; 146 149 vtable[0].Nrow = Nkeep; 147 vtable[0].pad = vtable[0]. size - Nx*Ny;150 vtable[0].pad = vtable[0].datasize - Nx*Ny; 148 151 149 152 return (TRUE); … … 151 154 152 155 /** convert specified rows to vtable */ 153 int gfits_vtable_from_ftable (FTable *ftable, VTable *vtable, int *row, int Nrow) {154 155 int i, N, Nx, Ny;156 157 gfits_scan (ftable[0].header, "NAXIS1", "% d", 1,&Nx);158 gfits_scan (ftable[0].header, "NAXIS2", "% d", 1,&Ny);156 int gfits_vtable_from_ftable (FTable *ftable, VTable *vtable, off_t *row, off_t Nrow) { 157 158 off_t i, N, Nx, Ny; 159 160 gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 161 gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny); 159 162 160 163 /* make empty vtable from table */ 161 vtable[0].header = ftable[0].header; /* make this a copy? */162 vtable[0]. size = ftable[0].size;163 vtable[0].pad = vtable[0].size - Nx*Ny;164 vtable[0].Nrow = Ny;164 vtable[0].header = ftable[0].header; /* make this a copy? */ 165 vtable[0].datasize = ftable[0].datasize; 166 vtable[0].pad = vtable[0].datasize - Nx*Ny; 167 vtable[0].Nrow = Ny; 165 168 166 169 /* insert selected rows in vtable (mask rows marked with -1) */ 167 ALLOCATE (vtable[0].row, int, Nrow);170 ALLOCATE (vtable[0].row, off_t, Nrow); 168 171 ALLOCATE (vtable[0].buffer, char *, Nrow); 169 172 for (N = i = 0; i < Nrow; i++) { … … 181 184 char *gfits_table_print (FTable *table,...) { 182 185 183 int i, Nx, Nfields;184 int off, Nchar, Nval, Nbytes;186 off_t Nx, off; 187 int i, Nchar, Nval, Nbytes, Nfields; 185 188 char *line, format[64], field[16], type[16]; 186 189 va_list argp; … … 188 191 va_start (argp, table); 189 192 190 gfits_scan (table[0].header, "NAXIS1", "% d", 1,&Nx);193 gfits_scan (table[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 191 194 gfits_scan (table[0].header, "TFIELDS", "%d", 1, &Nfields); 192 195 … … 220 223 // apply table tzero, tscal in situ (from storage to data) 221 224 int gfits_table_scale_data (FTable *ftable) { 222 223 int i, j, n, Nx, Ny, Nfields; 224 int off, Nchar, Nval, Nbytes, status; 225 226 off_t Nx, Ny, off; 227 int i, j, n, Nfields; 228 int Nchar, Nval, Nbytes, status; 225 229 char format[64], field[16], type[16]; 226 230 double tzero, tscale; … … 232 236 off = 0; 233 237 234 gfits_scan (ftable[0].header, "NAXIS1", "% d", 1,&Nx);235 gfits_scan (ftable[0].header, "NAXIS2", "% d", 1,&Ny);238 gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 239 gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny); 236 240 gfits_scan (ftable[0].header, "TFIELDS", "%d", 1, &Nfields); 237 241 … … 304 308 int gfits_table_scale_storage (FTable *ftable) { 305 309 306 int i, j, n, Nx, Ny, Nfields; 307 int off, Nchar, Nval, Nbytes, status; 310 off_t Nx, Ny, off; 311 int i, j, n, Nfields; 312 int Nchar, Nval, Nbytes, status; 308 313 char format[64], field[16], type[16]; 309 314 double tzero, tscale; … … 315 320 off = 0; 316 321 317 gfits_scan (ftable[0].header, "NAXIS1", "% d", 1,&Nx);318 gfits_scan (ftable[0].header, "NAXIS2", "% d", 1,&Ny);322 gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 323 gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny); 319 324 gfits_scan (ftable[0].header, "TFIELDS", "%d", 1, &Nfields); 320 325 -
trunk/Ohana/src/libfits/table/F_table_row.c
r15487 r27435 3 3 4 4 /*********************** fits table column ****************************/ 5 int gfits_add_rows (FTable *table, char *data, int Nrow, int Nbytes) {5 int gfits_add_rows (FTable *table, char *data, off_t Nrow, off_t Nbytes) { 6 6 7 int Nx, Ny;8 int nbytes, Nstart;7 off_t Nx, Ny; 8 off_t nbytes, Nstart; 9 9 Header *header; 10 10 11 11 header = table[0].header; 12 12 13 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);14 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);13 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 14 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 15 15 16 16 if (header[0].Naxis[1] != Ny) return (FALSE); … … 23 23 Ny += Nrow; 24 24 header[0].Naxis[1] = Ny; 25 gfits_modify (header, "NAXIS2", "% d", 1,Ny);25 gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny); 26 26 27 27 nbytes = gfits_data_size (header); 28 28 REALLOCATE (table[0].buffer, char, MAX (nbytes, 1)); 29 table[0]. size = nbytes;29 table[0].datasize = nbytes; 30 30 31 31 memcpy (&table[0].buffer[Nstart], data, Nbytes*Nrow); … … 35 35 36 36 /*********************** fits add (real) rows to virtual table ****************************/ 37 int gfits_vadd_rows (VTable *table, char *data, int Nrow, int Nbytes) {37 int gfits_vadd_rows (VTable *table, char *data, off_t Nrow, off_t Nbytes) { 38 38 39 int i, Nx, Ny;40 int Nstart;39 off_t i, Nx, Ny; 40 off_t Nstart; 41 41 Header *header; 42 42 43 43 header = table[0].header; 44 44 45 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);46 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);45 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 46 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 47 47 48 48 if (header[0].Naxis[1] != Ny) return (FALSE); … … 54 54 table[0].Nrow += Nrow; 55 55 REALLOCATE (table[0].buffer, char *, table[0].Nrow); 56 REALLOCATE (table[0].row, int, table[0].Nrow);56 REALLOCATE (table[0].row, off_t, table[0].Nrow); 57 57 for (i = 0; i < Nrow; i++) { 58 58 ALLOCATE (table[0].buffer[Nstart+i], char, MAX (1, Nx)); … … 64 64 Ny += Nrow; 65 65 header[0].Naxis[1] = Ny; 66 gfits_modify (header, "NAXIS2", "%d", 1,Ny);66 gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny); 67 67 68 table[0]. size= gfits_data_size (table[0].header);69 table[0].pad = table[0].size - Nx*Ny;68 table[0].datasize = gfits_data_size (table[0].header); 69 table[0].pad = table[0].datasize - Nx*Ny; 70 70 71 71 return (TRUE); … … 73 73 74 74 /*********************** fits table column ****************************/ 75 int gfits_delete_rows (FTable *table, int Nstart, int Nrow) {75 int gfits_delete_rows (FTable *table, off_t Nstart, off_t Nrow) { 76 76 77 int Nx, Ny, N0, N1, N2;78 int nbytes;77 off_t Nx, Ny, N0, N1, N2; 78 off_t nbytes; 79 79 Header *header; 80 80 81 81 header = table[0].header; 82 82 83 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);84 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);83 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 84 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 85 85 86 86 if (header[0].Naxis[1] != Ny) return (FALSE); … … 97 97 Ny -= Nrow; 98 98 header[0].Naxis[1] = Ny; 99 gfits_modify (header, "NAXIS2", "%d", 1,Ny);99 gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny); 100 100 101 101 nbytes = gfits_data_size (header); 102 102 REALLOCATE (table[0].buffer, char, MAX (nbytes, 1)); 103 table[0]. size = nbytes;103 table[0].datasize = nbytes; 104 104 return (TRUE); 105 105 } -
trunk/Ohana/src/libfits/table/F_table_varlength.c
r18264 r27435 4 4 int gfits_varlength_column_define (FTable *ftable, VarLengthColumn *def, int column) { 5 5 6 int i, Nv, Nb; 6 int i; 7 int Nv, Nb; 7 8 char *p1, *p2, *p3; 8 9 char field[81]; … … 32 33 // now p1 must be 'P'; 33 34 if (*p1 == 0) return (FALSE); 34 if (*p1 != 'P') return (FALSE); 35 if ((*p1 != 'P') && (*p1 != 'Q')) return (FALSE); 36 def->mode = *p1; 35 37 36 38 // next value is the actual varlength column format … … 61 63 } 62 64 63 if (!gfits_scan (ftable->header, "THEAP", "%d", 1, &def->heap_start)) { 65 // 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)) { 64 67 def->heap_start = ftable->header->Naxis[0]*ftable->header->Naxis[1]; 65 68 } … … 68 71 } 69 72 70 void *gfits_varlength_column_pointer (FTable *ftable, VarLengthColumn *column, int row, int *length) { 73 // return the data and length for row 'row' of a variable length column 74 // is this capable of handling large files (value holding length and offset is an int)? 75 void *gfits_varlength_column_pointer (FTable *ftable, VarLengthColumn *column, off_t row, off_t *length) { 71 76 72 77 void *result; 73 int offset, Nx, *ptr; 78 off_t offset, Nx; 79 80 if ((column->mode != 'P') && (column->mode != 'Q')) abort(); 74 81 75 82 // find the values for the specified row … … 89 96 # endif 90 97 91 ptr = (int *) &ftable->buffer[row*Nx + column->Nstart]; 92 *length = ptr[0]; 93 offset = ptr[1]; 98 if (column->mode == 'P') { 99 int *ptr; 100 ptr = (int *) &ftable->buffer[row*Nx + column->Nstart]; 101 *length = ptr[0]; 102 offset = ptr[1]; 103 } 104 if (column->mode == 'Q') { 105 off_t *ptr; 106 ptr = (off_t *) &ftable->buffer[row*Nx + column->Nstart]; 107 *length = ptr[0]; 108 offset = ptr[1]; 109 } 94 110 95 111 result = (void *) (ftable->buffer + column->heap_start + offset); -
trunk/Ohana/src/libfits/table/F_write_T.c
r15743 r27435 13 13 if (f == (FILE *) NULL) return (FALSE); 14 14 15 status = fseek (f, 0, SEEK_END); /* write table to end of file! */15 status = fseeko (f, 0LL, SEEK_END); /* write table to end of file! */ 16 16 status = gfits_fwrite_table (f, table); 17 17 … … 23 23 int gfits_fwrite_table (FILE *f, FTable *table) { 24 24 25 int Nbytes;25 off_t Nbytes; 26 26 27 Nbytes = fwrite (table[0].buffer, sizeof(char), table[0]. size, f);27 Nbytes = fwrite (table[0].buffer, sizeof(char), table[0].datasize, f); 28 28 29 if (Nbytes != table[0]. size) return (FALSE);29 if (Nbytes != table[0].datasize) return (FALSE); 30 30 return (TRUE); 31 31 } … … 34 34 int gfits_fwrite_vtable (FILE *f, VTable *table) { 35 35 36 int i, Nx, Ny, Npad, offset, start;37 int Nbytes, *row, Nrow;36 off_t i, Nx, Ny, Npad, offset, start; 37 off_t Nbytes, *row, Nrow; 38 38 char *pad; 39 39 40 40 Nrow = table[0].Nrow; 41 41 row = table[0].row; 42 gfits_scan (table[0].header, "NAXIS1", "% d", 1,&Nx);43 gfits_scan (table[0].header, "NAXIS2", "% d", 1,&Ny);42 gfits_scan (table[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 43 gfits_scan (table[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny); 44 44 45 45 /* file pointer is at beginning of desired table data */ 46 start = ftell (f);46 start = ftello (f); 47 47 48 48 for (i = 0; i < Nrow; i++) { 49 49 offset = start + Nx*row[i]; 50 fseek (f, offset, SEEK_SET);50 fseeko (f, offset, SEEK_SET); 51 51 Nbytes = fwrite (table[0].buffer[i], sizeof (char), Nx, f); 52 52 if (Nbytes != Nx) { return (FALSE); } 53 53 } 54 54 55 Npad = table[0]. size - Nx*Ny;55 Npad = table[0].datasize - Nx*Ny; 56 56 ALLOCATE (pad, char, Npad); 57 57 bzero (pad, Npad); 58 58 59 59 offset = start + Nx*Ny; 60 fseek (f, offset, SEEK_SET);60 fseeko (f, offset, SEEK_SET); 61 61 Nbytes = fwrite (pad, sizeof (char), Npad, f); 62 62 if (Nbytes != Npad) { return (FALSE); } … … 71 71 72 72 /*********************** fits read ftable data ***********************************/ 73 int gfits_fwrite_ftable_range (FILE *f, FTable *ftable, int start, int Nrows, int Ndisk, int Ntotal) {73 int gfits_fwrite_ftable_range (FILE *f, FTable *ftable, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal) { 74 74 75 int Nbytes, Nwrite, Nskip, Nx, Npad;75 off_t Nbytes, Nwrite, Nskip, Nx, Npad; 76 76 char *pad; 77 77 … … 79 79 80 80 /* modify vtable to represent full disk table */ 81 gfits_modify (ftable[0].header, "NAXIS2", "% d", 1,Ntotal);81 gfits_modify (ftable[0].header, "NAXIS2", "%lld", 1, (long long) Ntotal); 82 82 ftable[0].header[0].Naxis[1] = Ntotal; 83 83 84 84 Nx = ftable[0].header[0].Naxis[0]; // final output table size on disk 85 ftable[0]. size = gfits_data_size (ftable[0].header);85 ftable[0].datasize = gfits_data_size (ftable[0].header); 86 86 87 87 Nskip = start * Nx; … … 95 95 96 96 // cursor must be at start of the table (after table header) 97 fseek (f, Nskip, SEEK_CUR);97 fseeko (f, Nskip, SEEK_CUR); 98 98 Nwrite = fwrite (ftable[0].buffer, sizeof (char), Nbytes, f); 99 99 if (Nwrite != Nbytes) { … … 102 102 103 103 if (Ntotal >= Ndisk) { 104 Npad = ftable[0]. size - Nx*Ntotal;104 Npad = ftable[0].datasize - Nx*Ntotal; 105 105 ALLOCATE (pad, char, Npad); 106 106 bzero (pad, Npad); -
trunk/Ohana/src/libfits/table/F_write_TH.c
r7054 r27435 13 13 if (f == (FILE *) NULL) return (FALSE); 14 14 15 status = fseek (f, 0, SEEK_END); /* write header to end of file! */15 status = fseeko (f, 0LL, SEEK_END); /* write header to end of file! */ 16 16 status = gfits_fwrite_Theader (f, header); 17 17 … … 23 23 int gfits_fwrite_Theader (FILE *f, Header *header) { 24 24 25 int Nbytes;25 off_t Nbytes; 26 26 27 Nbytes = fwrite (header[0].buffer, sizeof(char), header[0]. size, f);27 Nbytes = fwrite (header[0].buffer, sizeof(char), header[0].datasize, f); 28 28 29 if (Nbytes != header[0]. size) return (FALSE);29 if (Nbytes != header[0].datasize) return (FALSE); 30 30 return (TRUE); 31 31 } -
trunk/Ohana/src/libkapa/include/kapa.h
r25757 r27435 109 109 110 110 /* IOfuncs.c */ 111 int KiiSendMessage (int device, char *format, ...); 112 int KiiScanMessage (int device, char *format, ...); 113 int KiiSendCommand (int device, int length, char *format, ...); 111 int KiiSendMessage (int device, char *format, ...) OHANA_FORMAT(printf, 2, 3); 112 int KiiScanMessage (int device, char *format, ...) OHANA_FORMAT(scanf, 2, 3); 113 int KiiSendCommand (int device, int length, char *format, ...) OHANA_FORMAT(printf, 3, 4); 114 int KiiScanCommand (int device, int length, char *format, ...) OHANA_FORMAT(scanf, 3, 4); 114 115 int KiiSendCommandV (int device, int length, char *format, va_list argp); 115 int KiiScanCommand (int device, int length, char *format, ...);116 116 int KiiSendData (int device, char *data, int Nbytes); 117 117 char *KiiRecvData (int device); -
trunk/Ohana/src/libohana/Makefile
r16040 r27435 17 17 FULL_CPPFLAGS = $(BASE_CPPFLAGS) 18 18 FULL_LDFLAGS = $(BASE_LDFLAGS) 19 TFLAGS = $(FULL_CFLAGS) $(FULL_ LDFLAGS)-ltap_ohana19 TFLAGS = $(FULL_CFLAGS) $(FULL_CPPFLAGS) $(FULL_LDFLAGS) -lohana -ltap_ohana 20 20 21 21 install: $(DESTLIB)/libohana.a $(DESTLIB)/libohana.$(DLLTYPE) 22 22 libohana: $(LIB)/libohana.$(ARCH).a $(LIB)/libohana.$(ARCH).$(DLLTYPE) 23 testcode: install $(TEST)24 test:25 make testcode26 for i in $(TEST); do $$i; done27 23 28 24 INCS = \ … … 48 44 $(TESTDIR)/string.$(ARCH) 49 45 46 testcode: install $(TEST) 47 test: 48 make testcode 49 for i in $(TEST); do $$i; done 50 50 51 $(OBJS): $(INCS) 51 52 -
trunk/Ohana/src/libohana/include/ohana.h
r25757 r27435 68 68 # endif 69 69 70 #ifdef __GNUC__ 71 #define OHANA_FORMAT(style, fmt, varargs) __attribute__((format(style, fmt, varargs))) 72 #else // __GNUC__ 73 #define OHANA_FORMAT(style, fmt, varargs) 74 #endif // __GNUC__ 75 70 76 enum { 71 77 LCK_UNLOCK, /* file is unlocked */ … … 177 183 char *SelectConfigFile PROTO((int *argc, char **argv, char *progname)); 178 184 char *LoadConfigFile PROTO((char *filename)); 179 char *ScanConfig PROTO((char *config, char *field, char *mode, int N,...)) ;185 char *ScanConfig PROTO((char *config, char *field, char *mode, int N,...)) OHANA_FORMAT(scanf, 3, 5); 180 186 char *expandline PROTO((char *line, char *config)); 181 187 char *fileextname PROTO((char *file)); … … 214 220 int EmptyIOBuffer PROTO((IOBuffer *buffer, int Nmax, int fd)); 215 221 void FreeIOBuffer PROTO((IOBuffer *buffer)); 216 int PrintIOBuffer PROTO((IOBuffer *buffer, char *format, ...)) ;222 int PrintIOBuffer PROTO((IOBuffer *buffer, char *format, ...)) OHANA_FORMAT(printf, 2, 3); 217 223 int vPrintIOBuffer PROTO((IOBuffer *buffer, char *format, va_list argp)); 218 224 … … 220 226 int ExpectMessage PROTO((int device, double timeout, IOBuffer *message)); 221 227 int ExpectCommand PROTO((int device, int length, double timeout, IOBuffer *buffer)); 222 int SendMessage PROTO((int device, char *format, ...)) ;228 int SendMessage PROTO((int device, char *format, ...)) OHANA_FORMAT(printf, 2, 3); 223 229 int SendMessageFixed PROTO((int device, int length, char *messge)); 224 int SendCommand PROTO((int device, int length, char *format, ...)) ;230 int SendCommand PROTO((int device, int length, char *format, ...)) OHANA_FORMAT(printf, 3, 4); 225 231 int SendCommandV PROTO((int device, int length, char *format, va_list argp)); 226 232 227 233 char *CheckForMessage PROTO((IOBuffer *buffer)); 234 235 off_t Fread PROTO((void *ptr, off_t size, off_t nitems, FILE *f, char *type)); 236 off_t Fwrite PROTO((void *ptr, off_t size, off_t nitems, FILE *f, char *type)); 228 237 229 238 /* -
trunk/Ohana/src/libohana/include/ohana_sort.h
r16040 r27435 70 70 void dsortpair (double *X, double *Y, int N); 71 71 void isortpair (int *X, int *Y, int N); 72 void llsortpair (off_t *X, off_t *Y, off_t N); 72 73 void fsortthree (float *X, float *Y, float *Z, int N); 73 74 void dsortthree (double *X, double *Y, double *Z, int N); -
trunk/Ohana/src/libohana/src/CommOps.c
r26996 r27435 103 103 int SendMessageFixed (int device, int length, char *message) { 104 104 105 int status;106 105 int Nbytes, Nsent; 107 106 struct timespec request, remain; -
trunk/Ohana/src/libohana/src/Fread.c
r5851 r27435 1 1 # include <ohana.h> 2 2 3 int ByteSwap (char *ptr, int size, int nitems, char *type);3 static int ByteSwap (char *ptr, off_t size, off_t nitems, char *type); 4 4 5 5 # define BYTE_EXCHANGE(X,Y) tmp = byte[X]; byte[X] = byte[Y]; byte[Y] = tmp; … … 30 30 /* add other architectures here, ie dec, alpha, etc */ 31 31 32 int Fread (void *ptr, int size, int nitems, FILE *f, char *type) {32 off_t Fread (void *ptr, off_t size, off_t nitems, FILE *f, char *type) { 33 33 34 int valid, status; 34 int valid; 35 off_t status; 35 36 36 37 status = fread (ptr, size, nitems, f); … … 42 43 } 43 44 44 int Fwrite (void *ptr, int size, int nitems, FILE *f, char *type) {45 off_t Fwrite (void *ptr, off_t size, off_t nitems, FILE *f, char *type) { 45 46 46 int valid, status; 47 int valid; 48 off_t status; 47 49 48 50 valid = ByteSwap (ptr, size, nitems, type); … … 54 56 } 55 57 56 int ByteSwap (char *ptr, int size, int nitems, char *type) {58 static int ByteSwap (char *ptr, off_t size, off_t nitems, char *type) { 57 59 58 60 # ifdef BYTE_SWAP 59 61 60 int i;62 off_t i; 61 63 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7, tmp; 62 64 … … 116 118 } 117 119 118 # if (0) /** now in autocode **/119 if (!strcmp (type, "regimage")) {120 if (size != REGIMAGE_SIZE) {121 fprintf (stderr, "mismatch in type sizes (RegImage) %d vs %d\n", size, REGIMAGE_SIZE);122 return (FALSE);123 }124 byte = (unsigned char *)ptr;125 for (i = 0; i < nitems; i++, byte += REGIMAGE_SIZE) {126 SWAP_WORD (284); /* exptime */127 SWAP_WORD (288); /* airmass */128 SWAP_WORD (292); /* sky */129 SWAP_WORD (296); /* bias */130 SWAP_WORD (300); /* fwhm */131 SWAP_WORD (304); /* telfocus */132 SWAP_WORD (308); /* xprobe */133 SWAP_WORD (312); /* yprobe */134 SWAP_WORD (316); /* zprobe */135 SWAP_WORD (320); /* dettemp */136 SWAP_WORD (324); /* teltemp[0] */137 SWAP_WORD (328); /* teltemp[1] */138 SWAP_WORD (332); /* teltemp[2] */139 SWAP_WORD (336); /* teltemp[3] */140 SWAP_WORD (340); /* rotangle */141 SWAP_WORD (344); /* ra */142 SWAP_WORD (348); /* dec */143 SWAP_WORD (352); /* obstime */144 SWAP_WORD (356); /* regtime */145 }146 return (TRUE);147 }148 149 if (!strcmp (type, "detreg")) {150 if (size != DETREG_SIZE) {151 fprintf (stderr, "mismatch in type sizes (DetReg) %d vs %d\n", size, DETREG_SIZE);152 return (FALSE);153 }154 byte = (unsigned char *)ptr;155 for (i = 0; i < nitems; i++, byte += DETREG_SIZE) {156 SWAP_WORD (0); /* tstart */157 SWAP_WORD (4); /* tstop */158 SWAP_WORD (8); /* treg */159 SWAP_WORD (12); /* exptime */160 SWAP_WORD (16); /* type */161 SWAP_WORD (20); /* filter */162 SWAP_WORD (24); /* ccd */163 SWAP_WORD (28); /* Nentry */164 SWAP_WORD (32); /* Norder */165 }166 return (TRUE);167 }168 169 if (!strcmp (type, "photpars")) {170 if (size != PHOTPARS_SIZE) {171 fprintf (stderr, "mismatch in type sizes (PhotPars) %d vs %d\n", size, PHOTPARS_SIZE);172 return (FALSE);173 }174 byte = (unsigned char *)ptr;175 for (i = 0; i < nitems; i++, byte += PHOTPARS_SIZE) {176 SWAP_WORD (0); /* ZP */177 SWAP_WORD (4); /* ZPo */178 SWAP_WORD (8); /* dZP */179 SWAP_WORD (12); /* K */180 SWAP_WORD (16); /* A */181 SWAP_WORD (20); /* tstart */182 SWAP_WORD (24); /* tstop */183 SWAP_BYTE (28); /* c1 */184 SWAP_BYTE (30); /* c2 */185 SWAP_BYTE (32); /* photcode */186 SWAP_WORD (100); /* Ntime */187 SWAP_WORD (104); /* Nmeas */188 }189 return (TRUE);190 }191 192 if (!strcmp (type, "missing")) {193 if (size != MISSING_SIZE) {194 fprintf (stderr, "mismatch in type sizes (Missing) %d vs %d\n", size, MISSING_SIZE);195 return (FALSE);196 }197 byte0 = (unsigned char *)ptr;198 byte1 = (unsigned char *)ptr + 1;199 byte2 = (unsigned char *)ptr + 2;200 byte3 = (unsigned char *)ptr + 3;201 for (i = 0; i < nitems; i++, byte0 += 4, byte1 += 4, byte2 += 4, byte3 += 4) {202 tmp = *byte0;203 *byte0 = *byte3;204 *byte3 = tmp;205 tmp = *byte1;206 *byte1 = *byte2;207 *byte2 = tmp;208 }209 return (TRUE);210 }211 212 if (!strcmp (type, "secfilt")) {213 if (size != SECFILT_SIZE) {214 fprintf (stderr, "mismatch in type sizes (SecFilt) %d vs %d\n", size, SECFILT_SIZE);215 return (FALSE);216 }217 byte = (unsigned char *) ptr;218 for (i = 0; i < nitems; i++, byte += SECFILT_SIZE) {219 SWAP_BYTE (0); /* M */220 SWAP_BYTE (2); /* Xm */221 SWAP_BYTE (4); /* dM */222 }223 return (TRUE);224 }225 226 if (!strcmp (type, "spectrum")) {227 if (size != SPECTRUM_SIZE) {228 fprintf (stderr, "mismatch in type sizes (Spectrum) %d vs %d\n", size, SPECTRUM_SIZE);229 return (FALSE);230 }231 byte = (unsigned char *)ptr;232 for (i = 0; i < nitems; i++, byte += SPECTRUM_SIZE) {233 SWAP_WORD (0); /* ra */234 SWAP_WORD (4); /* dec */235 SWAP_WORD (8); /* exptime */236 SWAP_WORD (12); /* airmass */237 SWAP_WORD (16); /* Ws */238 SWAP_WORD (20); /* We */239 SWAP_WORD (24); /* dW */240 SWAP_WORD (28); /* Nspec */241 SWAP_WORD (32); /* obstime */242 SWAP_WORD (36); /* regtime */243 }244 return (TRUE);245 }246 247 if (!strcmp (type, "image")) {248 if (size != IMAGE_SIZE) {249 fprintf (stderr, "mismatch in type sizes (Image) %d vs %d\n", size, IMAGE_SIZE);250 return (FALSE);251 }252 byte = (unsigned char *)ptr;253 for (i = 0; i < nitems; i++, byte += IMAGE_SIZE) {254 SWAP_DBLE (0); /* coords.crval1 */255 SWAP_DBLE (8); /* coords.crval2 */256 for (j = 16; j < 104; j+=4) { /* coords.crpix, delt, pc_ij, polyterms[7][2] */257 SWAP_WORD (j);258 }259 SWAP_WORD (120); /* tzero */260 SWAP_WORD (124); /* nstar */261 for (j = 128; j < 146; j+=2) { /* sec z, NX, NY, apmifit, dapmifit, source, Mcal, dMcal, Xm */262 SWAP_BYTE (j);263 }264 SWAP_WORD (184); /* exptime */265 SWAP_WORD (210); /* order */266 /**** this (210) is an error! (don't fix, replaced with autocode) ****/267 for (j = 212; j < 240; j+=2) {268 SWAP_BYTE (j); /* Mx - Myyy */269 }270 }271 return (TRUE);272 }273 274 # if (PANSTARRS)275 if (!strcmp (type, "average")) {276 if (size != AVERAGE_SIZE) {277 fprintf (stderr, "mismatch in type sizes (Average) %d vs %d\n", size, AVERAGE_SIZE);278 return (FALSE);279 }280 byte = (unsigned char *)ptr;281 for (i = 0; i < nitems; i++, byte += AVERAGE_SIZE) {282 SWAP_DBLE (0); /* R */283 SWAP_DBLE (8); /* D */284 SWAP_BYTE (16); /* M */285 SWAP_BYTE (18); /* Nm */286 SWAP_BYTE (20); /* Nn */287 SWAP_BYTE (22); /* Xp */288 SWAP_BYTE (24); /* Xm */289 SWAP_BYTE (26); /* code */290 SWAP_WORD (28); /* offset */291 SWAP_WORD (32); /* missing */292 SWAP_BYTE (36); /* dM */293 SWAP_BYTE (38); /* Xg */294 }295 return (TRUE);296 }297 if (!strcmp (type, "measure")) {298 if (size != MEASURE_SIZE) {299 fprintf (stderr, "mismatch in type sizes (Measure) %d vs %d\n", size, MEASURE_SIZE);300 return (FALSE);301 }302 byte = (unsigned char *)ptr;303 for (i = 0; i < nitems; i++, byte += MEASURE_SIZE) {304 SWAP_BYTE (0); /* dR */305 SWAP_BYTE (2); /* dD */306 SWAP_BYTE (4); /* M */307 SWAP_BYTE (6); /* Mcal */308 SWAP_BYTE (8); /* Mgal */309 SWAP_BYTE (10); /* Map */310 SWAP_BYTE (12); /* FWx */311 /* 14, 15, 16, 17 - char */312 SWAP_BYTE (18); /* source */313 SWAP_WORD (20); /* t */314 SWAP_WORD (24); /* averef */315 SWAP_BYTE (28); /* dt */316 SWAP_BYTE (30); /* flags */317 }318 return (TRUE);319 }320 321 # endif /** PANSTARRS **/322 323 324 # if (ELIXIR)325 if (!strcmp (type, "average")) {326 if (size != AVERAGE_SIZE) {327 fprintf (stderr, "mismatch in type sizes (Average) %d vs %d\n", size, AVERAGE_SIZE);328 return (FALSE);329 }330 byte = (unsigned char *)ptr;331 for (i = 0; i < nitems; i++, byte += AVERAGE_SIZE) {332 SWAP_WORD (0); /* R */333 SWAP_WORD (4); /* D */334 SWAP_BYTE (8); /* M */335 SWAP_BYTE (10); /* Nm */336 SWAP_BYTE (12); /* Nn */337 SWAP_BYTE (14); /* Xp */338 SWAP_BYTE (16); /* Xm */339 SWAP_BYTE (18); /* code */340 SWAP_WORD (20); /* offset */341 SWAP_WORD (24); /* missing */342 SWAP_BYTE (28); /* dM */343 SWAP_BYTE (30); /* Xg */344 }345 return (TRUE);346 }347 if (!strcmp (type, "measure")) {348 if (size != MEASURE_SIZE) {349 fprintf (stderr, "mismatch in type sizes (Measure) %d vs %d\n", size, MEASURE_SIZE);350 return (FALSE);351 }352 byte = (unsigned char *)ptr;353 for (i = 0; i < nitems; i++, byte += MEASURE_SIZE) {354 SWAP_BYTE (0); /* dR */355 SWAP_BYTE (2); /* dD */356 SWAP_BYTE (4); /* M */357 SWAP_BYTE (6); /* Mcal */358 SWAP_BYTE (8); /* Mgal */359 SWAP_BYTE (10); /* Map */360 SWAP_BYTE (12); /* FWx */361 /* 14, 15, 16, 17 - char */362 SWAP_BYTE (18); /* source */363 SWAP_WORD (20); /* t */364 SWAP_WORD (24); /* averef */365 SWAP_BYTE (28); /* dt */366 SWAP_BYTE (30); /* flags */367 }368 return (TRUE);369 }370 371 # endif /** ELIXIR **/372 373 374 # if (LONEOS)375 if (!strcmp (type, "average")) {376 if (size != OLDAVERAGE_SIZE) {377 fprintf (stderr, "mismatch in type sizes (OldAverage) %d vs %d\n", size, OLDAVERAGE_SIZE);378 return (FALSE);379 }380 byte = (unsigned char *)ptr;381 for (i = 0; i < nitems; i++, byte += OLDAVERAGE_SIZE) {382 SWAP_WORD (0); /* R */383 SWAP_WORD (4); /* D */384 SWAP_BYTE (8); /* M */385 SWAP_BYTE (10); /* Nm */386 SWAP_BYTE (12); /* Nn */387 SWAP_BYTE (14); /* Xp */388 SWAP_BYTE (16); /* Xm */389 SWAP_BYTE (18); /* code */390 SWAP_WORD (20); /* offset */391 SWAP_WORD (24); /* missing */392 }393 return (TRUE);394 }395 if (!strcmp (type, "measure")) {396 if (size != OLDMEASURE_SIZE) {397 fprintf (stderr, "mismatch in type sizes (OldMeasure) %d vs %d\n", size, OLDMEASURE_SIZE);398 return (FALSE);399 }400 byte = (unsigned char *)ptr;401 for (i = 0; i < nitems; i++, byte += OLDMEASURE_SIZE) {402 SWAP_BYTE (0); /* dR */403 SWAP_BYTE (2); /* dD */404 SWAP_BYTE (4); /* M */405 SWAP_BYTE (6); /* Mcal */406 SWAP_BYTE (10); /* source */407 SWAP_WORD (12); /* t */408 SWAP_WORD (16); /* average */409 }410 return (TRUE);411 }412 # endif /** LONEOS **/413 414 # if (0) /*** others ***/415 if (!strcmp (type, "oldsecfilt")) {416 if (size != OLDSECFILT_SIZE) {417 fprintf (stderr, "mismatch in type sizes (OldSecFilt) %d vs %d\n", size, OLDSECFILT_SIZE);418 return (FALSE);419 }420 byte = (unsigned char *) ptr;421 for (i = 0; i < nitems; i++, byte += OLDSECFILT_SIZE) {422 SWAP_BYTE (0); /* M */423 SWAP_BYTE (2); /* Xm */424 }425 return (TRUE);426 }427 if (!strcmp (type, "rufimage")) {428 if (size != RUFIMAGE_SIZE) {429 fprintf (stderr, "mismatch in type sizes (RufImage) %d vs %d\n", size, RUFIMAGE_SIZE);430 return (FALSE);431 }432 byte = (unsigned char *)ptr;433 for (i = 0; i < nitems; i++, byte += RUFIMAGE_SIZE) {434 SWAP_WORD (0); /* sky */435 SWAP_WORD (4); /* bias */436 SWAP_WORD (8); /* fwhm */437 SWAP_WORD (12); /* exptime */438 SWAP_WORD (16); /* airmass */439 SWAP_WORD (20); /* obstime */440 SWAP_BYTE (24); /* ccdnum */441 }442 return (TRUE);443 }444 if (!strcmp (type, "olddetreg")) {445 if (size != OLDDETREG_SIZE) {446 fprintf (stderr, "mismatch in type sizes (DetReg) %d vs %d\n", size, OLDDETREG_SIZE);447 return (FALSE);448 }449 byte = (unsigned char *)ptr;450 for (i = 0; i < nitems; i++, byte += OLDDETREG_SIZE) {451 SWAP_WORD (0); /* tstart */452 SWAP_WORD (4); /* tstop */453 SWAP_WORD (8); /* treg */454 SWAP_WORD (12); /* sigma */455 SWAP_WORD (16); /* clipsigma */456 SWAP_WORD (20); /* type */457 SWAP_WORD (24); /* filter */458 SWAP_WORD (28); /* ccd */459 }460 return (TRUE);461 }462 # endif /** others **/463 # endif /** now in autocode **/464 465 120 fprintf (stderr, "unknown type %s\n", type); 466 121 return (FALSE); -
trunk/Ohana/src/libohana/src/findexec.c
r25757 r27435 391 391 392 392 /* fseek with timeout - 0.5 sec */ 393 int Fseek (FILE *f, longoffset, int whence) {393 int Fseek (FILE *f, off_t offset, int whence) { 394 394 395 395 int status, k; 396 396 397 status = fseek (f, offset, whence);397 status = fseeko (f, offset, whence); 398 398 if (status == -1) { 399 for (k = 0; (k < 10) && ((status = fseek (f, 0, SEEK_SET)) == -1); k++) usleep (50000);399 for (k = 0; (k < 10) && ((status = fseeko (f, 0, SEEK_SET)) == -1); k++) usleep (50000); 400 400 if (status == -1) { 401 return (0);402 } 403 } 404 return (1);405 } 401 return FALSE; 402 } 403 } 404 return TRUE; 405 } -
trunk/Ohana/src/libohana/src/glockfile.c
r4717 r27435 117 117 if (type == LCK_HARD) { 118 118 /* we've really got the lock, write BUSY to protect it */ 119 fseek (flock, 0, SEEK_SET);119 fseeko (flock, 0LL, SEEK_SET); 120 120 nbytes = fprintf (flock, "BUSY\n"); 121 121 … … 212 212 213 213 /* set value to IDLE */ 214 fseek (flock, 0, SEEK_SET);214 fseeko (flock, 0LL, SEEK_SET); 215 215 nbytes = fprintf (flock, "IDLE\n"); 216 216 if (nbytes != 5) { -
trunk/Ohana/src/libohana/src/sorts.c
r16040 r27435 73 73 } 74 74 75 // sort two int vectors by first vector 76 void llsortpair (off_t *X, off_t *Y, off_t N) { 77 78 # define SWAPFUNC(A,B){ off_t tmp; \ 79 tmp = X[A]; X[A] = X[B]; X[B] = tmp; \ 80 tmp = Y[A]; Y[A] = Y[B]; Y[B] = tmp; \ 81 } 82 # define COMPARE(A,B)(X[A] < X[B]) 83 84 OHANA_SORT (N, COMPARE, SWAPFUNC); 85 86 # undef SWAPFUNC 87 # undef COMPARE 88 89 } 90 75 91 void fsortthree (float *X, float *Y, float *Z, int N) { 76 92 -
trunk/Ohana/src/libohana/src/string.c
r19825 r27435 13 13 string[++i] = 0; 14 14 return (i); 15 16 15 } 17 16 -
trunk/Ohana/src/lightcurve/src/alter_headers.c
r7080 r27435 46 46 gfits_modify (&header, "NMcal", "%d", 1, images[i].Nstars); 47 47 48 gfits_modify (&header, "Mcal", "%C", 1, "relphot: calibration magnitude");49 gfits_modify (&header, "dMcal", "%C", 1, "relphot: calibration error");50 gfits_modify (&header, "clouds", "%C", 1, "relphot: cloud level");51 gfits_modify (&header, "NMcal", "%C", 1, "relphot: number of stars");48 gfits_modify_alt (&header, "Mcal", "%C", 1, "relphot: calibration magnitude"); 49 gfits_modify_alt (&header, "dMcal", "%C", 1, "relphot: calibration error"); 50 gfits_modify_alt (&header, "clouds", "%C", 1, "relphot: cloud level"); 51 gfits_modify_alt (&header, "NMcal", "%C", 1, "relphot: number of stars"); 52 52 53 53 gfits_write_header (head, &header); -
trunk/Ohana/src/lightcurve/src/fix_header.c
r7080 r27435 7 7 */ 8 8 9 void 10 fix_header 11 (Header *header) 9 void fix_header (Header *header) 12 10 { 13 11 … … 15 13 char *p1, *p2; 16 14 17 Nbytes = 2880 * (int) (header[0]. size / 2880 + 1);15 Nbytes = 2880 * (int) (header[0].datasize / 2880 + 1); 18 16 reallocate (header[0].buffer, char, Nbytes); 19 bzero (&header[0].buffer[header[0]. size], Nbytes - header[0].size - 1);17 bzero (&header[0].buffer[header[0].datasize], Nbytes - header[0].datasize - 1); 20 18 21 19 p1 = header[0].buffer - 1; … … 24 22 while (p2 != NULL) { 25 23 if ((N = p2 - p1) != 80) { 26 bcopy (p2, p1 + 80, header[0]. size - (p2 - header[0].buffer));24 bcopy (p2, p1 + 80, header[0].datasize - (p2 - header[0].buffer)); 27 25 for (i = 0; i < 80 - N; i++) { 28 26 *(p2 + i) = ' '; 29 27 } 30 header[0]. size += 80 - N;28 header[0].datasize += 80 - N; 31 29 } 32 30 p1 = strchr (p1 + 1, RETURN); … … 34 32 } 35 33 36 header[0]. size = Nbytes;34 header[0].datasize = Nbytes; 37 35 p1 = gfits_header_field (header, "END", 1); 38 36 for (i = 3; i < 79; i++) … … 40 38 *(p1 + 79) = RETURN; 41 39 42 Nbytes = header[0]. size - (p1 - header[0].buffer) - 80;40 Nbytes = header[0].datasize - (p1 - header[0].buffer) - 80; 43 41 44 42 for (i = 0; i < Nbytes; i++) { … … 48 46 } 49 47 50 Nbytes = header[0]. size - (p1 - header[0].buffer) - 80;48 Nbytes = header[0].datasize - (p1 - header[0].buffer) - 80; 51 49 while (Nbytes >= 2880) { 52 header[0]. size -= 2880;53 Nbytes = header[0]. size - (p1 - header[0].buffer) - 80;50 header[0].datasize -= 2880; 51 Nbytes = header[0].datasize - (p1 - header[0].buffer) - 80; 54 52 } 55 53 56 reallocate (header[0].buffer, char, header[0]. size);54 reallocate (header[0].buffer, char, header[0].datasize); 57 55 } 58 56 -
trunk/Ohana/src/markrock/src/find_bright_stars.c
r16040 r27435 3 3 void find_bright_stars (Catalog *catalog, CatStats *catstats) { 4 4 5 int i, j, n, m, first_j, Nave, Ngsc, Nmark;5 off_t i, j, n, m, first_j, Nave, Ngsc, Nmark; 6 6 Catalog GSCdata; 7 7 double MinRA, MinDEC, MaxRA, MaxDEC, RaCenter, DecCenter; 8 8 Coords *tcoords; 9 9 double *X1, *Y1, *X2, *Y2; 10 int *N1, *N2;10 off_t *N1, *N2; 11 11 char *mark; 12 12 double dX, dY, dR, MaxDist, MaxDist1, MaxRadius, radius, radius2; … … 24 24 ALLOCATE (X1, double, Ngsc); 25 25 ALLOCATE (Y1, double, Ngsc); 26 ALLOCATE (N1, int, Ngsc);26 ALLOCATE (N1, off_t, Ngsc); 27 27 ALLOCATE (mark, char, Nave); 28 28 bzero (mark, Nave); -
trunk/Ohana/src/markrock/src/gcatstats.c
r16040 r27435 6 6 { 7 7 8 int i;8 off_t i; 9 9 double RaCenter, DecCenter; 10 10 double MinRA, MaxRA, MinDEC, MaxDEC; 11 11 double *X1, *Y1; 12 int *N1;13 12 Coords tcoords; 14 13 … … 31 30 ALLOCATE (catstats[0].X, double, catalog[0].Naverage); 32 31 ALLOCATE (catstats[0].Y, double, catalog[0].Naverage); 33 ALLOCATE (catstats[0].N, int, catalog[0].Naverage);32 ALLOCATE (catstats[0].N, off_t, catalog[0].Naverage); 34 33 35 34 /* project onto rectilinear grid with 1 arcsec pixels, sort by X */ -
trunk/Ohana/src/markrock/src/wrocks.c
r2490 r27435 16 16 } 17 17 /* position to begining of file to write header */ 18 fseek (f, 0, SEEK_END);18 fseeko (f, 0, SEEK_END); 19 19 20 20 /* get statistics on rocks */ -
trunk/Ohana/src/markstar/src/find_bright_stars.c
r16040 r27435 3 3 void find_bright_stars (Catalog *catalog, CatStats *catstats) { 4 4 5 int i, j, n, m, first_j, Nave, Ngsc;5 off_t i, j, n, m, first_j, Nave, Ngsc; 6 6 Catalog GSCdata; 7 7 double MinRA, MinDEC, MaxRA, MaxDEC, RaCenter, DecCenter; 8 8 Coords *tcoords; 9 9 double *X1, *Y1, *X2, *Y2; 10 int *N1, *N2;10 off_t *N1, *N2; 11 11 char *mark; 12 12 double dX, dY, dR, MaxDist, MaxDist1, MaxRadius, radius, radius2; … … 25 25 ALLOCATE (X1, double, Ngsc); 26 26 ALLOCATE (Y1, double, Ngsc); 27 ALLOCATE (N1, int, Ngsc);27 ALLOCATE (N1, off_t, Ngsc); 28 28 ALLOCATE (mark, char, Nave); 29 29 bzero (mark, Nave); -
trunk/Ohana/src/markstar/src/find_matches.c
r16040 r27435 7 7 double *X1, *Y1, *X2, *Y2; 8 8 double dX, dY, dR; 9 int *N1, *N2;9 off_t *N1, *N2; 10 10 int Nstar, Nghost, Ng; 11 11 unsigned int flags; … … 25 25 ALLOCATE (X1, double, Nghost); 26 26 ALLOCATE (Y1, double, Nghost); 27 ALLOCATE (N1, int, Nghost);27 ALLOCATE (N1, off_t, Nghost); 28 28 29 29 /* project ghosts to the frame of the catalog */ -
trunk/Ohana/src/markstar/src/gcatstats.c
r16040 r27435 3 3 void gcatstats (Catalog *catalog, CatStats *catstats) { 4 4 5 int i;5 off_t i; 6 6 double RaCenter, DecCenter; 7 7 double MinRA, MaxRA, MinDEC, MaxDEC; 8 8 double *X1, *Y1; 9 int *N1;10 9 Coords tcoords; 11 10 … … 41 40 ALLOCATE (catstats[0].X, double, catalog[0].Naverage); 42 41 ALLOCATE (catstats[0].Y, double, catalog[0].Naverage); 43 ALLOCATE (catstats[0].N, int,catalog[0].Naverage);42 ALLOCATE (catstats[0].N, off_t, catalog[0].Naverage); 44 43 45 44 /* project onto rectilinear grid with 1 arcsec pixels, sort by X */ -
trunk/Ohana/src/misc/src/addastro.c
r7080 r27435 6 6 /* USAGE: addastro (cmp) (ref) */ 7 7 8 int i, j, nbytes, itmp, oldsize; 8 off_t nbytes, oldsize; 9 int i, j, itmp; 9 10 double tmp; 10 11 Header header, refhead; … … 22 23 exit (1); 23 24 } 24 oldsize = header. size;25 oldsize = header.datasize; 25 26 26 27 if (!gfits_read_header (argv[2], &refhead)) { … … 58 59 gfits_modify (&header, "CPRECISE", "%lf", 1, tmp); 59 60 60 gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");61 gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");61 gfits_modify_alt (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)"); 62 gfits_modify_alt (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)"); 62 63 63 64 /* write to file */ … … 72 73 exit (1); 73 74 } 74 nbytes = fwrite (header.buffer, 1, header. size, g);75 fseek (g, header.size, SEEK_SET);75 nbytes = fwrite (header.buffer, 1, header.datasize, g); 76 fseeko (g, header.datasize, SEEK_SET); 76 77 77 78 /* read date from file */ -
trunk/Ohana/src/misc/src/applyscat.c
r21537 r27435 14 14 Matrix matrix; 15 15 Stars *stars; 16 int Nstar, Nbytes, nbytes; 16 int Nstar; 17 off_t Nbytes, nbytes; 17 18 FILE *f; 18 19 char *buffer, line[10]; … … 37 38 exit (1); 38 39 } 39 fseek (f, header.size, SEEK_SET);40 fseeko (f, header.datasize, SEEK_SET); 40 41 41 42 /* find expected number of stars */ … … 110 111 exit (1); 111 112 } 112 fseek (f, header.size, SEEK_SET);113 fseeko (f, header.datasize, SEEK_SET); 113 114 114 115 /* load in data */ -
trunk/Ohana/src/misc/src/fakecmp.c
r7080 r27435 4 4 void main (int argc, char **argv) { 5 5 6 int i, j, N, status; 7 int Nreserved, start_size; 6 off_t start_size, status; 7 int i, j, N; 8 int Nreserved; 8 9 char *p, keyword[16], line[256]; 9 10 FILE *f; … … 69 70 exit (1); 70 71 } 71 start_size = header. size;72 start_size = header.datasize; 72 73 73 74 /* run through the lines in the header data file */ … … 94 95 p = (char *) NULL; 95 96 Nreserved = strlen (reserved); 96 for (i = 0; (i < header. size) && (p == (char *) NULL) ; i+= FT_LINE_LENGTH) {97 for (i = 0; (i < header.datasize) && (p == (char *) NULL) ; i+= FT_LINE_LENGTH) { 97 98 if (!strncmp (&header.buffer[i], reserved, Nreserved)) { 98 99 p = &header.buffer[i]; … … 114 115 */ 115 116 116 if (header. size != start_size) {117 if (header.datasize != start_size) { 117 118 fprintf (stderr, "header changed size: should not happen!\n"); 118 119 exit (1); … … 125 126 } 126 127 127 fseek (f, 0, SEEK_SET);128 status = fwrite (header.buffer, 1, header. size, f);129 if (status != header. size) {128 fseeko (f, 0, SEEK_SET); 129 status = fwrite (header.buffer, 1, header.datasize, f); 130 if (status != header.datasize) { 130 131 fprintf (stderr, "failed to write data to image header\n"); 131 132 exit (1); -
trunk/Ohana/src/misc/src/fakestars.c
r7080 r27435 57 57 exit (1); 58 58 } 59 fseek (f, header.size, SEEK_SET);59 fseeko (f, header.datasize, SEEK_SET); 60 60 61 61 /* find expected number of stars */ … … 108 108 exit (1); 109 109 } 110 fseek (f, header.size, SEEK_SET);110 fseeko (f, header.datasize, SEEK_SET); 111 111 112 112 for (i = 0; i < Nstar; i++) { -
trunk/Ohana/src/misc/src/fiximg.c
r7080 r27435 31 31 fprintf (stderr, "deleted %d comments\n", N); 32 32 p = gfits_header_field (&header, "END", 1); 33 for (i = 3; i < header. size - (int) (p - header.buffer); i++) {33 for (i = 3; i < header.datasize - (int) (p - header.buffer); i++) { 34 34 p[i] = ' '; 35 35 } -
trunk/Ohana/src/misc/src/fixsimple.c
r7080 r27435 26 26 fprintf (stderr, "deleted %d comments\n", N); 27 27 p = gfits_header_field (&header, "END", 1); 28 for (i = 3; i < header. size - (int) (p - header.buffer); i++) {28 for (i = 3; i < header.datasize - (int) (p - header.buffer); i++) { 29 29 p[i] = ' '; 30 30 } … … 47 47 } 48 48 49 fseek (f, skip, SEEK_SET);50 status = fwrite (header.buffer, 1, header. size, f);51 if (status != header. size) {49 fseeko (f, skip, SEEK_SET); 50 status = fwrite (header.buffer, 1, header.datasize, f); 51 if (status != header.datasize) { 52 52 fprintf (stderr, "failed to write data to image header\n"); 53 53 exit (1); -
trunk/Ohana/src/misc/src/striphead.c
r7080 r27435 51 51 } 52 52 53 for (j = 79; j < header. size; j+= 80) {53 for (j = 79; j < header.datasize; j+= 80) { 54 54 header.buffer[j] = 10; 55 55 } -
trunk/Ohana/src/mosastro/src/LoadStars.c
r19823 r27435 50 50 51 51 extend = FALSE; 52 gfits_scan (&chip[Nchip].header, "EXTEND", "%t", 1, &extend);52 gfits_scan_alt (&chip[Nchip].header, "EXTEND", "%t", 1, &extend); 53 53 if (extend) { 54 54 status = rfits (&chip[Nchip]); -
trunk/Ohana/src/mosastro/src/SaveResiduals.c
r7080 r27435 12 12 header[0].Naxes = 0; 13 13 gfits_modify (header, "NAXIS", "%d", 1, 0); 14 gfits_modify (header, "EXTEND", "%t", 1, TRUE);14 gfits_modify_alt (header, "EXTEND", "%t", 1, TRUE); 15 15 gfits_modify (header, "NEXTEND", "%d", 1, 1); 16 16 -
trunk/Ohana/src/mosastro/src/getusno.c
r8499 r27435 11 11 StarData *getusno (CatStats *catstats, int *Nstars) { 12 12 13 long int offset;14 int i, bin, first, last, nitems, Nitems,Nbins;13 off_t offset, nitems, Nitems; 14 int i, bin, first, last, Nbins; 15 15 float hours[100]; 16 16 int start[100], number[100], *buffer, *buf; … … 91 91 /* advance file pointer to first slice */ 92 92 offset = 3*sizeof(int)*(start[first] - 1); 93 fseek (f, offset, SEEK_SET);93 fseeko (f, offset, SEEK_SET); 94 94 /* on each loop, load data from an RA slice of the catalog */ 95 95 for (bin = first; bin < last; bin++) { -
trunk/Ohana/src/mosastro/src/getusnob.c
r8499 r27435 5 5 StarData *getusnob (CatStats *catstats, int *Nstars) { 6 6 7 long int offset;8 int i, bin, first, last, nitems, Nitems,Nbins;7 off_t offset, nitems, Nitems; 8 int i, bin, first, last, Nbins; 9 9 float hours[100]; 10 10 int start[100], number[100], *buffer, *buf; … … 76 76 /* advance file pointer to first slice */ 77 77 offset = NELEM*NBYTE*(start[first] - 1); 78 fseek (f, offset, SEEK_SET);78 fseeko (f, offset, SEEK_SET); 79 79 80 80 /* sum the number of stars in data segment of interest */ -
trunk/Ohana/src/mosastro/src/match.c
r16040 r27435 8 8 double dp, dq, radius, Radius; 9 9 double *p, *q, *P, *Q; 10 int *U, *u;10 off_t *U, *u; 11 11 12 12 /* requested radius is in arcsec ; internally radius is in pixels */ … … 17 17 ALLOCATE (P, double, Nrefcat); 18 18 ALLOCATE (Q, double, Nrefcat); 19 ALLOCATE (U, int, Nrefcat);19 ALLOCATE (U, off_t, Nrefcat); 20 20 for (i = 0; i < Nrefcat; i++) { 21 21 U[i] = i; … … 35 35 ALLOCATE (p, double, chip[i].Nstars); 36 36 ALLOCATE (q, double, chip[i].Nstars); 37 ALLOCATE (u, int,chip[i].Nstars);37 ALLOCATE (u, off_t, chip[i].Nstars); 38 38 for (j = 0; j < chip[i].Nstars; j++) { 39 39 u[j] = j; -
trunk/Ohana/src/mosastro/src/output.c
r3466 r27435 41 41 } 42 42 43 fwrite (header[0].buffer, 1, header[0]. size, f);43 fwrite (header[0].buffer, 1, header[0].datasize, f); 44 44 fclose (f); 45 45 } -
trunk/Ohana/src/mosastro/src/rfits.c
r7080 r27435 14 14 exit (1); 15 15 } 16 fseek (f, mychip[0].header.size, SEEK_SET);16 fseeko (f, mychip[0].header.datasize, SEEK_SET); 17 17 18 18 /* init & load in table data */ … … 30 30 } 31 31 32 stars = gfits_table_get_SMPData (&table, &mychip[0].Nstars, NULL); 32 off_t Nstars; 33 stars = gfits_table_get_SMPData (&table, &Nstars, NULL); 34 mychip[0].Nstars = Nstars; 33 35 gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx); 34 36 -
trunk/Ohana/src/mosastro/src/rtext.c
r7080 r27435 12 12 return (FALSE); 13 13 } 14 fseek (f, mychip[0].header.size, SEEK_SET);14 fseeko (f, mychip[0].header.datasize, SEEK_SET); 15 15 16 16 /* find expected number of stars */ -
trunk/Ohana/src/mosastro/src/wfits.c
r7080 r27435 10 10 header[0].Naxes = 0; 11 11 gfits_modify (header, "NAXIS", "%d", 1, 0); 12 gfits_modify (header, "EXTEND", "%t", 1, TRUE);12 gfits_modify_alt (header, "EXTEND", "%t", 1, TRUE); 13 13 gfits_modify (header, "NEXTEND", "%d", 1, 1); 14 14 -
trunk/Ohana/src/mosastro/src/wstars.c
r3520 r27435 16 16 } 17 17 18 fwrite (data[0].header.buffer, 1, data[0].header. size, g);18 fwrite (data[0].header.buffer, 1, data[0].header.datasize, g); 19 19 fwrite (data[0].buffer, 1, data[0].Nbuffer, g); 20 20 fclose (g); … … 34 34 } 35 35 36 fwrite (header[0].buffer, 1, header[0]. size, g);36 fwrite (header[0].buffer, 1, header[0].datasize, g); 37 37 38 38 for (i = 0; i < Nstars; i++) { -
trunk/Ohana/src/opihi/cmd.astro/altaz.c
r17282 r27435 4 4 # define dSIN(A) ((double) sin ((double)RAD_DEG*A)) 5 5 6 int HD_to_AZ(double *alt, double *az, double *rot, double ha, double dec, double lat); 7 int AZ_to_HD(double *ha, double *dec, double *rot, double alt, double az, double lat); 8 6 9 double atan2 (double y, double x); 7 10 8 11 int altaz (int argc, char **argv) { 9 12 13 int i; 10 14 double alt, az, lat, rot; 11 15 double ha, dec; 12 double sind, sinh, cosh;13 16 char *latstr; 17 Vector *hvec, *dvec, *avec, *zvec, *rvec; 18 opihi_flt *Hv, *Dv, *Av, *Zv, *Rv; 14 19 15 if (argc != 6) goto usage; 16 17 if (!strcmp (argv[1], "-h")) goto radec; 18 if (!strcmp (argv[1], "-c")) goto altaz; 19 20 radec: 21 /* ha/dec -> alt/az */ 22 ha = atof (argv[2]); 23 dec = atof (argv[3]); 20 if (argc != 7) goto usage; 21 if (strcasecmp (argv[4], "to")) goto usage; 24 22 25 23 latstr = get_variable ("LATITUDE"); 26 24 if (latstr == (char *) NULL) { 27 25 gprint (GP_ERR, "please define $LATITUDE\n"); 28 return (FALSE);26 return FALSE; 29 27 } 30 28 lat = atof (latstr); 29 gprint (GP_ERR, "using latitude of %f\n", lat); 31 30 free (latstr); 32 31 32 if (!strcmp (argv[1], "-az")) goto radec; 33 if (!strcmp (argv[1], "-hd")) goto altaz; 34 35 radec: 36 if (ISNUM(argv[2][0]) && ISNUM(argv[3][0])) { 37 /* ha/dec -> alt/az */ 38 ha = atof (argv[2]); 39 dec = atof (argv[3]); 40 41 HD_to_AZ (&alt, &az, &rot, ha, dec, lat); 42 43 set_variable (argv[5], alt); 44 set_variable (argv[6], az); 45 set_variable ("ROT", rot); 46 return TRUE; 47 } 48 49 /* find vectors */ 50 if ((hvec = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return FALSE; 51 if ((dvec = SelectVector (argv[3], OLDVECTOR, TRUE)) == NULL) return FALSE; 52 if ((avec = SelectVector (argv[5], ANYVECTOR, TRUE)) == NULL) return FALSE; 53 if ((zvec = SelectVector (argv[6], ANYVECTOR, TRUE)) == NULL) return FALSE; 54 if ((rvec = SelectVector ("ROT", ANYVECTOR, TRUE)) == NULL) return FALSE; 55 56 if (hvec[0].Nelements != dvec[0].Nelements) { 57 gprint (GP_ERR, "vectors %s and %s not the same length\n", argv[2], argv[3]); 58 return FALSE; 59 } 60 61 // cast xvec or yvec to FLT if it is type INT 62 CastVector (hvec, OPIHI_FLT); 63 CastVector (dvec, OPIHI_FLT); 64 ResetVector (avec, OPIHI_FLT, hvec[0].Nelements); 65 ResetVector (zvec, OPIHI_FLT, hvec[0].Nelements); 66 ResetVector (rvec, OPIHI_FLT, hvec[0].Nelements); 67 68 Hv = hvec[0].elements.Flt; 69 Dv = dvec[0].elements.Flt; 70 Av = avec[0].elements.Flt; 71 Zv = zvec[0].elements.Flt; 72 Rv = rvec[0].elements.Flt; 73 74 for (i = 0; i < hvec[0].Nelements; i++, Hv++, Dv++, Av++, Zv++, Rv++) { 75 HD_to_AZ (Av, Zv, Rv, *Hv, *Dv, lat); 76 } 77 return TRUE; 78 79 altaz: 80 if (ISNUM(argv[2][0]) && ISNUM(argv[3][0])) { 81 /* alt/az -> ha/dec */ 82 alt = atof (argv[2]); 83 az = atof (argv[3]); 84 85 AZ_to_HD (&ha, &dec, &rot, alt, az, lat); 86 87 set_variable (argv[5], ha); 88 set_variable (argv[6], dec); 89 set_variable ("ROT", rot); 90 return TRUE; 91 } 92 93 /* find vectors */ 94 if ((avec = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return FALSE; 95 if ((zvec = SelectVector (argv[3], OLDVECTOR, TRUE)) == NULL) return FALSE; 96 if ((hvec = SelectVector (argv[5], ANYVECTOR, TRUE)) == NULL) return FALSE; 97 if ((dvec = SelectVector (argv[6], ANYVECTOR, TRUE)) == NULL) return FALSE; 98 if ((rvec = SelectVector ("ROT", ANYVECTOR, TRUE)) == NULL) return FALSE; 99 100 if (avec[0].Nelements != zvec[0].Nelements) { 101 gprint (GP_ERR, "vectors %s and %s not the same length\n", argv[2], argv[3]); 102 return FALSE; 103 } 104 105 // cast xvec or yvec to FLT if it is type INT 106 CastVector (avec, OPIHI_FLT); 107 CastVector (zvec, OPIHI_FLT); 108 ResetVector (hvec, OPIHI_FLT, avec[0].Nelements); 109 ResetVector (dvec, OPIHI_FLT, avec[0].Nelements); 110 ResetVector (rvec, OPIHI_FLT, avec[0].Nelements); 111 112 Hv = hvec[0].elements.Flt; 113 Dv = dvec[0].elements.Flt; 114 Av = avec[0].elements.Flt; 115 Zv = zvec[0].elements.Flt; 116 Rv = rvec[0].elements.Flt; 117 118 for (i = 0; i < hvec[0].Nelements; i++, Hv++, Dv++, Av++, Zv++, Rv++) { 119 AZ_to_HD (Hv, Dv, Rv, *Av, *Zv, lat); 120 } 121 return TRUE; 122 123 usage: 124 gprint (GP_ERR, "USAGE: altaz -az (ha) (dec) to (alt) (az)\n"); 125 gprint (GP_ERR, "USAGE: altaz -hd (alt) (az) to (ha) (dec)\n"); 126 gprint (GP_ERR, " -hd alt/az to ha/dec, -az ha/dec to alt/az\n"); 127 gprint (GP_ERR, " returned values in variables or vectors provided\n"); 128 return FALSE; 129 } 130 131 int HD_to_AZ(double *alt, double *az, double *rot, double ha, double dec, double lat) { 132 133 double sind, sinh, cosh; 134 33 135 sind = dSIN (dec) * dSIN (lat) + dCOS (dec) * dCOS (ha) * dCOS (lat); 34 alt = DEG_RAD * asin (sind);136 *alt = DEG_RAD * asin (sind); 35 137 36 138 sinh = - dCOS (dec) * dSIN (ha); 37 139 cosh = dSIN (dec) * dCOS (lat) - dCOS (dec) * dCOS (ha) * dSIN (lat); 38 140 39 az = DEG_RAD * atan2 (sinh, cosh); 40 set_variable (argv[4], alt); 41 set_variable (argv[5], az); 141 *az = DEG_RAD * atan2 (sinh, cosh); 142 143 sinh = -dCOS(*az) * dSIN(*alt) * dSIN(ha) * dSIN(lat) + dSIN(*az) * dSIN(*alt) * dCOS(ha) - dSIN(ha) * dCOS(*alt) * dCOS(lat); 144 cosh = -dSIN(*az) * dSIN(ha) * dSIN(lat) - dCOS(*az) * dCOS(ha); 145 *rot = -DEG_RAD * atan2 (sinh, cosh); 146 147 return TRUE; 148 } 42 149 43 sinh = -dCOS(az) * dSIN(alt) * dSIN(ha) * dSIN(lat) + dSIN(az) * dSIN(alt) * dCOS(ha) - dSIN(ha) * dCOS(alt) * dCOS(lat); 44 cosh = -dSIN(az) * dSIN(ha) * dSIN(lat) - dCOS(az) * dCOS(ha); 45 rot = -DEG_RAD * atan2 (sinh, cosh); 46 set_variable ("ROT", rot); 150 int AZ_to_HD(double *ha, double *dec, double *rot, double alt, double az, double lat) { 47 151 48 return (TRUE); 49 50 altaz: 51 /* alt/az -> ha/dec */ 52 alt = atof (argv[4]); 53 az = atof (argv[5]); 54 55 latstr = get_variable ("LATITUDE"); 56 if (latstr == (char *) NULL) { 57 gprint (GP_ERR, "please define $LATITUDE\n"); 58 return (FALSE); 59 } 60 lat = atof (latstr); 61 free (latstr); 152 double sind, sinh, cosh; 62 153 63 154 sind = dSIN (alt) * dSIN (lat) + dCOS (alt) * dCOS (az) * dCOS (lat); 64 dec = DEG_RAD * asin (sind);155 *dec = DEG_RAD * asin (sind); 65 156 66 157 sinh = -dCOS (alt) * dSIN (az); 67 158 cosh = dSIN (alt) * dCOS (lat) - dCOS (alt) * dCOS (az) * dSIN (lat); 68 159 69 ha = DEG_RAD * atan2 (sinh, cosh); 70 set_variable (argv[2], ha); 71 set_variable (argv[3], dec); 160 *ha = DEG_RAD * atan2 (sinh, cosh); 72 161 73 sinh = -dCOS(az) * dSIN(alt) * dSIN(ha) * dSIN(lat) + dSIN(az) * dSIN(alt) * dCOS(ha) - dSIN(ha) * dCOS(alt) * dCOS(lat); 74 cosh = -dSIN(az) * dSIN(ha) * dSIN(lat) - dCOS(az) * dCOS(ha); 75 rot = -DEG_RAD * atan2 (sinh, cosh); 76 set_variable ("ROT", rot); 162 sinh = -dCOS(az) * dSIN(alt) * dSIN(*ha) * dSIN(lat) + dSIN(az) * dSIN(alt) * dCOS(*ha) - dSIN(*ha) * dCOS(alt) * dCOS(lat); 163 cosh = -dSIN(az) * dSIN(*ha) * dSIN(lat) - dCOS(az) * dCOS(*ha); 164 *rot = -DEG_RAD * atan2 (sinh, cosh); 77 165 78 return (TRUE); 79 80 usage: 81 gprint (GP_ERR, "USAGE: altaz -h (ha) (dec) (alt) (az)\n"); 82 gprint (GP_ERR, "USAGE: altaz -c (ha) (dec) (alt) (az)\n"); 83 gprint (GP_ERR, " -h alt/az to ha/dec, -c ha/dec to alt/az\n"); 84 gprint (GP_ERR, " returned values in variables provided\n"); 85 return (FALSE); 86 166 return TRUE; 87 167 } 88 -
trunk/Ohana/src/opihi/cmd.astro/elliprofile.c
r25757 r27435 3 3 int elliprofile (int argc, char **argv) { 4 4 5 int i, ix, iy, Nx, Ny , N, center;5 int i, ix, iy, Nx, Ny; 6 6 float *in; 7 double Rmaj, Rmin, phi , alpha, Io, ARatio;7 double Rmaj, Rmin, phi; 8 8 double root1, root2, R, A1, A2, A3; 9 9 double Sx, Sy, Sxy; 10 double x, y, r, f,Xo, Yo;10 double x, y, Xo, Yo; 11 11 Buffer *buf; 12 12 Vector *rvec, *fvec; -
trunk/Ohana/src/opihi/cmd.astro/galprofiles.c
r25757 r27435 5 5 int galprofiles (int argc, char **argv) { 6 6 7 int i, j,Nx, Ny, N, Nsec, NELEMENTS;7 int i, Nx, Ny, N, Nsec, NELEMENTS; 8 8 float *in; 9 9 double theta, dtheta, x, y, Xo, Yo, r, Rmax, value; -
trunk/Ohana/src/opihi/cmd.astro/galradbins.c
r25757 r27435 12 12 13 13 int i, Nbin; 14 double Rm in, Rmax;14 double Rmax; 15 15 Vector *fvec, *rvec, *Fvec, *Rvec, *Avec; 16 16 -
trunk/Ohana/src/opihi/cmd.astro/galradius.c
r25757 r27435 6 6 int galradius (int argc, char **argv) { 7 7 8 int i, j, N x, Ny, N, Nsec, NELEMENTS, Rbin, Nout, above;9 double theta, dtheta, x, y, Xo, Yo, r, Rmax, Rmin, value;8 int i, j, N, Rbin, Nout, above; 9 double Rmax, Rmin; 10 10 double Fmin, Fmax, dF, Fm, Fp, Fo, Rsum, Rnpt, Ro; 11 11 opihi_flt *flux, *radius, *values; 12 Buffer *buf; 13 Vector *fvec, *rvec, *tvec, *Fvec, *Rvec; 14 char name[128]; 12 Vector *fvec, *rvec, *Fvec, *Rvec; 15 13 16 14 if (argc != 5) { -
trunk/Ohana/src/opihi/cmd.astro/petrosian.c
r25757 r27435 4 4 5 5 int i, above; 6 float *in;7 6 double Fsum, Asum, Area, R_90, rad_90, flux_90; 8 7 Vector *rvec, *avec, *fvec, *Rvec, *Fvec, *Svec, *Avec; … … 40 39 ResetVector (Avec, OPIHI_FLT, fvec[0].Nelements); 41 40 41 R_90 = 0.1; 42 42 above = TRUE; 43 43 Fsum = 0.0; -
trunk/Ohana/src/opihi/cmd.astro/precess.c
r20936 r27435 97 97 opihi_flt *Dv = yvec[0].elements.Flt; 98 98 99 for (i = 0; i < xvec[0].Nelements; i++, Av , Dv) {99 for (i = 0; i < xvec[0].Nelements; i++, Av++, Dv++) { 100 100 A = *Av; 101 101 D = *Dv; -
trunk/Ohana/src/opihi/cmd.astro/region.c
r25757 r27435 3 3 int region (int argc, char **argv) { 4 4 5 char string[256];6 5 double Ra, Dec, Radius; 7 6 float dx, dy; -
trunk/Ohana/src/opihi/cmd.basic/cd.c
r25995 r27435 51 51 } 52 52 53 if ((cwd = getcwd(NULL, 64)) == NULL) {53 if ((cwd = getcwd(NULL, 1024)) == NULL) { 54 54 gprint (GP_ERR, "error getting cwd\n"); 55 55 if (var != NULL) free (var); -
trunk/Ohana/src/opihi/cmd.basic/date.c
r12332 r27435 40 40 set_int_variable (varName, now.tv_sec - REFTIME); 41 41 } else { 42 gprint (GP_ERR, "%d\n", now.tv_sec - REFTIME);42 gprint (GP_ERR, "%d\n", (int) now.tv_sec - REFTIME); 43 43 } 44 44 } else { -
trunk/Ohana/src/opihi/cmd.basic/inthash.c
r25965 r27435 3 3 int inthash (int argc, char **argv) { 4 4 5 int i,N, modulus, value, input;5 int N, modulus, value, input; 6 6 char *varName; 7 7 -
trunk/Ohana/src/opihi/cmd.basic/test/for.sh
r14176 r27435 169 169 $PASS = 1 170 170 171 if ($endmem - $startmem > 10)171 if ($endmem - $startmem > 80) 172 172 $PASS = 0 173 173 echo "growth: {$endmem-$startmem}" -
trunk/Ohana/src/opihi/cmd.data/dbconnect.c
r14590 r27435 47 47 gprint (GP_ERR, "failed to set interactive timout\n"); 48 48 gprint (GP_ERR, "%s\n", mysql_error (connection)); 49 free (query);50 49 return (FALSE); 51 50 } … … 57 56 gprint (GP_ERR, "failed to set wait timout\n"); 58 57 gprint (GP_ERR, "%s\n", mysql_error (connection)); 59 free (query);60 58 return (FALSE); 61 59 } … … 71 69 gprint (GP_ERR, "failed to get timout\n"); 72 70 gprint (GP_ERR, "%s\n", mysql_error (connection)); 73 free (query);74 71 return (FALSE); 75 72 } … … 84 81 gprint (GP_ERR, "failed to get timout\n"); 85 82 gprint (GP_ERR, "%s\n", mysql_error (connection)); 86 free (query);87 83 return (FALSE); 88 84 } -
trunk/Ohana/src/opihi/cmd.data/extract.c
r26884 r27435 70 70 if ((out[0].header.Naxis[1] != Ny) || (out[0].header.Naxis[0] != Nx)) { 71 71 gprint (GP_ERR, "matrix sizes mis-matched\n"); 72 gprint (GP_ERR, "%d x %d vs % d x %d\n", Nx, Ny,73 out[0].header.Naxis[0],out[0].header.Naxis[1]);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]); 74 74 return (FALSE); 75 75 } -
trunk/Ohana/src/opihi/cmd.data/keyword.c
r7917 r27435 107 107 } 108 108 ivalue = !strcasecmp (line, "T"); 109 gfits_modify (&buf[0].header, argv[2], "%t", 1, ivalue);109 gfits_modify_alt (&buf[0].header, argv[2], "%t", 1, ivalue); 110 110 return (TRUE); 111 111 case KEYCOMMENT: 112 gfits_modify (&buf[0].header, argv[2], "%C", 1, line);112 gfits_modify_alt (&buf[0].header, argv[2], "%C", 1, line); 113 113 return (TRUE); 114 114 case COMMENT: 115 gfits_modify (&buf[0].header, argv[2], "%S", 0, line);115 gfits_modify_alt (&buf[0].header, argv[2], "%S", 0, line); 116 116 return (TRUE); 117 117 } … … 135 135 136 136 if (ascomment) { 137 status = gfits_scan (&buf[0].header, argv[2], "%C", 1, line);137 status = gfits_scan_alt (&buf[0].header, argv[2], "%C", 1, line); 138 138 if (!status) goto failure; 139 139 if (argc == 4) -
trunk/Ohana/src/opihi/cmd.data/list_header.c
r7917 r27435 49 49 gfits_modify (&buf[0].header, "BSCALE", "%lf", 1, bscale); 50 50 gfits_modify (&buf[0].header, "BZERO", "%lf", 1, bzero); 51 gfits_modify (&buf[0].header, "UNSIGN", "%t", 1, unsign);51 gfits_modify_alt (&buf[0].header, "UNSIGN", "%t", 1, unsign); 52 52 53 53 } else { -
trunk/Ohana/src/opihi/cmd.data/matrix.c
r26891 r27435 23 23 24 24 if (bufB[0].matrix.Naxis[0] != bufC[0].matrix.Naxis[1]) { 25 gprint (GP_ERR, "size mis-match in matrices: (% d x %d) * (%d x %d)\n",26 bufB[0].matrix.Naxis[0],bufB[0].matrix.Naxis[1],27 bufC[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]); 28 28 return (FALSE); 29 29 } -
trunk/Ohana/src/opihi/cmd.data/rd.c
r20652 r27435 153 153 buf[0].header.Naxes = 0; 154 154 ALLOCATE (buf[0].matrix.buffer, char, 1); 155 buf[0].matrix. size = 0;155 buf[0].matrix.datasize = 0; 156 156 buf[0].bitpix = 16; 157 157 buf[0].bzero = 0; … … 222 222 buf[0].unsign = buf[0].header.unsign; 223 223 224 gprint (GP_LOG, "read % d bytes from %s into buffer %s\n",225 buf[0].header.size + buf[0].matrix.size, argv[2], argv[1]);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]); 226 226 227 227 blank = 0xffff; -
trunk/Ohana/src/opihi/cmd.data/rdseg.c
r20652 r27435 62 62 buf[0].bzero = buf[0].header.bzero; /* store the original values */ 63 63 buf[0].unsign = buf[0].header.unsign; 64 gprint (GP_LOG, "read %d bytes from %s into buffer %s\n", 65 buf[0].header.size + buf[0].matrix.size, argv[2], argv[1]); 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]); 66 65 67 66 gfits_scan (&buf[0].header, "BLANK", "%d", 1, &blank); -
trunk/Ohana/src/opihi/cmd.data/read_vectors.c
r20936 r27435 57 57 return (FALSE); 58 58 } 59 fseek (f, 0, SEEK_SET);59 fseeko (f, 0LL, SEEK_SET); 60 60 61 61 Nvec = (argc - 1) / 2; … … 159 159 int read_table_vectors (int argc, char **argv, char *extname) { 160 160 161 int i, j, k, N, Nbytes, Nextend, Ny, Binary, vecType; 161 off_t Nbytes; 162 int i, j, k, N, Nextend, Ny, Binary, vecType; 162 163 char type[16], ID[80], *CCDKeyword; 163 164 FTable table; … … 184 185 185 186 if (f == NULL) ESCAPE ("file not found"); 186 fseek (f, 0, SEEK_SET);187 fseeko (f, 0LL, SEEK_SET); 187 188 table.header = &header; 188 189 … … 193 194 if (!gfits_load_header (f, &header)) ESCAPE ("error reading primary header for file"); 194 195 Nbytes = gfits_data_size (&header); 195 fseek (f, Nbytes, SEEK_CUR);196 fseeko (f, Nbytes, SEEK_CUR); 196 197 gfits_free_header (&header); 197 198 … … 200 201 Nbytes = gfits_data_size (&header); 201 202 /* skip the prior data buffers */ 202 fseek (f, Nbytes, SEEK_CUR);203 fseeko (f, Nbytes, SEEK_CUR); 203 204 gfits_free_header (&header); 204 205 } … … 215 216 216 217 while (1) { 217 if (!gfits_load_header (f, &header)) ESCAPE ("extensio not found in file");218 if (!gfits_load_header (f, &header)) ESCAPE ("extension not found in file"); 218 219 Nbytes = gfits_data_size (&header); 219 220 220 221 if (!gfits_scan (&header, CCDKeyword, "%s", 1, ID)) { 221 fseek (f, Nbytes, SEEK_CUR);222 fseeko (f, Nbytes, SEEK_CUR); 222 223 gfits_free_header (&header); 223 224 continue; 224 225 } 225 226 if (strcmp (ID, extname)) { 226 fseek (f, Nbytes, SEEK_CUR);227 fseeko (f, Nbytes, SEEK_CUR); 227 228 gfits_free_header (&header); 228 229 continue; -
trunk/Ohana/src/opihi/cmd.data/rebin.c
r21064 r27435 63 63 } 64 64 } 65 if (VERBOSE) gprint (GP_LOG, "rebin %s to %s (% d,%d to %d,%d)\n", argv[1], argv[2], in[0].header.Naxis[0],in[0].header.Naxis[1], nx, ny);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); 66 66 67 67 Nx = in[0].header.Naxis[0]; -
trunk/Ohana/src/opihi/cmd.data/relocate.c
r25757 r27435 3 3 int relocate (int argc, char **argv) { 4 4 5 char *end;6 5 int x, y; 7 6 int N, kapa; -
trunk/Ohana/src/opihi/cmd.data/rotate.c
r25584 r27435 43 43 gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY); 44 44 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX); 45 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");45 gfits_print_alt (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 46 46 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 47 47 out_buff = (float *)buf[0].matrix.buffer; … … 82 82 gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY); 83 83 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX); 84 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");84 gfits_print_alt (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 85 85 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 86 86 out_buff = (float *)buf[0].matrix.buffer; … … 120 120 121 121 if (!strcasecmp (argv[2], "UPSIDE") || (atof (argv[2]) == -180) || (atof (argv[2]) == 180)) { 122 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");122 gfits_print_alt (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 123 123 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 124 124 out_buff = (float *)buf[0].matrix.buffer; … … 155 155 156 156 if (!strcasecmp (argv[2], "FLIPY")) { 157 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");157 gfits_print_alt (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 158 158 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 159 159 out_buff = (float *)buf[0].matrix.buffer; … … 190 190 191 191 if (!strcasecmp (argv[2], "FLIPX")) { 192 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");192 gfits_print_alt (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 193 193 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 194 194 out_buff = (float *)buf[0].matrix.buffer; … … 272 272 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, Ly); 273 273 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 274 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");274 gfits_print_alt (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 275 275 out_buff = (float *)buf[0].matrix.buffer; 276 276 for (j = 0; j < Ly; j++) { -
trunk/Ohana/src/opihi/cmd.data/test/dimendown.sh
r16056 r27435 42 42 $startmem = $word:1 43 43 44 for i 0 1000 44 for i 0 10000 45 45 dimendown timg val 46 46 dimendown timg xc -x … … 53 53 $PASS = 1 54 54 55 if ($endmem - $startmem > 1 0)55 if ($endmem - $startmem > 128) 56 56 $PASS = 0 57 57 echo "growth: {$endmem-$startmem}" -
trunk/Ohana/src/opihi/cmd.data/test/integrate.sh
r16056 r27435 40 40 $PASS = 1 41 41 42 if ($endmem - $startmem > 1 0)42 if ($endmem - $startmem > 128) 43 43 $PASS = 0 44 44 echo "growth: {$endmem-$startmem}" -
trunk/Ohana/src/opihi/cmd.data/test/interpolate.sh
r16056 r27435 41 41 $PASS = 1 42 42 43 if ($endmem - $startmem > 1 0)43 if ($endmem - $startmem > 128) 44 44 $PASS = 0 45 45 echo "growth: {$endmem-$startmem}" -
trunk/Ohana/src/opihi/cmd.data/test/periodogram.sh
r16465 r27435 136 136 $PASS = 1 137 137 138 if ($endmem - $startmem > 1 0)138 if ($endmem - $startmem > 180) 139 139 $PASS = 0 140 140 echo "growth: {$endmem-$startmem}" -
trunk/Ohana/src/opihi/cmd.data/wd.c
r20652 r27435 75 75 /* save the (float) version, write out a temporary buffer */ 76 76 temp_matrix = buf[0].matrix; 77 ALLOCATE (temp_matrix.buffer, char, MAX(1, temp_matrix. size));78 memcpy (temp_matrix.buffer, buf[0].matrix.buffer, temp_matrix. size);77 ALLOCATE (temp_matrix.buffer, char, MAX(1, temp_matrix.datasize)); 78 memcpy (temp_matrix.buffer, buf[0].matrix.buffer, temp_matrix.datasize); 79 79 temp_header = buf[0].header; 80 ALLOCATE (temp_header.buffer, char, MAX(1, temp_header. size));81 memcpy (temp_header.buffer, buf[0].header.buffer, temp_header. size);80 ALLOCATE (temp_header.buffer, char, MAX(1, temp_header.datasize)); 81 memcpy (temp_header.buffer, buf[0].header.buffer, temp_header.datasize); 82 82 83 83 if (temp_header.Naxes) { … … 88 88 gfits_modify (&temp_header, "BSCALE", "%lf", 1, outScale); 89 89 gfits_modify (&temp_header, "BZERO", "%lf", 1, outZero); 90 gfits_modify (&temp_header, "UNSIGN", "%t", 1, outUnsign);90 gfits_modify_alt (&temp_header, "UNSIGN", "%t", 1, outUnsign); 91 91 } 92 92 … … 94 94 Header Xhead; 95 95 FILE *f; 96 off_t nbytes; 96 97 int status, Nextend; 97 98 … … 109 110 } 110 111 111 gfits_modify (&Xhead, "EXTEND", "%t", 1, TRUE);112 gfits_modify_alt (&Xhead, "EXTEND", "%t", 1, TRUE); 112 113 113 114 Nextend = 0; … … 125 126 126 127 /* position to begining of file to write header */ 127 fseek (f, 0, SEEK_SET);128 status = fwrite (Xhead.buffer, 1, Xhead.size, f);129 if ( status != Xhead.size) {128 fseeko (f, 0LL, SEEK_SET); 129 nbytes = fwrite (Xhead.buffer, 1, Xhead.datasize, f); 130 if (nbytes != Xhead.datasize) { 130 131 gprint (GP_ERR, "ERROR: failed writing data to image header\n"); 131 132 status = FALSE; … … 144 145 145 146 /* position to end of file to write new extend */ 146 fseek (f, 0, SEEK_END);147 status = fwrite (temp_header.buffer, 1, temp_header.size, f);147 fseeko (f, 0LL, SEEK_END); 148 nbytes = fwrite (temp_header.buffer, 1, temp_header.datasize, f); 148 149 fclose (f); 149 if ( status != temp_header.size) {150 if (nbytes != temp_header.datasize) { 150 151 gprint (GP_ERR, "failed to write file\n"); 151 152 status = FALSE; -
trunk/Ohana/src/opihi/dvo/ImageOps.c
r19823 r27435 1 1 # include "dvoshell.h" 2 2 3 void image_subset (Image *image, int Nimage, int **Subset, int *Nsubset,3 void image_subset (Image *image, off_t Nimage, off_t **Subset, off_t *Nsubset, 4 4 SkyRegionSelection *selection, 5 5 unsigned long int tzero, double trange, int TimeSelect) 6 6 { 7 7 8 int i,j, flipped, status, InPic;9 int*subset;10 int N, n,npts;8 int j, flipped, status, InPic; 9 off_t i, n, *subset; 10 int npts; 11 11 double r, d, X, Y, x[4], y[4], Rmin, Rmax, Rmid; 12 12 Graphdata graph; … … 44 44 45 45 npts = 200; 46 ALLOCATE (subset, int, npts);47 n = N =0;46 ALLOCATE (subset, off_t, npts); 47 n = 0; 48 48 for (i = 0; i < Nimage; i++) { 49 49 if (TimeSelect && ((image[i].tzero < tzero) || (image[i].tzero+image[i].trate*image[i].NY > tzero + trange))) continue; … … 114 114 if (n > npts - 1) { 115 115 npts += 200; 116 REALLOCATE (subset, int, npts);116 REALLOCATE (subset, off_t, npts); 117 117 } 118 118 } 119 119 120 REALLOCATE (subset, int, MAX (n, 1));120 REALLOCATE (subset, off_t, MAX (n, 1)); 121 121 *Subset = subset; 122 122 *Nsubset = n; -
trunk/Ohana/src/opihi/dvo/ImageSelection.c
r14590 r27435 3 3 /* db image table */ 4 4 static Image *image = NULL; 5 static int *subset = NULL;6 static int Nimage = 0;7 static int Nsubset = 0;5 static off_t *subset = NULL; 6 static off_t Nimage = 0; 7 static off_t Nsubset = 0; 8 8 static Coords mosaic; 9 9 -
trunk/Ohana/src/opihi/dvo/LoadImages.c
r15752 r27435 1 1 # include "dvoshell.h" 2 2 3 Image *LoadImages ( int *nimage) {3 Image *LoadImages (off_t *Nimage) { 4 4 5 5 int status; … … 25 25 gprint (GP_ERR, "note: image catalog is empty\n"); 26 26 ALLOCATE (image, Image, 1); 27 * nimage = 1;27 *Nimage = 1; 28 28 return (image); 29 29 } … … 37 37 } 38 38 39 image = gfits_table_get_Image (&db.ftable, nimage, &db.swapped);39 image = gfits_table_get_Image (&db.ftable, Nimage, &db.swapped); 40 40 return (image); 41 41 } -
trunk/Ohana/src/opihi/dvo/Makefile
r25757 r27435 26 26 $(SRC)/compare.$(ARCH).o \ 27 27 $(SRC)/match_image.$(ARCH).o \ 28 $(SRC)/photometry.$(ARCH).o \29 28 $(SRC)/dvomisc.$(ARCH).o \ 30 29 $(SRC)/region_list.$(ARCH).o \ 30 $(SRC)/photometry.$(ARCH).o \ 31 31 $(SRC)/dbBooleanCond.$(ARCH).o \ 32 32 $(SRC)/dbCheckStack.$(ARCH).o \ -
trunk/Ohana/src/opihi/dvo/aregion.c
r19823 r27435 44 44 NLINES += NDecLines[i]; 45 45 } 46 fseek (f, 5*2880 + 48*NLINES, SEEK_SET);46 fseeko (f, 5*2880 + 48*NLINES, SEEK_SET); 47 47 48 48 done = FALSE; -
trunk/Ohana/src/opihi/dvo/avextract.c
r24233 r27435 3 3 int avextract (int argc, char **argv) { 4 4 5 int i, j, n, m, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 5 off_t i, j, n, m; 6 int N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 6 7 int Nsecfilt, mode, VERBOSE; 7 8 char **cstack, name[1024]; … … 79 80 80 81 /* create output storage vectors */ 82 Npts = 0; 83 NPTS = 100; 81 84 ALLOCATE (values, dbValue, Nfields); 82 85 ALLOCATE (vec, Vector *, Nreturn); … … 90 93 ResetVector (vec[i], fields[i].type, NPTS); 91 94 } 92 93 Npts = 0;94 NPTS = 1;95 95 96 96 // grab data from all selected sky regions … … 103 103 catalog.Nsecfilt = 0; 104 104 105 if (VERBOSE) gprint (GP_ERR, "trying %s (% d of %d)\n", catalog.filename, i,skylist[0].Nregions);105 if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions); 106 106 107 107 // an error exit status here is a significant error -
trunk/Ohana/src/opihi/dvo/badimages.c
r7917 r27435 8 8 int badimages (int argc, char **argv) { 9 9 10 int i, Nimage, entry, First, Cross; 10 off_t i, Nimage; 11 int entry, First, Cross; 11 12 float *ptr; 12 13 double nominal, big, small, value; … … 38 39 ptr = &image[entry].coords.crpix1; 39 40 for (i = 0; i < 22; i++) { 40 gprint (GP_LOG, "%2 d: %g\n",i, ptr[i]);41 gprint (GP_LOG, "%2lld: %g\n", (long long) i, ptr[i]); 41 42 } 42 43 value = image[entry].coords.pc1_1*image[entry].coords.pc2_2 + image[entry].coords.pc1_2*image[entry].coords.pc2_1; … … 57 58 value = image[i].coords.pc1_1*image[i].coords.pc2_2 + image[i].coords.pc1_2*image[i].coords.pc2_1; 58 59 if ((value > big) || (value < small)) { 59 gprint (GP_LOG, "%5 d %s: %d %g\n",i, image[i].name, image[i].tzero, value);60 gprint (GP_LOG, "%5lld %s: %d %g\n", (long long) i, image[i].name, image[i].tzero, value); 60 61 } 61 62 } … … 64 65 ptr = &image[i].coords.crpix1; 65 66 if ((ptr[entry] > big) || (ptr[entry] < small)) { 66 gprint (GP_LOG, "%5 d %s: %d %g\n",i, image[i].name, image[i].tzero, ptr[entry]);67 gprint (GP_LOG, "%5lld %s: %d %g\n", (long long) i, image[i].name, image[i].tzero, ptr[entry]); 67 68 } 68 69 } -
trunk/Ohana/src/opihi/dvo/calextract.c
r15509 r27435 5 5 int calextract (int argc, char **argv) { 6 6 7 int i, N, Nr, mode[2];8 int Nsecfilt, NSTAR ;7 off_t i, Nr; 8 int Nsecfilt, NSTAR, N, mode[2]; 9 9 10 10 PhotCode *code[2]; -
trunk/Ohana/src/opihi/dvo/calmextract.c
r20936 r27435 6 6 int calmextract (int argc, char **argv) { 7 7 8 int i, k, N, Nr, mode[2];9 int NSTAR, Nstar, Nsecfilt ;8 off_t i, k, Nr; 9 int NSTAR, Nstar, Nsecfilt, N, mode[2]; 10 10 11 11 Catalog catalog; … … 169 169 int ConcatMeasures (Vector *vec, PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int Nin, int param) { 170 170 171 int i, Ns, N; 171 off_t i, N; 172 int Ns; 172 173 double *value; 173 174 -
trunk/Ohana/src/opihi/dvo/ccd.c
r20936 r27435 4 4 5 5 double *M1, *M2; 6 int i, m, k, Npts, NPTS, N; 7 int N1, N2, i1, i2, mode[4]; 6 off_t i, m, k, N1, N2, i1, i2; 7 int Npts, NPTS, N; 8 int mode[4]; 8 9 int Nsecfilt, KeepNulls; 9 10 void *Signal; -
trunk/Ohana/src/opihi/dvo/cmatch.c
r12332 r27435 37 37 } 38 38 dvo_catalog_unlock (&catalog1); 39 gprint (GP_ERR, "read % d stars from phot catalog file %s\n",catalog1.Naverage, filename);39 gprint (GP_ERR, "read %lld stars from phot catalog file %s\n", (long long) catalog1.Naverage, filename); 40 40 41 41 /* this is for loading from a text file, presumably hstgsc or usno -
trunk/Ohana/src/opihi/dvo/cmd.c
r20936 r27435 4 4 5 5 double *M1, *M3; 6 int i, j, m, i1, i3, N1, N3, N; 6 off_t i, j, m, N1, N3, i1, i3; 7 int N; 7 8 int Npts, NPTS, mode[3]; 8 9 int Nsecfilt, KeepNulls; -
trunk/Ohana/src/opihi/dvo/cmpReadFile.c
r12840 r27435 4 4 # define BLOCK 1000 5 5 6 CMPstars *cmpReadFits (FILE *f, int *nstars) {6 CMPstars *cmpReadFits (FILE *f, off_t *nstars) { 7 7 8 int i, Nstars;8 off_t i, Nstars; 9 9 Header theader; 10 10 FTable table; … … 44 44 } 45 45 46 CMPstars *cmpReadText (FILE *f, int *nstars) {46 CMPstars *cmpReadText (FILE *f, off_t *nstars) { 47 47 48 int j, N, Nextra, Ninstar, Nskip, Nbytes, nbytes; 48 off_t N; 49 int j, Nextra, Ninstar, Nskip, Nbytes, nbytes; 49 50 int done; 50 51 char *buffer, *c, *c2; -
trunk/Ohana/src/opihi/dvo/cmpload.c
r13479 r27435 56 56 return (FALSE); 57 57 } 58 fseek (f, header.size, SEEK_SET);58 fseeko (f, header.datasize, SEEK_SET); 59 59 60 60 Noverlay = 0; -
trunk/Ohana/src/opihi/dvo/cmpread.c
r20936 r27435 6 6 int cmpread (int argc, char **argv) { 7 7 8 int i, field, Naxis, Nbytes, Nstars; 8 off_t i, Nbytes, Nstars; 9 int field, Naxis; 9 10 double tR, tD; 10 11 float value; … … 61 62 return (FALSE); 62 63 } 63 fseek (f, header.size, SEEK_SET);64 fseeko (f, header.datasize, SEEK_SET); 64 65 65 66 /* find expected number of stars */ 66 if (!gfits_scan (&header, "NSTARS", "% d", 1,&Nstars)) {67 if (!gfits_scan (&header, "NSTARS", "%lld", 1, (long long *) &Nstars)) { 67 68 gprint (GP_ERR, "ERROR: can't get NSTARS from header\n"); 68 69 gfits_free_header (&header); … … 76 77 /* allocate space for stars */ 77 78 gprint (GP_ERR, "reading from TEXT cmp file %s\n", argv[2]); 78 if (!gfits_scan (&header, "NSTARS", "% d", 1,&Nstars)) {79 if (!gfits_scan (&header, "NSTARS", "%lld", 1, (long long *) &Nstars)) { 79 80 gprint (GP_ERR, "ERROR: failed to find NSTARS\n"); 80 81 exit (1); … … 84 85 gprint (GP_ERR, "reading from FITS cmp file %s\n", argv[2]); 85 86 Nbytes = gfits_data_size (&header); 86 fseek (f, Nbytes, SEEK_CUR);87 fseeko (f, Nbytes, SEEK_CUR); 87 88 stars = cmpReadFits (f, &Nstars); 88 89 } … … 138 139 free (stars); 139 140 gfits_free_header (&header); 140 gprint (GP_ERR, "loaded % d objects\n",Nstars);141 gprint (GP_ERR, "loaded %lld objects\n", (long long) Nstars); 141 142 return (TRUE); 142 143 } -
trunk/Ohana/src/opihi/dvo/compare.c
r20936 r27435 5 5 Vector *rvec, Vector *dvec, Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius) { 6 6 7 int i, j, first_j, Nmatch, NMATCH;7 off_t i, j, first_j, Nmatch, NMATCH; 8 8 double dX, dY, dR; 9 9 -
trunk/Ohana/src/opihi/dvo/dbExtractAverages.c
r21508 r27435 42 42 dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) { 43 43 44 int i, Nsec; 44 off_t i; 45 int Nsec; 45 46 dbValue value; 46 47 -
trunk/Ohana/src/opihi/dvo/dbExtractImages.c
r21508 r27435 54 54 55 55 /* return image.field based on the selection */ 56 dbValue dbExtractImages (Image *image, int Nimage, int N, dbField *field) {56 dbValue dbExtractImages (Image *image, off_t Nimage, off_t N, dbField *field) { 57 57 58 58 double x, y; -
trunk/Ohana/src/opihi/dvo/detrend.c
r20936 r27435 7 7 8 8 FILE *f; 9 int i, Nimage, status, N, TimeSelect; 9 off_t i, Nimage, status; 10 int N, TimeSelect; 10 11 char DataBase[256]; 11 12 time_t tzero, tend; … … 133 134 return (FALSE); 134 135 } 135 fseek (f, header.size, SEEK_SET);136 fseeko (f, header.datasize, SEEK_SET); 136 137 137 138 /* load existing data from database */ 138 gfits_scan (&header, "NIMAGES", "% d", 1,&Nimage);139 gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage); 139 140 ALLOCATE (pimage, RegImage, Nimage); 140 141 status = fread (pimage, sizeof(RegImage), Nimage, f); … … 142 143 143 144 if (status != Nimage) { 144 gprint (GP_ERR, "ERROR: header and data in dB don't match (% d vs %d)\n", Nimage,status);145 gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status); 145 146 gfits_free_header (&header); 146 147 free (pimage); -
trunk/Ohana/src/opihi/dvo/dmt.c
r14590 r27435 10 10 # if (0) 11 11 12 int i, m, k, N, kapa, SaveVectors; 13 int Nsec, Nsecfilt, NPTS; 12 int kapa, SaveVectors; 13 int Nsec, Nsecfilt; 14 off_t i, m, k, N, NPTS; 14 15 double Radius; 15 16 float dt1, dt2, dmt1, dmt2; -
trunk/Ohana/src/opihi/dvo/dvomisc.c
r16040 r27435 1 1 # include "dvoshell.h" 2 2 3 void cprecess (Average *average, int Naverage, double in_epoch, double out_epoch) {3 void cprecess (Average *average, off_t Naverage, double in_epoch, double out_epoch) { 4 4 5 int i;5 off_t i; 6 6 double T; 7 7 double A, D, RA, DEC, zeta, z, theta; -
trunk/Ohana/src/opihi/dvo/elixir.c
r7917 r27435 73 73 74 74 /* write message to end of file */ 75 fseek (f, 0, SEEK_END);75 fseeko (f, 0LL, SEEK_END); 76 76 fprintf (f, "%s\n", message); 77 77 -
trunk/Ohana/src/opihi/dvo/find_regions.c
r19823 r27435 13 13 double RA0, RA1, DEC0, DEC1; 14 14 int i, j, NBigDec; 15 int NLINES, done, NREGIONS, nregion; 15 int done, NREGIONS, nregion; 16 off_t NLINES; 16 17 17 18 VarConfig ("GSCFILE", "%s", filename); … … 91 92 NLINES += NDecLines[i]; 92 93 } 93 fseek (f, 5*2880 + 48*NLINES, SEEK_SET);94 fseeko (f, 5*2880 + 48*NLINES, SEEK_SET); 94 95 95 96 /* should be in this section. if not, there is a problem counting... */ … … 140 141 NLINES += NDecLines[i]; 141 142 } 142 fseek (f, 5*2880 + 48*NLINES, SEEK_SET);143 fseeko (f, 5*2880 + 48*NLINES, SEEK_SET); 143 144 done = FALSE; 144 145 j = 12; -
trunk/Ohana/src/opihi/dvo/fitcolors.c
r20936 r27435 10 10 11 11 int *list, Nlist; 12 int i, k, m, N, NP1, NP2, NP, Np, Npts, NPTS; 13 int N1, N2, i1, i2, mode[4]; 12 off_t i, k, m, N1, N2, i1, i2; 13 int N, NP1, NP2, NP, Np, Npts, NPTS; 14 int mode[4]; 14 15 int Nsecfilt, status; 15 16 void *oldsignal; … … 173 174 // the selection criteria 174 175 } 175 gprint (GP_ERR, "using % d possible regions\n",skylist[0].Nregions);176 gprint (GP_ERR, "using %lld possible regions\n", (long long) skylist[0].Nregions); 176 177 177 178 /* vectors to save data */ -
trunk/Ohana/src/opihi/dvo/fitsed.c
r16810 r27435 24 24 25 25 int *hashcode; 26 int i, j, k, m, N, done, Nfit; 26 off_t i, j, k, m; 27 int N, done, Nfit; 27 28 int Nsecfilt, status; 28 29 void *oldsignal; … … 184 185 /* loop over regions, extract data for each region */ 185 186 // XXX add interrupt checks 186 gprint (GP_ERR, "using % d possible regions\n",skylist[0].Nregions);187 gprint (GP_ERR, "using %lld possible regions\n", (long long) skylist[0].Nregions); 187 188 for (k = 0; k < skylist[0].Nregions; k++) { 188 189 /* lock, load, unlock catalog */ -
trunk/Ohana/src/opihi/dvo/gimages.c
r27024 r27435 5 5 int gimages (int argc, char **argv) { 6 6 7 int i, j, N, Nimage, Nfound, *subset, Nsubset, status; 7 off_t i, j, Nimage, *subset, Nsubset; 8 int N, Nfound, status; 8 9 double ra, dec, Ra, Dec, X, Y, Yo; 9 10 double trange, t; … … 114 115 { 115 116 Coords local; 116 double Ro, Do, Xo, Yo, Xs, Ys, Xe, Ye,Radius;117 double Ro, Do, Xo, Yo, Xs, Ys, Radius; 117 118 118 119 if (typehash == DistortImage) { -
trunk/Ohana/src/opihi/dvo/gstar.c
r23664 r27435 11 11 double Mcat, Mrel; 12 12 double *RA, *DEC; 13 int i, j, k, m, N, *N1, Nsecfilt, NPTS, QUIET, FULL_OUTPUT, INST; 14 int Nstars, found, GetMeasures, Nlo, Nhi; 13 off_t i, Nstars, *N1; 14 off_t j, k, m, N, Nlo, Nhi; 15 int Nsecfilt, NPTS, QUIET, FULL_OUTPUT, INST; 16 int found, GetMeasures; 15 17 int SaveVectors; 16 18 Vector *vec1, *vec2, *vec3, *vec4, *vec5, *vec6; … … 102 104 ALLOCATE (RA, double, Nstars); 103 105 ALLOCATE (DEC, double, Nstars); 104 ALLOCATE (N1, int, Nstars);106 ALLOCATE (N1, off_t, Nstars); 105 107 106 108 /* find star(s) in RA, DEC list -- use a dumb algorithm for now, improve later */ … … 157 159 k = N1[i]; 158 160 if (!QUIET) { 159 gprint (GP_LOG, "star: % d\n",k);161 gprint (GP_LOG, "star: %lld\n", (long long) k); 160 162 gprint (GP_LOG, "%11.7f ", catalog.average[k].R); 161 163 gprint (GP_LOG, "%11.7f ", catalog.average[k].D); -
trunk/Ohana/src/opihi/dvo/images.c
r20936 r27435 11 11 int images (int argc, char **argv) { 12 12 13 int i, j, Nimage, status, InPic, leftside, *plist, TimeSelect, ByName; 13 off_t i, Nimage; 14 int j, status, InPic, leftside, *plist, TimeSelect, ByName; 14 15 int WITH_MOSAIC, SOLO_MOSAIC, HIDDEN; 15 16 time_t tzero, tend; -
trunk/Ohana/src/opihi/dvo/imbox.c
r25757 r27435 1 1 # include "dvoshell.h" 2 2 3 // LARGEFILES: this function is currently limited to images with Nx,Ny each < 2^31 3 4 int imbox (int argc, char **argv) { 4 5 5 int j, kapa, Nskip, status, InPic, flipped, N, haveNx, haveNy, Nx, Ny, SOLO_PHU, Npts, NPTS; 6 off_t Nskip; 7 int j, kapa, status, InPic, flipped, N, haveNx, haveNy, Nx, Ny, SOLO_PHU, Npts, NPTS; 6 8 Vector Xvec, Yvec; 7 9 double r, d, x[4], y[4], Rmin, Rmax, Rmid; … … 112 114 skip: 113 115 Nskip = gfits_data_size (&header); 114 fseek (f, Nskip, SEEK_CUR);116 fseeko (f, Nskip, SEEK_CUR); 115 117 gfits_free_header (&header); 116 118 } -
trunk/Ohana/src/opihi/dvo/imdata.c
r20936 r27435 3 3 int imdata (int argc, char **argv) { 4 4 5 int i, j, k, I;6 int N image, N, NPTS, found, mode, TimeSelect;7 int n, Nregions, NREGIONS, TimeFormat;8 int *subset, Nsubset;5 off_t i, j, k, n, I; 6 int N, NPTS, found, mode, TimeSelect, TimeFormat; 7 off_t Nregions, NREGIONS; 8 off_t *subset, Nsubset, Nimage; 9 9 double trange; 10 10 time_t tzero, start, stop, TimeReference; -
trunk/Ohana/src/opihi/dvo/imdense.c
r20936 r27435 5 5 6 6 long A, B; 7 int i, kapa, N, Nimage, status, NPTS; 7 off_t i, Nimage; 8 int kapa, N, status, NPTS; 8 9 double r, d, x, y, Rmin, Rmax; 9 10 Vector Xvec, Yvec; -
trunk/Ohana/src/opihi/dvo/imextract.c
r20936 r27435 3 3 int imextract (int argc, char **argv) { 4 4 5 // int *subset, Nsubset; -- not sure if we need to use this or not... 6 7 int i, j, n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 8 int Nimage, VERBOSE; 5 off_t i, j, Nimage; 6 int n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 7 int VERBOSE; 9 8 char **cstack, name[1024]; 10 9 void *Signal; … … 73 72 74 73 /* create output storage vectors */ 74 Npts = 0; 75 NPTS = 100; 75 76 ALLOCATE (values, dbValue, Nfields); 76 77 ALLOCATE (vec, Vector *, Nreturn); … … 84 85 ResetVector (vec[i], fields[i].type, NPTS); 85 86 } 86 87 Npts = 0;88 NPTS = 1;89 87 90 88 if ((image = LoadImages (&Nimage)) == NULL) goto escape; -
trunk/Ohana/src/opihi/dvo/imlist.c
r17248 r27435 3 3 int imlist (int argc, char **argv) { 4 4 5 int i, j, N, Nimage, *subset, Nsubset, TimeSelect, RegionSelect, TimeFormat, NameSelect; 5 off_t i, j, Nimage, *subset, Nsubset; 6 int N, TimeSelect, RegionSelect, TimeFormat, NameSelect; 6 7 int PhotcodeSelect; 7 8 time_t tzero, TimeReference; … … 103 104 XY_to_RD (&r, &d, 0.5*image[i].NX, 0.5*image[i].NY, &image[i].coords); 104 105 } 105 gprint (GP_LOG, "%3 d %s %8.4f %8.4f %f %5d %2d %4.2f %5.3f %5.3f\n",106 i, image[i].name, r, d, t, image[i].nstar, image[i].photcode, image[i].secz, image[i].Mcal, image[i].dMcal);106 gprint (GP_LOG, "%3lld %s %8.4f %8.4f %f %5d %2d %4.2f %5.3f %5.3f\n", 107 (long long) i, image[i].name, r, d, t, image[i].nstar, image[i].photcode, image[i].secz, image[i].Mcal, image[i].dMcal); 107 108 } 108 109 -
trunk/Ohana/src/opihi/dvo/imphot.c
r14590 r27435 6 6 double trange; 7 7 int N, GreyScale; 8 int i, j, Nimage, Nsubset, *subset;8 off_t i, j, Nimage, Nsubset, *subset; 9 9 char bufname[64]; 10 10 float *p; -
trunk/Ohana/src/opihi/dvo/imrough.c
r20936 r27435 1 1 # include "dvoshell.h" 2 RegImage *load_imreg (char *DataBase, int *nimage);2 RegImage *load_imreg (char *DataBase, off_t *nimage); 3 3 4 4 # define NVALUE 22 … … 8 8 int imrough (int argc, char **argv) { 9 9 10 int i, N, Nimage, TimeSelect; 10 off_t i, Nimage; 11 int N, TimeSelect; 11 12 int ModeSelect, TypeSelect, CCDSelect, FilterSelect, TimeFormat; 12 13 int type, value, mode, CCD, NVEC; … … 231 232 } 232 233 233 RegImage *load_imreg (char *DataBase, int *nimage) { 234 235 int Nimage, status; 234 RegImage *load_imreg (char *DataBase, off_t *nimage) { 235 236 off_t Nimage; 237 int status; 236 238 char line[80]; 237 239 FILE *f; … … 262 264 if (!strcmp (line, "MDM Observatory")) { 263 265 264 fseek (f, header.size, SEEK_SET);266 fseeko (f, header.datasize, SEEK_SET); 265 267 266 268 /* load existing data from database */ 267 gfits_scan (&header, "NIMAGES", "% d", 1,&Nimage);269 gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage); 268 270 ALLOCATE (image, RegImage, Nimage); 269 271 status = fread (image, sizeof(RegImage), Nimage, f); … … 271 273 272 274 if (status != Nimage) { 273 gprint (GP_ERR, "ERROR: header and data in dB don't match (% d vs %d)\n",Nimage, status);275 gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %d)\n", (long long) Nimage, status); 274 276 gfits_free_header (&header); 275 277 free (image); … … 302 304 /* convert to internal format */ 303 305 image = (RegImage *) table.buffer; 304 gfits_scan (table.header, "NAXIS2", "% d", 1,&Nimage);306 gfits_scan (table.header, "NAXIS2", "%lld", 1, (long long *) &Nimage); 305 307 gfits_convert_RegImage (image, sizeof (RegImage), Nimage); 306 308 -
trunk/Ohana/src/opihi/dvo/imsearch.c
r14590 r27435 7 7 Header header; 8 8 RegImage *pimage; 9 int i, Nimage, status, N, TimeSelect, SaveNames; 9 off_t i, Nimage, status; 10 int N, TimeSelect, SaveNames; 10 11 int ModeSelect, TypeSelect, CCDSelect, FilterSelect; 11 12 char *Filter, *obstime; … … 102 103 return (FALSE); 103 104 } 104 fseek (f, header.size, SEEK_SET);105 fseeko (f, header.datasize, SEEK_SET); 105 106 106 107 /* load existing data from database */ 107 gfits_scan (&header, "NIMAGES", "% d", 1,&Nimage);108 gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage); 108 109 ALLOCATE (pimage, RegImage, Nimage); 109 110 status = fread (pimage, sizeof(RegImage), Nimage, f); 110 111 fclose (f); 111 112 if (status != Nimage) { 112 gprint (GP_ERR, "ERROR: header and data in dB don't match (% d vs %d)\n", Nimage,status);113 gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status); 113 114 gfits_free_header (&header); 114 115 free (pimage); … … 130 131 obstime[strlen(obstime)-1] = 0; 131 132 132 gprint (GP_LOG, "%5 d %6s %6s %2d %2d ",i, get_type_name(pimage[i].type), get_mode_name(pimage[i].mode), pimage[i].ccd, pimage[i].type);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 134 gprint (GP_LOG, "%s %s ", pimage[i].pathname, pimage[i].filename); 134 135 gprint (GP_LOG, "%s %s %f %s\n", pimage[i].filter, pimage[i].instrument, pimage[i].exptime, obstime); -
trunk/Ohana/src/opihi/dvo/imstats.c
r20936 r27435 3 3 int imstats (int argc, char **argv) { 4 4 5 int i, kapa, Nimage, N; 5 off_t i, Nimage; 6 int kapa, N; 6 7 int Mcal, AutoLimits; 7 8 double r, d; -
trunk/Ohana/src/opihi/dvo/lcurve.c
r20936 r27435 7 7 double *RA, *DEC; 8 8 int kapa, TimeFormat; 9 int Nstars, found, AutoLimits, ErrorBars, GalMag, AbsPhot, SaveVectors; 10 int i, j, m, N, NPTS, *N1; 9 int found, AutoLimits, ErrorBars, GalMag, AbsPhot, SaveVectors; 10 off_t i, j, m, Nstars, *N1; 11 int N, NPTS; 11 12 time_t TimeReference; 12 13 struct tm *timeptr; … … 88 89 ALLOCATE (RA, double, Nstars); 89 90 ALLOCATE (DEC, double, Nstars); 90 ALLOCATE (N1, int, Nstars);91 ALLOCATE (N1, off_t, Nstars); 91 92 92 93 /* find star(s) in RA, DEC list -- use a dumb algorithm for now, improve later */ -
trunk/Ohana/src/opihi/dvo/lightcurve.c
r20936 r27435 5 5 double Ra, Dec, Radius, Radius2, r; 6 6 double *RA, *DEC; 7 int Nstars, found, PhotCodeSelect; 8 int i, j, k, m, N, NPTS, Nsecfilt, RELPHOT, *N1, TimeFormat; 7 off_t i, j, k, m, Nstars, *N1; 8 int found, PhotCodeSelect; 9 int N, NPTS, Nsecfilt, RELPHOT, TimeFormat; 9 10 time_t TimeReference; 10 11 … … 71 72 ALLOCATE (RA, double, Nstars); 72 73 ALLOCATE (DEC, double, Nstars); 73 ALLOCATE (N1, int, Nstars);74 ALLOCATE (N1, off_t, Nstars); 74 75 75 76 /* find star(s) in RA, DEC list -- use a dumb algorithm for now, improve later */ -
trunk/Ohana/src/opihi/dvo/match_image.c
r12332 r27435 1 1 # include "dvoshell.h" 2 2 3 int match_image (Image *image, int Nimage, unsigned int T, short int S) {3 off_t match_image (Image *image, off_t Nimage, unsigned int T, short int S) { 4 4 5 int N, Nlo, Nhi, N1, N2;5 off_t N, Nlo, Nhi, N1, N2; 6 6 7 7 /* bracket first value of interest */ … … 37 37 } 38 38 39 int match_image_subset (Image *image, int *subset, int Nsubset, unsigned int T, short int S) {39 off_t match_image_subset (Image *image, off_t *subset, off_t Nsubset, unsigned int T, short int S) { 40 40 41 int N, Nlo, Nhi, N1, N2;41 off_t N, Nlo, Nhi, N1, N2; 42 42 43 43 /* bracket first value of interest */ -
trunk/Ohana/src/opihi/dvo/mextract.c
r26285 r27435 3 3 int mextract (int argc, char **argv) { 4 4 5 int i, j, k, m, n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 5 off_t i, j, k, m; // used for counter averages and measures 6 int n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 6 7 int Nsecfilt, VERBOSE, loadImages, mosaicMode; 7 8 char **cstack, name[1024]; … … 119 120 catalog.Nsecfilt = Nsecfilt; 120 121 121 if (VERBOSE) gprint (GP_ERR, "trying %s (% d of %d)\n", catalog.filename, i,skylist[0].Nregions);122 if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions); 122 123 123 124 // an error exit status here is a significant error -
trunk/Ohana/src/opihi/dvo/mmextract.c
r24233 r27435 3 3 int mmextract (int argc, char **argv) { 4 4 5 int i, j, k, m, n, N, Npts, NPTS, last, next, state; 5 off_t i, j, k, m; 6 int n, N, Npts, NPTS, last, next, state; 6 7 int Nfields, Nreturn, Nreturn_base, Ncstack1, Ncstack2, Nstack1, Nstack2; 7 8 int Nwhere, Iwhere, Nmatch, Imatch, NTABLE, Nt1, Nt2, n1, n2; … … 185 186 catalog.Nsecfilt = Nsecfilt; 186 187 187 if (VERBOSE) gprint (GP_ERR, "trying %s (% d of %d)\n", catalog.filename, i,skylist[0].Nregions);188 if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions); 188 189 189 190 // an error exit status here is a significant error -
trunk/Ohana/src/opihi/dvo/paverage.c
r21508 r27435 5 5 6 6 FILE *f; 7 int i, j, kapa, Narg, Npts, NPTS, status, VERBOSE; 7 off_t i, j; 8 int kapa, Narg, Npts, NPTS, status, VERBOSE; 8 9 int Nsecfilt, Nsec, Nloaded; 9 10 double Mz, Mr, mag; -
trunk/Ohana/src/opihi/dvo/photometry.c
r25757 r27435 336 336 int ListPhotSelections () { 337 337 338 gprint (GP_ERR, "TimeSelect: %d, % d - %d\n", TimeSelect, tzero, tend);338 gprint (GP_ERR, "TimeSelect: %d, %s - %s\n", TimeSelect, ctime(&tzero), ctime(&tend)); 339 339 gprint (GP_ERR, "MagSelect: %d, %f - %f\n", MagSelect, MagMax, MagMin); 340 340 gprint (GP_ERR, "TypeSelect: %d, %d\n", TypeSelect, TypeValue); … … 555 555 556 556 /* extract a list of measure parameters from the specified average entry based on the pre-set selections */ 557 double *ExtractMeasures (PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param) {558 559 int i, Nlist, NLIST;557 double *ExtractMeasures (PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist, int param) { 558 559 off_t i, Nlist, NLIST; 560 560 double M, *list; 561 561 … … 585 585 double ExtractAverages (PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int param) { 586 586 587 int i;587 off_t i; 588 588 double value; 589 589 … … 714 714 715 715 double frac; 716 int k, Nc, Nt; 716 int Nc, Nt; 717 off_t k; 717 718 718 719 Nt = Nc = 0; … … 730 731 int DetermineTypeCode (Average *average, Measure *measure, int code) { 731 732 732 int k, N, Nt[3]; 733 off_t k; 734 int N, Nt[3]; 733 735 734 736 Nt[0] = Nt[1] = Nt[2] = 0; … … 788 790 int TestAverage (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure) { 789 791 790 int i, Nm, Type, Select; 792 off_t i, Nm; 793 int Type, Select; 791 794 double fwhm, typefrac, dM, Xm; 792 795 … … 937 940 938 941 939 double *ExtractMagnitudes (PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *n) {942 double *ExtractMagnitudes (PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *n) { 940 943 941 944 double *M, mag; 942 int N;945 off_t N; 943 946 944 947 if ((mode == MAG_AVE) || (mode == MAG_REF)) { … … 960 963 961 964 /* extract delta-mag pairs applying specified selections */ 962 double *ExtractDMag (PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist) { 963 964 int i, j, A1, A2, N1, N2, Np, Nlist, NLIST; 965 double *ExtractDMag (PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist) { 966 967 int A1, A2; 968 off_t i, j, N1, N2, Np, Nlist, NLIST; 965 969 double *M1, *M2, *list; 966 970 … … 1009 1013 /* extract a list of delta-measure-mags from the specified average entry based on the 1010 1014 pre-set selections - does not return self-matched measurements */ 1011 double *ExtractMeasuresDMag (PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist) { 1012 1013 int i, j, Np0, Np1, Nlist, NLIST; 1015 double *ExtractMeasuresDMag (PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist) { 1016 1017 int Np0, Np1; 1018 off_t i, j, Nlist, NLIST; 1014 1019 double *list, M1, M2; 1015 1020 … … 1056 1061 1057 1062 /* extract a measurement list matching the number of dmag entries */ 1058 double *ExtractByDMag (PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param) { 1059 1060 int A1, A2, N1; 1063 double *ExtractByDMag (PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist, int param) { 1064 1065 off_t N1; 1066 int A1, A2; 1061 1067 double *list; 1062 1068 … … 1080 1086 1081 1087 /* extract a list of delta-measure-mags from the specified average entry based on the pre-set selections */ 1082 double *ExtractMeasuresByDMag (PhotCode **code, int *mode, int use_first, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param) {1083 1084 int i, j, n, Nlist, NLIST;1088 double *ExtractMeasuresByDMag (PhotCode **code, int *mode, int use_first, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist, int param) { 1089 1090 off_t i, j, n, Nlist, NLIST; 1085 1091 double *list, M1, M2; 1086 1092 -
trunk/Ohana/src/opihi/dvo/pmeasure.c
r21508 r27435 7 7 8 8 FILE *f; 9 int i, j, k, m, kapa, Narg, Npts, NPTS, status, VERBOSE, TimeSelect, Nloaded; 9 off_t i, j, k, m; 10 int kapa, Narg, Npts, NPTS, status, VERBOSE, TimeSelect, Nloaded; 10 11 double Mz, Mr, mag; 11 12 double Radius, Rmin, Rmax, R, D, trange; -
trunk/Ohana/src/opihi/dvo/simage.c
r20936 r27435 89 89 return (FALSE); 90 90 } 91 fseek (f, header.size, SEEK_SET);91 fseeko (f, header.datasize, SEEK_SET); 92 92 93 93 /* set up storage buffers */ -
trunk/Ohana/src/opihi/dvo/skycoverage.c
r27262 r27435 6 6 7 7 int WITH_MOSAIC, SOLO_MOSAIC; 8 int i, N, Nimage, status, TimeSelect, ByName, xs, ys; 8 off_t i, Nimage; 9 int N, status, TimeSelect, ByName, xs, ys; 9 10 time_t tzero, tend; 10 11 double pixscale, dX, dY, Npts, r, d, Xi, Yi, Xs, Ys, x[2], y[2], trange, RaCenter, DecCenter; -
trunk/Ohana/src/opihi/dvo/subpix.c
r19823 r27435 3 3 int subpix (int argc, char **argv) { 4 4 5 int i, j, I, Nlo, Nhi, Nentry, Nstars, Nimage, Nmeasure;6 int *index, *entry;7 int Nmin, Nsub, NSUB, status;8 int TimeFormat;5 off_t Nlo, Nhi, *entry, Nentry; 6 off_t j, i, I, *index, Nstars, Nimage, Nmeasure; 7 off_t Nmin, Nsub, NSUB; 8 int status, TimeFormat; 9 9 time_t Timage, TimeReference; 10 10 double X, Y, Mabs, t; … … 54 54 ALLOCATE (RA, double, Nstars); 55 55 ALLOCATE (DEC, double, Nstars); 56 ALLOCATE (index, int, Nstars);56 ALLOCATE (index, off_t, Nstars); 57 57 for (i = 0; i < Nstars; i++) { 58 58 RA[i] = catalog.average[i].R; … … 65 65 Nlo = bracket (DEC, Nstars, FALSE, Dec - Radius); 66 66 Nhi = bracket (DEC, Nstars, TRUE, Dec + Radius); 67 ALLOCATE (entry, int, MAX (Nhi - Nlo, 1));67 ALLOCATE (entry, off_t, MAX (Nhi - Nlo, 1)); 68 68 Nentry = 0; 69 69 … … 111 111 Nsub = 0; 112 112 NSUB = 100; 113 ALLOCATE (index, int, NSUB);113 ALLOCATE (index, off_t, NSUB); 114 114 115 115 /* load all images, extract those touching Ra, Dec */ … … 125 125 if (Nsub == NSUB - 1) { 126 126 NSUB += 100; 127 REALLOCATE (index, int, NSUB);127 REALLOCATE (index, off_t, NSUB); 128 128 } 129 129 } -
trunk/Ohana/src/opihi/include/data.h
r26891 r27435 77 77 /* in fft.c */ 78 78 void fft1D (float *dataRe, float *dataIm, int N, int Nbit, int forward); 79 int fftND (float *dataRe, float *dataIm, int Ndim, int *Nsize, int forward);79 int fftND (float *dataRe, float *dataIm, int Ndim, off_t *Nsize, int forward); 80 80 void dfft1D (double *dataRe, double *dataIm, int N, int Nbit, int forward); 81 81 int dfftND (double *dataRe, double *dataIm, int Ndim, int *Nsize, int forward); -
trunk/Ohana/src/opihi/include/display.h
r21153 r27435 36 36 int SendLabel (char *string, int Xgraph, int mode); 37 37 38 int SendGraphMessage (int device, char *format, ...) ;39 int SendGraphCommand (int device, int length, char *format, ...) ;38 int SendGraphMessage (int device, char *format, ...) OHANA_FORMAT(printf, 2, 3); 39 int SendGraphCommand (int device, int length, char *format, ...) OHANA_FORMAT(printf, 3, 4); 40 40 int SendGraphCommandV (int device, int length, char *format, va_list argp); 41 41 -
trunk/Ohana/src/opihi/include/dvoshell.h
r26285 r27435 260 260 double DetermineTypefrac PROTO((Average *average, Measure *measure, PhotCode *code)); 261 261 double ExtractAverages PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int param)); 262 double *ExtractByDMag PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));263 double *ExtractDMag PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist));264 double *ExtractMagnitudes PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *n));265 double *ExtractMeasures PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));266 double *ExtractMeasuresByDMag PROTO((PhotCode **code, int *mode, int use_first, Average *average, SecFilt *secfilt, Measure *measure, int *nlist, int param));267 double *ExtractMeasuresDMag PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, int *nlist));262 double *ExtractByDMag PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist, int param)); 263 double *ExtractDMag PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist)); 264 double *ExtractMagnitudes PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *n)); 265 double *ExtractMeasures PROTO((PhotCode *code, int mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist, int param)); 266 double *ExtractMeasuresByDMag PROTO((PhotCode **code, int *mode, int use_first, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist, int param)); 267 double *ExtractMeasuresDMag PROTO((PhotCode **code, int *mode, Average *average, SecFilt *secfilt, Measure *measure, off_t *nlist)); 268 268 void FreeImageSelection PROTO((void)); 269 269 void FreeImageSelection PROTO((void)); … … 280 280 void FreeDVO PROTO((void)); 281 281 int InitPhotcodes PROTO((void)); 282 Image *LoadImages PROTO(( int *Nimage));282 Image *LoadImages PROTO((off_t *Nimage)); 283 283 Image *MatchImage PROTO((unsigned int time, short int source)); 284 284 Coords *MatchMosaic PROTO((unsigned int time, short int source)); … … 300 300 int TestPhotSelections PROTO((PhotCode **code, int *mode, int param)); 301 301 void compare PROTO((Catalog *catlog1, Catalog *catlog2, Vector *rvec, Vector *dvec, Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius)); 302 void cprecess PROTO((Average *average, int Naverage, double in_epoch, double out_epoch));303 void image_subset PROTO((Image *image, int Nimage, int **Subset, int *Nsubset, SkyRegionSelection *selection, unsigned long int tzero, double trange, int TimeSelect));304 int match_image PROTO((Image *image, int Nimage, unsigned int T, short int S));305 int match_image_subset PROTO((Image *image, int *subset, int Nsubset, unsigned int T, short int S));302 void cprecess PROTO((Average *average, off_t Naverage, double in_epoch, double out_epoch)); 303 void image_subset PROTO((Image *image, off_t Nimage, off_t **Subset, off_t *Nsubset, SkyRegionSelection *selection, unsigned long int tzero, double trange, int TimeSelect)); 304 off_t match_image PROTO((Image *image, off_t Nimage, unsigned int T, short int S)); 305 off_t match_image_subset PROTO((Image *image, off_t *subset, off_t Nsubset, unsigned int T, short int S)); 306 306 void print_value PROTO((double value, short int ival)); 307 void sort_image_subset PROTO((Image *image, int *subset, int N)); 308 void sort_images PROTO((Image *image, int N)); 309 void sortave PROTO((Average *ave, int N)); 310 CMPstars *cmpReadFits PROTO((FILE *f, int *nstars)); 311 CMPstars *cmpReadText PROTO((FILE *f, int *nstars)); 307 CMPstars *cmpReadFits PROTO((FILE *f, off_t *nstars)); 308 CMPstars *cmpReadText PROTO((FILE *f, off_t *nstars)); 312 309 int RD_to_XYpic PROTO((double *x, double *y, double r, double d, Coords *coords, double Rmin, double Rmax, double Rmid, int *leftside)); 313 310 … … 334 331 dbValue dbExtractAverages PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field)); 335 332 dbValue dbExtractMeasures PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field)); 336 dbValue dbExtractImages PROTO((Image *image, int Nimage, int N, dbField *field));333 dbValue dbExtractImages PROTO((Image *image, off_t Nimage, off_t N, dbField *field)); 337 334 338 335 void dbInitField PROTO((dbField *field)); -
trunk/Ohana/src/opihi/include/pantasks.h
r23530 r27435 269 269 int CheckJobsGetState (void); 270 270 271 // void *CheckTasksThread (void *data);272 // void *CheckJobsThread (void *data);273 274 271 void CheckControllerSetState (int state); 275 272 int CheckControllerGetState (void); … … 287 284 void CheckInputs (void); 288 285 289 void Client ThreadLock (void);290 void Client ThreadUnlock (void);291 void Command ThreadLock (void);292 void Command ThreadUnlock (void);293 void Control ThreadLock (void);294 void Control ThreadUnlock (void);295 void JobTask ThreadLock (void);296 void JobTask ThreadUnlock (void);286 void ClientLock (void); 287 void ClientUnlock (void); 288 void CommandLock (void); 289 void CommandUnlock (void); 290 void ControlLock (const char *func); 291 void ControlUnlock (const char *func); 292 void JobTaskLock (void); 293 void JobTaskUnlock (void); 297 294 298 295 int InitPassword (void); -
trunk/Ohana/src/opihi/include/shell.h
r27255 r27435 153 153 154 154 char *memstr PROTO((char *m1, char *m2, int n)); 155 int write_fmt PROTO((int fd, char *format, ...)) ;155 int write_fmt PROTO((int fd, char *format, ...)) OHANA_FORMAT(printf, 2, 3); 156 156 char *opihi_version PROTO((void)); 157 157 char *strip_version PROTO((char *input)); … … 167 167 FILE *gprintGetFile PROTO((gpDest dest)); 168 168 char *gprintGetName PROTO((gpDest dest)); 169 int gprint PROTO((gpDest dest, char *format, ...)) ;169 int gprint PROTO((gpDest dest, char *format, ...)) OHANA_FORMAT(printf, 2, 3); 170 170 int gwrite PROTO((char *buffer, int size, int N, gpDest dest)); 171 int gprint_syserror PROTO((gpDest dest, int myError, char *format, ...)) ;171 int gprint_syserror PROTO((gpDest dest, int myError, char *format, ...)) OHANA_FORMAT(printf, 3, 4); 172 172 int gprintv PROTO((gpDest dest, char *format, va_list argp)); 173 173 -
trunk/Ohana/src/opihi/lib.data/fft.c
r20936 r27435 72 72 // This requires 2(Nx*Ny*...) mem copies, but the fft operations are likely to happen in 73 73 // cache. 74 int fftND (float *x, float *y, int Ndim, int *Nsize, int forward) {74 int fftND (float *x, float *y, int Ndim, off_t *Nsize, int forward) { 75 75 76 76 int i, nIndex, minor, major, iDim; -
trunk/Ohana/src/opihi/lib.shell/BufferOps.c
r17903 r27435 83 83 return (buffers[i]); 84 84 85 error:85 error: 86 86 if (verbose) gprint (GP_ERR, "invalid matrix %s\n", name); 87 87 return (NULL); … … 238 238 gprint (GP_LOG, " N name file X Y bytes BP U bzero bscale \n"); 239 239 for (i = 0; i < Nbuffers; i++) { 240 gprint (GP_LOG, "%5d %10s %25s %5 d %5d %10d %3d %1d %10.4e %10.4e\n",241 i, buffers[i][0].name, buffers[i][0].file,242 buffers[i][0].header.Naxis[0],buffers[i][0].header.Naxis[1],243 buffers[i][0].header.size + buffers[i][0].matrix.size, buffers[i][0].bitpix,244 buffers[i][0].unsign, buffers[i][0].bzero, buffers[i][0].bscale);240 gprint (GP_LOG, "%5d %10s %25s %5lld %5lld %10lld %3d %1d %10.4e %10.4e\n", 241 i, buffers[i][0].name, buffers[i][0].file, 242 (long long) buffers[i][0].header.Naxis[0], (long long) buffers[i][0].header.Naxis[1], 243 (long long) buffers[i][0].header.datasize + buffers[i][0].matrix.datasize, buffers[i][0].bitpix, 244 buffers[i][0].unsign, buffers[i][0].bzero, buffers[i][0].bscale); 245 245 } 246 246 return (TRUE); … … 249 249 gprint (GP_LOG, " N name file X Y bytes\n"); 250 250 for (i = 0; i < Nbuffers; i++) { 251 gprint (GP_LOG, "%5d %10s %25s %5 d %5d %10d\n",252 i, buffers[i][0].name, buffers[i][0].file,253 buffers[i][0].header.Naxis[0],buffers[i][0].header.Naxis[1],254 buffers[i][0].header.size + buffers[i][0].matrix.size);255 } 256 return (TRUE); 257 } 251 gprint (GP_LOG, "%5d %10s %25s %5lld %5lld %10lld\n", 252 i, buffers[i][0].name, buffers[i][0].file, 253 (long long) buffers[i][0].header.Naxis[0], (long long) buffers[i][0].header.Naxis[1], 254 (long long) buffers[i][0].header.datasize + buffers[i][0].matrix.datasize); 255 } 256 return (TRUE); 257 } -
trunk/Ohana/src/opihi/lib.shell/gprint.c
r27255 r27435 352 352 // there are two strerror_r implementations; choose the right one: 353 353 #if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) 354 errorMsg = strerror_r (myError, errorBuf, MAX_ERROR_LENGTH);355 #else356 354 strerror_r (myError, errorBuf, MAX_ERROR_LENGTH); 357 355 errorMsg = errorBuf; 356 #else 357 errorMsg = strerror_r (myError, errorBuf, MAX_ERROR_LENGTH); 358 358 #endif 359 359 … … 362 362 va_end (argp); 363 363 364 gprint v(dest, "%s\n", errorMsg);364 gprint (dest, "%s\n", errorMsg); 365 365 return TRUE; 366 366 } -
trunk/Ohana/src/opihi/lib.shell/multicommand.c
r26995 r27435 32 32 /* here we can perform the security handshaking */ 33 33 VarConfig ("PASSWORD", "%s", PASSWORD); 34 SendCommand (server, strlen(PASSWORD), PASSWORD);34 SendCommand (server, strlen(PASSWORD), "%s", PASSWORD); 35 35 36 36 return; … … 82 82 if (server) { 83 83 // send the command to the server instead 84 if (!SendMessage (server, outline)) {84 if (!SendMessage (server, "%s", outline)) { 85 85 switch (errno) { 86 86 case EPIPE: -
trunk/Ohana/src/opihi/lib.shell/stack_math.c
r26891 r27435 1135 1135 /* copy all but the matrix */ 1136 1136 1137 matrix2[0].unsign = matrix1[0].unsign;1138 matrix2[0].bitpix = matrix1[0].bitpix;1139 matrix2[0]. size = matrix1[0].size;1140 matrix2[0].bzero = matrix1[0].bzero;1141 matrix2[0].bscale = matrix1[0].bscale;1142 matrix2[0].Naxes = matrix1[0].Naxes;1143 for (i = 0; i < FT_MAX_NAXES; i++) 1137 matrix2[0].unsign = matrix1[0].unsign; 1138 matrix2[0].bitpix = matrix1[0].bitpix; 1139 matrix2[0].datasize = matrix1[0].datasize; 1140 matrix2[0].bzero = matrix1[0].bzero; 1141 matrix2[0].bscale = matrix1[0].bscale; 1142 matrix2[0].Naxes = matrix1[0].Naxes; 1143 for (i = 0; i < FT_MAX_NAXES; i++) { 1144 1144 matrix2[0].Naxis[i] = matrix1[0].Naxis[i]; 1145 1145 } 1146 1146 1147 1147 return (TRUE); -
trunk/Ohana/src/opihi/pantasks/JobOps.c
r23563 r27435 73 73 74 74 int i; 75 int status;76 char command[1024];77 IOBuffer buffer;78 75 79 76 gprint (GP_LOG, "\n"); -
trunk/Ohana/src/opihi/pantasks/ListenClients.c
r23530 r27435 70 70 71 71 int i, Ncurrent, Nmax, status, Nread; 72 char *line , log_stdout[128], log_stderr[128];72 char *line; 73 73 fd_set fdSet; 74 74 struct timeval timeout; -
trunk/Ohana/src/opihi/pantasks/status_server.c
r26948 r27435 1 1 # include "pantasks.h" 2 3 int status_scheduler(void); 2 4 3 5 int status_server (int argc, char **argv) { … … 103 105 } 104 106 105 int status_scheduler( ) {107 int status_scheduler(void) { 106 108 107 109 gprint (GP_LOG, "\n"); -
trunk/Ohana/src/opihi/pantasks/thread_locks.c
r23530 r27435 4 4 static pthread_mutex_t ClientMutex = PTHREAD_MUTEX_INITIALIZER; 5 5 6 void ClientLock ( ) {6 void ClientLock (void) { 7 7 pthread_mutex_lock (&ClientMutex); 8 8 } 9 9 10 void ClientUnlock ( ) {10 void ClientUnlock (void) { 11 11 pthread_mutex_unlock (&ClientMutex); 12 12 } … … 15 15 static pthread_mutex_t CommandMutex = PTHREAD_MUTEX_INITIALIZER; 16 16 17 void CommandLock ( ) {17 void CommandLock (void) { 18 18 // fprintf (stderr, "command lock\n"); 19 19 pthread_mutex_lock (&CommandMutex); 20 20 } 21 21 22 void CommandUnlock ( ) {22 void CommandUnlock (void) { 23 23 // fprintf (stderr, "command unlock\n"); 24 24 pthread_mutex_unlock (&CommandMutex); … … 28 28 static pthread_mutex_t ControlMutex = PTHREAD_MUTEX_INITIALIZER; 29 29 30 void ControlLock (c har *func) {30 void ControlLock (const char *func) { 31 31 // fprintf (stderr, "control lock %s\n", func); 32 32 pthread_mutex_lock (&ControlMutex); 33 33 } 34 34 35 void ControlUnlock (c har *func) {35 void ControlUnlock (const char *func) { 36 36 // fprintf (stderr, "control unlock %s\n", func); 37 37 pthread_mutex_unlock (&ControlMutex); … … 41 41 static pthread_mutex_t JobTaskMutex = PTHREAD_MUTEX_INITIALIZER; 42 42 43 void JobTaskLock ( ) {43 void JobTaskLock (void) { 44 44 // fprintf (stderr, "jobtask lock\n"); 45 45 pthread_mutex_lock (&JobTaskMutex); 46 46 } 47 47 48 void JobTaskUnlock ( ) {48 void JobTaskUnlock (void) { 49 49 // fprintf (stderr, "jobtask unlock\n"); 50 50 pthread_mutex_unlock (&JobTaskMutex); -
trunk/Ohana/src/opihi/pcontrol/PclientCommand.c
r17476 r27435 63 63 } 64 64 if (status == 0) { 65 gprint (GP_ERR, "pclient read returns 0 for %s\n", command);65 gprint (GP_ERR, "pclient read returns 0 for %s\n", response); 66 66 return (PCLIENT_DOWN); 67 67 } -
trunk/Ohana/src/opihi/pcontrol/StartHost.c
r25872 r27435 14 14 if (VarConfig ("SHELL", "%s", shell) == NULL) strcpy (shell, "pclient"); 15 15 16 if (VerboseMode()) gprint (GP_ERR, "starting host within thread % d\n",pthread_self());16 if (VerboseMode()) gprint (GP_ERR, "starting host within thread %lld\n", (long long) pthread_self()); 17 17 18 18 pid = rconnect (command, host[0].hostname, shell, stdio); -
trunk/Ohana/src/opihi/pcontrol/StopHosts.c
r25872 r27435 121 121 int i, result, waitstatus; 122 122 123 if (VerboseMode()) gprint (GP_ERR, "harvesting within thread % p\n",pthread_self());123 if (VerboseMode()) gprint (GP_ERR, "harvesting within thread %lld\n", (long long) pthread_self()); 124 124 if (VerboseMode()) gprint (GP_ERR, "child process %d is down, wait for exit status\n", pid); 125 125 -
trunk/Ohana/src/photdbc/include/photdbc.h
r21153 r27435 104 104 void check_directory (char *basefile); 105 105 106 int Shutdown (char *format, ...) ;106 int Shutdown (char *format, ...) OHANA_FORMAT(printf, 1, 2); 107 107 void set_db (FITS_DB *in); 108 108 void lock_image_db (FITS_DB *db, char *filename); -
trunk/Ohana/src/photdbc/src/join_stars.c
r17284 r27435 3 3 void join_stars (Catalog *catalog) { 4 4 5 int i, j, k, m, M, Ni, Nj, first_j;6 int Naves, Nmeas, Ncurr;7 int Naverage, Nmeasure, *found, *index;5 off_t i, j, k, m, M, Ni, Nj, first_j, Nfirst; 6 off_t Naves, Nmeas, Ncurr; 7 off_t Naverage, Nmeasure, *index; 8 8 double *X, *Y, dX, dY, dR, RADIUS2; 9 9 double Sr, Sd, Rmid, Dmid; 10 int basecode, baseNsec, Nsecfilt, Nfirst;10 int basecode, baseNsec, Nsecfilt, *found; 11 11 12 12 Average *naverage, *average; … … 61 61 ALLOCATE (X, double, Naverage); 62 62 ALLOCATE (Y, double, Naverage); 63 ALLOCATE (index, int, Naverage);63 ALLOCATE (index, off_t, Naverage); 64 64 for (i = 0; i < Naverage; i++) { 65 65 index[i] = i; -
trunk/Ohana/src/relastro/doc/notes.txt
r17043 r27435 1 2 2010.03.24 3 4 I have finished only part of the optimizations listed below: I have 5 made the detection->image and image->mosaic lookups use bracket 6 searches. I have NOT converted the image->mosaic lookups to use the 7 parentID, so these matches are still based on time ranges. I have 8 also added a bit of positional constraint to the image match 9 function in 'select_images' (comparing Rmax of the sky regions to 10 Rmin of the images). These have had a huge improvement. Here is 11 the execution time for the SAS data (~450 images) with the old vs 12 the new code on pikake: 13 14 old : 39min 15 new : 7min 16 17 The bulk of the time for the new code is now disk I/O. 18 19 2010.03.23 20 21 I've been working on optimization. I've updated ImageOps to make 22 the measure->image relationship generation use the image IDs along 23 with a bracket search -- this goes much faster as a result. More 24 work is needed: 25 26 * select_images needs to apply astrometry to all image corners: 27 -> cache the image center and radius and use this to narrow down 28 the searches. 29 30 * MosaicOps uses the time to match mosaics. I've added sorting to 31 speed this up, but this should be done based on the image and 32 parent index. 33 34 -> make a tool to create the parent ID for existing DBs. 35 -> make sure addstar is populating the parent IDs 36 -> use the parent IDs to make the link. 37 38 load image data: 0.006347 sec 39 setup sky: 0.091475 sec 40 convert image table: 0.091498 sec 41 select images: 2.925978 sec 42 init images: 2.926957 sec 43 init mosaics: 2.927319 sec 44 load images: 2.933762 sec 45 load catalog data: 9.772259 sec 46 make image bins: 9.780618 sec 47 set up image indexes: 10.196519 sec 48 49 load image data: 0.006746 sec 50 setup sky: 0.091440 sec 51 convert image table: 0.091467 sec 52 select images: 0.374193 sec 53 init images: 0.375355 sec 54 init mosaics: 0.375753 sec 55 load images: 0.382606 sec 56 load catalog data: 7.260094 sec 57 make image bins: 7.268564 sec 58 set up image indexes: 7.687485 sec 59 1 60 2 61 2008.03.01 -
trunk/Ohana/src/relastro/include/relastro.h
r24308 r27435 140 140 char *GetPhotnamebyCode PROTO((PhotCodeData *photcodes, int code)); 141 141 void InterpolateGrid PROTO((float *buffer, int Nx, int Ny, Coords *ccd, Coords *gcoords)); 142 int *SelectRefMosaic PROTO((Mosaic **refmosaic, int *Nimage));142 off_t *SelectRefMosaic PROTO((Mosaic **refmosaic, off_t *Nimage)); 143 143 int args PROTO((int argc, char **argv)); 144 144 int bcatalog PROTO((Catalog *subcatalog, Catalog *catalog)); … … 153 153 void findImages PROTO((Catalog *catalog, int Ncatalog)); 154 154 int findMosaics PROTO((Catalog *catalog, int Ncatalog)); 155 Image *find_images PROTO((FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum));155 Image *find_images PROTO((FITS_DB *db, GSCRegion *region, off_t Nregion, off_t *Nimage, off_t **LineNum)); 156 156 void set_db (FITS_DB *in); 157 int Shutdown (char *format, ...) ;157 int Shutdown (char *format, ...) OHANA_FORMAT(printf, 1, 2); 158 158 void TrapSignal (int sig); 159 159 void SetProtect (int mode); 160 160 int SetSignals (void); 161 161 162 GSCRegion *find_regions PROTO((Image *image, int Nimage, int *Nregions, GSCRegion *fullregion));162 GSCRegion *find_regions PROTO((Image *image, off_t Nimage, int *Nregions, GSCRegion *fullregion)); 163 163 void freeGridBins PROTO((int Ncatalog)); 164 164 void freeImageBins PROTO((int Ncatalog)); … … 166 166 void free_catalogs PROTO((Catalog *catalog, int Ncatalog)); 167 167 int gcatalog PROTO((Catalog *catalog, int FINAL)); 168 Coords *getCoords PROTO(( int meas, int cat));169 float getMcal PROTO(( int meas, int cat));170 float getMgrid PROTO(( int meas, int cat));171 float getMmos PROTO(( int meas, int cat));172 float getMrel PROTO((Catalog *catalog, int meas, int cat));173 GSCRegion *get_regions PROTO((double minRa, double maxRa, double minDec, double maxDec, int *Nregions));174 void getfullregion PROTO((Image *image, int Nimage, GSCRegion *fullregion));175 Image *getimage PROTO(( int N));176 Image *getimages PROTO(( int *N));168 Coords *getCoords PROTO((off_t meas, int cat)); 169 float getMcal PROTO((off_t meas, int cat)); 170 float getMgrid PROTO((off_t meas, int cat)); 171 float getMmos PROTO((off_t meas, int cat)); 172 float getMrel PROTO((Catalog *catalog, off_t meas, int cat)); 173 GSCRegion *get_regions PROTO((double minRa, double maxRa, double minDec, double maxDec, off_t *Nregions)); 174 void getfullregion PROTO((Image *image, off_t Nimage, GSCRegion *fullregion)); 175 Image *getimage PROTO((off_t N)); 176 Image *getimages PROTO((off_t *N)); 177 177 void global_stats PROTO((Catalog *catalog, int Ncatalog)); 178 178 void initGrid PROTO((int dX, int dY)); 179 179 void initGridBins PROTO((Catalog *catalog, int Ncatalog)); 180 180 void initImageBins PROTO((Catalog *catalog, int Ncatalog)); 181 void initImages PROTO((Image *input, int N));181 void initImages PROTO((Image *input, off_t N)); 182 182 void initMosaicBins PROTO((Catalog *catalog, int Ncatalog)); 183 void initMosaicGrid PROTO((Image *image, int Nimage));184 void initMosaics PROTO((Image *image, int Nimage));183 void initMosaicGrid PROTO((Image *image, off_t Nimage)); 184 void initMosaics PROTO((Image *image, off_t Nimage)); 185 185 void initMrel PROTO((Catalog *catalog, int Ncatalog)); 186 186 void initialize PROTO((int argc, char **argv)); … … 189 189 Catalog *load_catalogs PROTO((SkyList *skylist, int *Ncatalog, int subselect)); 190 190 SkyList *load_images PROTO((FITS_DB *db, SkyRegion *region)); 191 Image *select_images PROTO((SkyList *skylist, Image *timage, int Ntimage, int **LineNumber, int *Nimage));191 Image *select_images PROTO((SkyList *skylist, Image *timage, off_t Ntimage, off_t **LineNumber, off_t *Nimage)); 192 192 193 193 void check_permissions (char *basefile); … … 198 198 199 199 int main PROTO((int argc, char **argv)); 200 void mark_images PROTO((Image *image, int Nimage, Image *timage, int Ntimage));201 void matchImage PROTO((Catalog *catalog, int meas, int cat));202 void matchMosaics PROTO((Catalog *catalog, int meas, int cat));203 GSCRegion *name_region PROTO((char *name, int *Nregions));200 void mark_images PROTO((Image *image, off_t Nimage, Image *timage, off_t Ntimage)); 201 void matchImage PROTO((Catalog *catalog, off_t meas, int cat)); 202 void matchMosaics PROTO((Catalog *catalog, off_t meas, int cat)); 203 GSCRegion *name_region PROTO((char *name, off_t *Nregions)); 204 204 double opening_angle PROTO((double x1, double y1, double x2, double y2, double x3, double y3)); 205 205 void plot_chisq PROTO((Catalog *catalog, int Ncatalog)); … … 224 224 int setMrelOutput PROTO((Catalog *catalog, int Ncatalog, int mark)); 225 225 void set_ZP PROTO((double ZERO)); 226 int setrefcode PROTO((Image *image, int Nimage));226 int setrefcode PROTO((Image *image, off_t Nimage)); 227 227 void skip_measurements PROTO((Catalog *catalog, int pass)); 228 228 void sortA PROTO((double *X, int N)); … … 268 268 int UpdateMosaic (Catalog *catalog, int Ncatalog); 269 269 int UpdateMeasures (Catalog *catalog, int Ncatalog); 270 void fixImageRaw (Catalog *catalog, int Ncatalog, int im);270 void fixImageRaw (Catalog *catalog, int Ncatalog, off_t im); 271 271 void FlagOutliers(Catalog *catalog); 272 272 int MeasFilterTest(Measure *measure); … … 278 278 int FitPMandPar (PMFit *fit, double *X, double *dX, double *Y, double *dY, double *T, double *pR, double *pD, int Npts); 279 279 280 Mosaic *getMosaicForImage ( int N);281 282 StarData *getImageRef (Catalog *catalog, int Ncatalog, int im, int *Nstars, CoordMode mode);283 StarData *getImageRaw (Catalog *catalog, int Ncatalog, int im, int *Nstars, CoordMode mode);284 285 Mosaic *getmosaics ( int *N);286 void initMosaics (Image *image, int Nimage);287 StarData *getMosaicRaw (Catalog *catalog, int Ncatalog, int mos, int *Nstars);288 StarData *getMosaicRef (Catalog *catalog, int Ncatalog, int mos, int *Nstars);289 Mosaic *getMosaicForImage ( int im);280 Mosaic *getMosaicForImage (off_t N); 281 282 StarData *getImageRef (Catalog *catalog, int Ncatalog, off_t im, off_t *Nstars, CoordMode mode); 283 StarData *getImageRaw (Catalog *catalog, int Ncatalog, off_t im, off_t *Nstars, CoordMode mode); 284 285 Mosaic *getmosaics (off_t *N); 286 void initMosaics (Image *image, off_t Nimage); 287 StarData *getMosaicRaw (Catalog *catalog, int Ncatalog, off_t mos, off_t *Nstars); 288 StarData *getMosaicRef (Catalog *catalog, int Ncatalog, off_t mos, off_t *Nstars); 289 Mosaic *getMosaicForImage (off_t im); 290 290 291 291 double getMeanR (Measure *measure, Average *average, SecFilt *secfilt); … … 297 297 int relastro_objects (void); 298 298 int UpdateObjectOffsets (SkyList *skylist); 299 300 int relastroVisualPlotRawRef(StarData *raw, StarData *ref, double dRmax, int numObj); 301 int relastroVisualPlotScatter(double values[], double thresh, int npts); 302 int relastroVisualPlotOutliers(Catalog *catalog, int offset, int Nmeasure, 303 StatType statsR, StatType statsD, double thresh); 304 -
trunk/Ohana/src/relastro/src/FitSimple.c
r16810 r27435 17 17 18 18 // XXX the value needs to be set in a more intelligent way 19 if (dR > 0. 15) continue;19 if (dR > 0.50) continue; 20 20 21 21 fit_add (fit, raw[i].X, raw[i].Y, ref[i].P, ref[i].Q, 1.0); -
trunk/Ohana/src/relastro/src/ImageOps.c
r24308 r27435 1 1 # include "relastro.h" 2 #define TESTING 3 2 # define TESTING 3 # define USE_IMAGE_ID 1 4 5 static off_t **bin; // link from catalog,measure to image 6 static int **clist; // catalog which supplied measurement on image 7 static off_t **mlist; // measure reference for measurement on image 8 static off_t *Nlist; // number of measurements on image 9 static off_t *NLIST; // allocated number of measurements on image 10 11 static Image *image; // list of available images 12 static off_t Nimage; // number of available images 13 14 # if USE_IMAGE_ID 15 // we sort (imageIDs, imageIdx) by imageIDs to get a sorted index 16 static off_t *imageIDs; // list of all image IDs 17 static off_t *imageIdx; // list of index for image IDs 18 # else 4 19 static unsigned int *start; 5 20 static unsigned int *stop; 6 static int **bin; 7 8 static int **clist; 9 static int **mlist; 10 static int *Nlist; 11 static int *NLIST; 12 13 static Image *image; 14 static int Nimage; 15 16 Image *getimages (int *N) { 21 # endif 22 23 Image *getimages (off_t *N) { 17 24 *N = Nimage; 18 25 return (image); 19 26 } 20 27 21 Image *getimage ( int N) {28 Image *getimage (off_t N) { 22 29 return (&image[N]); 23 30 } 24 31 25 void initImages (Image *input, int N) {26 27 int i;32 void initImages (Image *input, off_t N) { 33 34 off_t i; 28 35 29 36 image = input; 30 37 Nimage = N; 31 38 32 ALLOCATE (start, unsigned, Nimage); 33 ALLOCATE (stop, unsigned, Nimage); 39 # if USE_IMAGE_ID 40 ALLOCATE (imageIDs, off_t, Nimage); 41 ALLOCATE (imageIdx, off_t, Nimage); 42 43 for (i = 0; i < Nimage; i++) { 44 imageIdx[i] = i; 45 imageIDs[i] = image[i].imageID; 46 } 47 llsortpair (imageIDs, imageIdx, Nimage); 48 # else 49 ALLOCATE (start, unsigned, Nimage); 50 ALLOCATE (stop, unsigned, Nimage); 34 51 35 52 for (i = 0; i < Nimage; i++) { … … 37 54 stop[i] = image[i].tzero + MAX(1.01*image[i].trate*image[i].NY, 1); 38 55 } 56 # endif 57 58 } 59 60 off_t getImageByID (off_t ID) { 61 62 // we have a pair of vectors (imageIDs, imageIdx) sorted by imageIDs 63 // use bisection to find the specified image ID 64 65 # if USE_IMAGE_ID 66 off_t Nlo, Nhi, N; 67 68 Nlo = 0; Nhi = Nimage; 69 while (Nhi - Nlo > 10) { 70 N = 0.5*(Nlo + Nhi); 71 if (imageIDs[N] < ID) { 72 Nlo = MAX(N, 0); 73 } else { 74 Nhi = MIN(N + 1, Nimage); 75 } 76 } 77 78 for (N = Nlo; N < Nhi; N++) { 79 if (imageIDs[N] == ID) 80 return (imageIdx[N]); 81 } 82 # endif 83 84 return (-1); 39 85 } 40 86 41 87 void initImageBins (Catalog *catalog, int Ncatalog) { 42 88 43 int i, j;44 45 ALLOCATE (bin, int *, Ncatalog);89 off_t i, j; 90 91 ALLOCATE (bin, off_t *, Ncatalog); 46 92 for (i = 0; i < Ncatalog; i++) { 47 ALLOCATE (bin[i], int, MAX (catalog[i].Nmeasure, 1));93 ALLOCATE (bin[i], off_t, MAX (catalog[i].Nmeasure, 1)); 48 94 for (j = 0; j < catalog[i].Nmeasure; j++) bin[i][j] = -1; 49 95 } 50 96 51 ALLOCATE (Nlist, int,Nimage);52 ALLOCATE (NLIST, int,Nimage);53 ALLOCATE (clist, int *, Nimage);54 ALLOCATE (mlist, int *, Nimage);97 ALLOCATE (Nlist, off_t, Nimage); 98 ALLOCATE (NLIST, off_t, Nimage); 99 ALLOCATE (clist, int *, Nimage); 100 ALLOCATE (mlist, off_t *, Nimage); 55 101 56 102 for (i = 0; i < Nimage; i++) { … … 58 104 NLIST[i] = 100; 59 105 ALLOCATE (clist[i], int, NLIST[i]); 60 ALLOCATE (mlist[i], int, NLIST[i]);106 ALLOCATE (mlist[i], off_t, NLIST[i]); 61 107 } 62 108 } … … 64 110 void freeImageBins (int Ncatalog) { 65 111 66 int i;112 off_t i; 67 113 68 114 for (i = 0; i < Ncatalog; i++) { … … 81 127 void findImages (Catalog *catalog, int Ncatalog) { 82 128 83 int i, j;129 off_t i, j; 84 130 char *name; 85 131 … … 92 138 for (i = 0; VERBOSE && (i < Nimage); i++) { 93 139 name = GetPhotcodeNamebyCode (image[i].photcode); 94 fprintf (stderr, "image % d has %d measures (%s, %s)\n", i,Nlist[i],140 fprintf (stderr, "image %lld has %lld measures (%s, %s)\n", (long long) i, (long long) Nlist[i], 95 141 ohana_sec_to_date(image[i].tzero), name); 96 142 } 97 143 } 98 144 145 # if USE_IMAGE_ID 99 146 /* modify this function to use the measure->imageID field */ 100 void matchImage (Catalog *catalog, int meas, int cat) { 101 102 int i; 147 void matchImage (Catalog *catalog, off_t meas, int cat) { 148 149 off_t idx, ID; 150 Measure *measure; 151 152 measure = &catalog[cat].measure[meas]; 153 154 ID = measure[0].imageID; 155 idx = getImageByID (ID); 156 if (idx == -1) { 157 fprintf (stderr, "can't match detection to image?\n"); 158 abort(); 159 } 160 161 // index for (catalog, measure) -> image 162 bin[cat][meas] = idx; 163 164 // index for image, Nentry -> catalog 165 clist[idx][Nlist[idx]] = cat; 166 167 // index for image, Nentry -> measure 168 mlist[idx][Nlist[idx]] = meas; 169 Nlist[idx] ++; 170 171 if (Nlist[idx] == NLIST[idx]) { 172 NLIST[idx] += 100; 173 REALLOCATE (clist[idx], int, NLIST[idx]); 174 REALLOCATE (mlist[idx], off_t, NLIST[idx]); 175 } 176 return; 177 } 178 179 # else 180 /* modify this function to use the measure->imageID field */ 181 void matchImage (Catalog *catalog, off_t meas, int cat) { 182 183 off_t i; 103 184 Measure *measure; 104 185 … … 107 188 /* find the image that supplied this measurement */ 108 189 for (i = 0; i < Nimage; i++) { 190 // let's try the very slow method first before adding a bisection search 191 // if (image[i].imageID != measure[0].imageID) continue; 109 192 if (image[0].photcode == -1) continue; 110 193 if (measure[0].photcode != image[i].photcode) continue; … … 124 207 if (Nlist[i] == NLIST[i]) { 125 208 NLIST[i] += 100; 126 REALLOCATE (clist[i], int, NLIST[i]);127 REALLOCATE (mlist[i], int, NLIST[i]);209 REALLOCATE (clist[i], int, NLIST[i]); 210 REALLOCATE (mlist[i], off_t, NLIST[i]); 128 211 } 129 212 return; 130 213 } 131 } 132 133 Coords *getCoords (int meas, int cat) { 134 135 int i; 214 fprintf (stderr, "can't match detection to image?\n"); 215 abort(); 216 } 217 # endif 218 219 Coords *getCoords (off_t meas, int cat) { 220 221 off_t i; 136 222 137 223 i = bin[cat][meas]; … … 142 228 void plot_images () { 143 229 144 int i, bin;230 off_t i, bin; 145 231 double *xlist, *Mlist, *dlist; 146 232 Graphdata graphdata; … … 188 274 // return StarData values for detections in the specified image, converting coordinates from the 189 275 // chip positions: X,Y -> L,M -> P,Q -> R,D 190 void fixImageRaw (Catalog *catalog, int Ncatalog, int im) {191 192 int i, m, c, n;276 void fixImageRaw (Catalog *catalog, int Ncatalog, off_t im) { 277 278 off_t i, m, c, n; 193 279 double X, Y, L, M, P, Q, R, D, dR, dD; 194 280 … … 199 285 mosaic = getMosaicForImage (im); 200 286 if (mosaic != NULL) { 201 moscoords = &mosaic[0].coords;287 moscoords = &mosaic[0].coords; 202 288 } 203 289 imcoords = &image[im].coords; … … 257 343 // chip positions: X,Y -> L,M -> P,Q -> R,D. This function is used by the image fitting steps, for 258 344 // which the detections have already been filtered when they were loaded (bcatalog) 259 StarData *getImageRaw (Catalog *catalog, int Ncatalog, int im, int *Nstars, CoordMode mode) {260 261 int i, m, c, n;345 StarData *getImageRaw (Catalog *catalog, int Ncatalog, off_t im, off_t *Nstars, CoordMode mode) { 346 347 off_t i, m, c, n; 262 348 263 349 Mosaic *mosaic; … … 270 356 moscoords = NULL; 271 357 if (mode == MODE_MOSAIC) { 272 mosaic = getMosaicForImage (im);273 if (mosaic == NULL) {274 fprintf (stderr, "mosaic not found for image %s\n", image[im].name);275 exit (1);276 }277 moscoords = &mosaic[0].coords;358 mosaic = getMosaicForImage (im); 359 if (mosaic == NULL) { 360 fprintf (stderr, "mosaic not found for image %s\n", image[im].name); 361 exit (1); 362 } 363 moscoords = &mosaic[0].coords; 278 364 } 279 365 … … 319 405 LM_to_RD (&raw[i].R, &raw[i].D, raw[i].P, raw[i].Q, moscoords); 320 406 break; 321 default:322 fprintf (stderr, "error: invalid mode in getImageRaw");323 abort ();407 default: 408 fprintf (stderr, "error: invalid mode in getImageRaw"); 409 abort (); 324 410 } 325 411 } … … 332 418 // the sky positions: R,D -> P,Q -> L,M -> X,Y 333 419 334 StarData *getImageRef (Catalog *catalog, int Ncatalog, int im, int *Nstars, CoordMode mode) {335 336 int i, m, c, n;420 StarData *getImageRef (Catalog *catalog, int Ncatalog, off_t im, off_t *Nstars, CoordMode mode) { 421 422 off_t i, m, c, n; 337 423 338 424 Mosaic *mosaic; … … 371 457 switch (mode) { 372 458 case MODE_SIMPLE: 373 RD_to_LM (&ref[i].P, &ref[i].Q, ref[i].R, ref[i].D, &image[im].coords);374 ref[i].L = ref[i].P;375 ref[i].M = ref[i].Q;376 LM_to_XY (&ref[i].X, &ref[i].Y, ref[i].L, ref[i].M, &image[im].coords);377 break;459 RD_to_LM (&ref[i].P, &ref[i].Q, ref[i].R, ref[i].D, &image[im].coords); 460 ref[i].L = ref[i].P; 461 ref[i].M = ref[i].Q; 462 LM_to_XY (&ref[i].X, &ref[i].Y, ref[i].L, ref[i].M, &image[im].coords); 463 break; 378 464 case MODE_MOSAIC: 379 RD_to_LM (&ref[i].P, &ref[i].Q, ref[i].R, ref[i].D, moscoords);380 LM_to_XY (&ref[i].L, &ref[i].M, ref[i].P, ref[i].Q, moscoords);381 LM_to_XY (&ref[i].X, &ref[i].Y, ref[i].L, ref[i].M, &image[im].coords);382 break;465 RD_to_LM (&ref[i].P, &ref[i].Q, ref[i].R, ref[i].D, moscoords); 466 LM_to_XY (&ref[i].L, &ref[i].M, ref[i].P, ref[i].Q, moscoords); 467 LM_to_XY (&ref[i].X, &ref[i].Y, ref[i].L, ref[i].M, &image[im].coords); 468 break; 383 469 default: 384 470 fprintf (stderr, "invalid case"); … … 399 485 return; 400 486 401 int i, j, k, m, N, Ndel, Nave, Nmax, TOOFEW, Nsecfilt; 487 int Ndel, Nave; 488 off_t i, j, k, m, N, Nmax, TOOFEW, Nsecfilt; 402 489 double Ns, theta, x, y; 403 490 double *R, *D, *dR, *dD; … … 490 577 void FlagOutliers2D (Catalog *catalog) { 491 578 492 int i, j, k, m, N, Ndel, Nave, Nmax, TOOFEW, Nsecfilt; 579 int Ndel, Nave; 580 off_t i, j, k, m, N, Nmax, TOOFEW, Nsecfilt; 493 581 double *index; 494 582 double Ns, theta, x, y; … … 569 657 // recalculate image center, sigma based on closest 50% of points 570 658 for(k = 0; k < N; k++) { 571 int ind = (int) index[k];659 off_t ind = (off_t) index[k]; 572 660 R[k] = catalog[0].measure[ind].dR; 573 661 D[k] = catalog[0].measure[ind].dD; -
trunk/Ohana/src/relastro/src/MosaicOps.c
r21508 r27435 2 2 3 3 // array of mosaic definition structures 4 static int Nmosaic;4 static off_t Nmosaic; 5 5 static Mosaic *mosaic; 6 6 7 7 // list of all images associated with a mosaic 8 static int *Nmosaic_own_images; // number of images for this mosaic9 static int *Amosaic_own_images; // size of allocated array10 static int **mosaic_own_images; // array of arrays: mosaic -> images8 static off_t *Nmosaic_own_images; // number of images for this mosaic 9 static off_t *Amosaic_own_images; // size of allocated array 10 static off_t **mosaic_own_images; // array of arrays: mosaic -> images 11 11 12 12 // list of mosaic associated with each image 13 static int Nmosaic_for_images; // number of images (for internal checks)14 static int *mosaic_for_images; // array of: image -> mosaic15 16 Mosaic *getmosaics ( int *N) {13 static off_t Nmosaic_for_images; // number of images (for off_ternal checks) 14 static off_t *mosaic_for_images; // array of: image -> mosaic 15 16 Mosaic *getmosaics (off_t *N) { 17 17 *N = Nmosaic; 18 18 return (mosaic); 19 19 } 20 20 21 off_t getMosaicByTimes (unsigned int start, unsigned int stop, unsigned int *startMos, unsigned int *stopMos, off_t *indexMos) { 22 23 // use bisection to find the overlapping mosaic 24 25 off_t Nlo, Nhi, N; 26 27 // find the last mosaic before start 28 Nlo = 0; Nhi = Nmosaic; 29 while (Nhi - Nlo > 10) { 30 N = 0.5*(Nlo + Nhi); 31 if (startMos[N] < start) { 32 Nlo = MAX(N, 0); 33 } else { 34 Nhi = MIN(N + 1, Nmosaic); 35 } 36 } 37 38 // check for the matched mosaic starting from Nlo 39 // we may have to go much beyond Nlo since stop is not sorted 40 // can we use a sorted version of stop to check when we are beyond the valid range?? 41 for (N = Nlo; N < Nmosaic; N++) { 42 if (stop < stopMos[N]) continue; 43 if (start > startMos[N]) continue; 44 if (stop < startMos[N]) return (-1); 45 return (indexMos[N]); 46 } 47 48 return (-1); 49 } 50 51 // sort two times vectors and an index by first time vector 52 void sort_mosaic_times (unsigned int *S, unsigned int *E, off_t *I, off_t N) { 53 54 # define SWAPFUNC(A,B){ unsigned int tmp_t; off_t tmp_i; \ 55 tmp_t = S[A]; S[A] = S[B]; S[B] = tmp_t; \ 56 tmp_t = E[A]; E[A] = E[B]; E[B] = tmp_t; \ 57 tmp_i = I[A]; I[A] = I[B]; I[B] = tmp_i; \ 58 } 59 # define COMPARE(A,B)(S[A] < S[B]) 60 61 OHANA_SORT (N, COMPARE, SWAPFUNC); 62 63 # undef SWAPFUNC 64 # undef COMPARE 65 66 } 67 68 // first, let's continue to use the time to make the match, but use bracketing to make it faster: 69 21 70 // find mosaic frames (unique time periods & photcode name matches mosaic) 22 void initMosaics (Image *image, int Nimage) {23 24 int i, j, found, NMOSAIC;71 void initMosaics (Image *image, off_t Nimage) { 72 73 off_t i, Nmos, NMOSAIC; 25 74 unsigned int start, stop; 75 76 unsigned int *startMos, *stopMos; 77 off_t *indexMos; 26 78 27 79 Nmosaic = 0; … … 29 81 ALLOCATE (mosaic, Mosaic, NMOSAIC); 30 82 31 ALLOCATE (Nmosaic_own_images, int, NMOSAIC); 32 ALLOCATE (Amosaic_own_images, int, NMOSAIC); 33 ALLOCATE (mosaic_own_images, int *, NMOSAIC); 83 ALLOCATE (Nmosaic_own_images, off_t, NMOSAIC); 84 ALLOCATE (Amosaic_own_images, off_t, NMOSAIC); 85 ALLOCATE (mosaic_own_images, off_t *, NMOSAIC); 86 ALLOCATE (startMos, unsigned int, NMOSAIC); 87 ALLOCATE (stopMos, unsigned int, NMOSAIC); 88 ALLOCATE (indexMos, off_t, NMOSAIC); 34 89 35 90 /* find the mosaic images (coords.ctype = DIS); generate list of unique mosaics */ … … 54 109 Nmosaic_own_images[Nmosaic] = 0; 55 110 Amosaic_own_images[Nmosaic] = 10; 56 ALLOCATE (mosaic_own_images[Nmosaic], int, Amosaic_own_images[Nmosaic]); 111 ALLOCATE (mosaic_own_images[Nmosaic], off_t, Amosaic_own_images[Nmosaic]); 112 113 startMos[Nmosaic] = start; 114 stopMos[Nmosaic] = stop; 115 indexMos[Nmosaic] = Nmosaic; 57 116 58 117 Nmosaic ++; … … 60 119 NMOSAIC += 10; 61 120 REALLOCATE (mosaic, Mosaic, NMOSAIC); 62 REALLOCATE (mosaic_own_images, int *, NMOSAIC); 63 REALLOCATE (Nmosaic_own_images, int, NMOSAIC); 64 REALLOCATE (Amosaic_own_images, int, NMOSAIC); 65 } 66 } 67 121 REALLOCATE (mosaic_own_images, off_t *, NMOSAIC); 122 REALLOCATE (Nmosaic_own_images, off_t, NMOSAIC); 123 REALLOCATE (Amosaic_own_images, off_t, NMOSAIC); 124 REALLOCATE (startMos, unsigned int, NMOSAIC); 125 REALLOCATE (stopMos, unsigned int, NMOSAIC); 126 REALLOCATE (indexMos, off_t, NMOSAIC); 127 } 128 } 129 130 // sort the index, start, and stop by the start times: 131 sort_mosaic_times (startMos, stopMos, indexMos, Nmosaic); 132 68 133 // array to store image->mosaic index 69 134 Nmosaic_for_images = Nimage; 70 ALLOCATE (mosaic_for_images, int, Nmosaic_for_images);135 ALLOCATE (mosaic_for_images, off_t, Nmosaic_for_images); 71 136 72 137 /* now assign the WRP images to these mosaics */ … … 80 145 stop = image[i].tzero + MAX(1.01*image[i].trate*image[i].NY, 1); 81 146 82 /* find existing mosaic with this time range */ 83 found = FALSE; 84 for (j = 0; !found && (j < Nmosaic); j++) { 85 if (stop < mosaic[j].start) continue; 86 if (start > mosaic[j].stop) continue; 87 found = TRUE; 88 break; 89 } 90 /* if no matching mosaic exists, skip this image */ 91 if (!found) continue; 147 Nmos = getMosaicByTimes (start, stop, startMos, stopMos, indexMos); 148 if (Nmos == -1) continue; 92 149 93 150 // mosaic corresponding to this image 94 mosaic_for_images[i] = j;151 mosaic_for_images[i] = Nmos; 95 152 96 153 // add image to mosaic_own_image list 97 mosaic_own_images[ j][Nmosaic_own_images[j]] = i;98 Nmosaic_own_images[ j] ++;99 if (Nmosaic_own_images[ j] == Amosaic_own_images[j]) {100 Amosaic_own_images[ j] += 10;101 REALLOCATE (mosaic_own_images[ j], int, Amosaic_own_images[j]);102 } 103 assert (Nmosaic_own_images[ j] < Amosaic_own_images[j]);154 mosaic_own_images[Nmos][Nmosaic_own_images[Nmos]] = i; 155 Nmosaic_own_images[Nmos] ++; 156 if (Nmosaic_own_images[Nmos] == Amosaic_own_images[Nmos]) { 157 Amosaic_own_images[Nmos] += 10; 158 REALLOCATE (mosaic_own_images[Nmos], off_t, Amosaic_own_images[Nmos]); 159 } 160 assert (Nmosaic_own_images[Nmos] < Amosaic_own_images[Nmos]); 104 161 } 105 162 … … 109 166 // return StarData values for detections in the specified image, converting coordinates from the 110 167 // chip positions: X,Y -> L,M -> P,Q -> R,D 111 StarData *getMosaicRaw (Catalog *catalog, int Ncatalog, int mos, int *Nstars) {112 113 int i, j, im, Nraw, Nnew;168 StarData *getMosaicRaw (Catalog *catalog, int Ncatalog, off_t mos, off_t *Nstars) { 169 170 off_t i, j, im, Nraw, Nnew; 114 171 StarData *raw, *new; 115 172 … … 142 199 // return StarData values for averages positions in the specified image, converting coordinates from 143 200 // the sky positions: R,D -> P,Q -> L,M -> X,Y 144 StarData *getMosaicRef (Catalog *catalog, int Ncatalog, int mos, int *Nstars) {145 146 int i, j, im, Nref, Nnew;201 StarData *getMosaicRef (Catalog *catalog, int Ncatalog, off_t mos, off_t *Nstars) { 202 203 off_t i, j, im, Nref, Nnew; 147 204 StarData *ref, *new; 148 205 … … 172 229 } 173 230 174 Mosaic *getMosaicForImage ( int im) {175 176 int mos;231 Mosaic *getMosaicForImage (off_t im) { 232 233 off_t mos; 177 234 178 235 if (im < 0) abort(); -
trunk/Ohana/src/relastro/src/UpdateChips.c
r17151 r27435 4 4 5 5 /* we can measure new image parameters for each non-mosaic chip independently */ 6 int i, Nimage, Nraw, Nref;6 off_t i, Nimage, Nraw, Nref; 7 7 Image *image; 8 8 StarData *raw, *ref; … … 25 25 26 26 // FitChip does iterative, clipped fitting 27 fprintf (stderr, "image % d : Nstars: %d\n", i,Nraw);27 fprintf (stderr, "image %lld : Nstars: %lld\n", (long long) i, (long long) Nraw); 28 28 FitChip (raw, ref, Nraw, &image[i].coords); 29 29 -
trunk/Ohana/src/relastro/src/UpdateMeasures.c
r16810 r27435 3 3 int UpdateMeasures (Catalog *catalog, int Ncatalog) { 4 4 5 int i, Nimage;5 off_t i, Nimage; 6 6 Image *image; 7 7 -
trunk/Ohana/src/relastro/src/UpdateMosaic.c
r15600 r27435 4 4 5 5 /* we can measure new image parameters for each mosaic independently */ 6 int i, Nmosaic, Nstars;6 off_t i, Nmosaic, Nstars; 7 7 Mosaic *mosaic; 8 8 StarData *raw, *ref; -
trunk/Ohana/src/relastro/src/UpdateObjects.c
r24308 r27435 1 1 # include "relastro.h" 2 2 3 static intNmax;3 static off_t Nmax; 4 4 static double *X, *dX; 5 5 static double *Y, *dY; … … 13 13 void initObjectData (Catalog *catalog, int Ncatalog) { 14 14 15 int i, j;15 off_t i, j; 16 16 17 17 Nmax = 0; … … 40 40 int UpdateObjects (Catalog *catalog, int Ncatalog) { 41 41 42 int i, j, k, m, N, Nsecfilt , found, kp;42 int i, j, k, m, N, Nsecfilt; 43 43 StatType statsR, statsD; 44 44 Coords coords; … … 47 47 int mode, Nave, Npm, Npar, Nskip; 48 48 double Tmin, Tmax; 49 float mag;50 int mask;51 PhotCode *code;52 49 53 50 initObjectData (catalog, Ncatalog); … … 74 71 for (i = 0; i < Ncatalog; i++) { 75 72 76 if (VERBOSE) fprintf (stderr, "astrometrize catalog %d : % d ave, %d meas\n", i, catalog[i].Naverage,catalog[i].Nmeasure);73 if (VERBOSE) fprintf (stderr, "astrometrize catalog %d : %lld ave, %lld meas\n", i, (long long) catalog[i].Naverage, (long long) catalog[i].Nmeasure); 77 74 78 75 Nskip = 0; -
trunk/Ohana/src/relastro/src/UpdateSimple.c
r15590 r27435 4 4 5 5 /* we can measure new image parameters for each non-mosaic chip independently */ 6 int i, Nimage, Nstars;6 off_t i, Nimage, Nstars; 7 7 Image *image; 8 8 StarData *raw, *ref; -
trunk/Ohana/src/relastro/src/bcatalog.c
r24308 r27435 3 3 int bcatalog (Catalog *subcatalog, Catalog *catalog) { 4 4 5 int i, j, k, offset, found; 6 int NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm, Nsecfilt; 7 float mag; 8 int mask; 9 PhotCode *code; 5 off_t i, j, offset; 6 off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm; 7 int Nsecfilt; 10 8 11 9 // XXX in the future, use catalog[0].Nsecfilt only? allow catalogs to have variable Nsecfilt? … … 106 104 107 105 if (VERBOSE) { 108 fprintf (stderr, "%d: using %d stars (%d measures) for catalog\n", i, 109 subcatalog[0].Naverage, subcatalog[0].Nmeasure); 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); 110 107 } 111 108 return (TRUE); -
trunk/Ohana/src/relastro/src/load_images.c
r25757 r27435 1 1 # include "relastro.h" 2 3 # define MARKTIME(MSG,...) { \ 4 float dtime; \ 5 gettimeofday (&stop, (void *) NULL); \ 6 dtime = DTIME (stop, start); \ 7 fprintf (stderr, MSG, __VA_ARGS__); } 2 8 3 9 SkyList *load_images (FITS_DB *db, SkyRegion *region) { 4 10 5 11 Image *image, *subset; 6 int Nimage, Nsubset; 7 int *LineNumber; 12 off_t Nimage, Nsubset; 13 off_t *LineNumber; 14 struct timeval start, stop; 8 15 9 16 SkyTable *sky = NULL; 10 17 SkyList *skylist = NULL; 18 19 gettimeofday (&start, (void *) NULL); 11 20 12 21 // load the current sky table (layout of all SkyRegions) … … 16 25 // determine the populated SkyRegions overlapping the requested area 17 26 skylist = SkyListByPatch (sky, -1, region); 27 MARKTIME(" setup sky: %f sec\n", dtime); 18 28 19 29 // convert database table to internal structure 20 30 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 31 MARKTIME(" convert image table: %f sec\n", dtime); 21 32 22 33 // select the images which overlap the selected sky regions 23 34 subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset); 35 MARKTIME(" select images: %f sec\n", dtime); 24 36 25 37 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, LineNumber, Nsubset); 26 38 27 39 initImages (subset, Nsubset); 40 MARKTIME(" init images: %f sec\n", dtime); 41 28 42 initMosaics (subset, Nsubset); 43 MARKTIME(" init mosaics: %f sec\n", dtime); 29 44 30 45 /* unlock, if we can (else, unlocked below) */ -
trunk/Ohana/src/relastro/src/relastro.c
r17243 r27435 1 1 # include "relastro.h" 2 3 # define MARKTIME(MSG,...) { \ 4 float dtime; \ 5 gettimeofday (&stop, (void *) NULL); \ 6 dtime = DTIME (stop, start); \ 7 fprintf (stderr, MSG, __VA_ARGS__); } 2 8 3 9 int main (int argc, char **argv) { … … 6 12 Catalog *catalog; 7 13 FITS_DB db; 14 struct timeval start, stop; 8 15 9 16 SkyList *skylist = NULL; 17 18 gettimeofday (&start, (void *) NULL); 10 19 11 20 /* get configuration info, args */ … … 26 35 if (db.dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db.filename); 27 36 if (!dvo_image_load (&db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db.filename); 37 MARKTIME("load image data: %f sec\n", dtime); 28 38 29 39 /* load regions and images based on specified sky patch (default depth) */ 30 40 skylist = load_images (&db, &UserPatch); 41 MARKTIME("load images: %f sec\n", dtime); 31 42 32 43 /* load catalog data from region files : subselect high-quality measurements */ 33 44 catalog = load_catalogs (skylist, &Ncatalog, TRUE); 45 MARKTIME("load catalog data: %f sec\n", dtime); 34 46 35 47 /* match measurements with images */ 36 48 initImageBins (catalog, Ncatalog); 49 MARKTIME("make image bins: %f sec\n", dtime); 50 37 51 findImages (catalog, Ncatalog); 52 MARKTIME("set up image indexes: %f sec\n", dtime); 38 53 39 54 if (PLOTSTUFF) { -
trunk/Ohana/src/relastro/src/select_images.c
r21508 r27435 13 13 } SkyRegionCoords; 14 14 15 Image *select_images (SkyList *skylist, Image *timage, int Ntimage, int **LineNumber, int *Nimage) { 15 void dsortindex (double *X, off_t *Y, int N); 16 off_t getRegionStartByRA (double R, double *Rref, off_t Nregions); 17 18 Image *select_images (SkyList *skylist, Image *timage, off_t Ntimage, off_t **LineNumber, off_t *Nimage) { 16 19 17 20 Image *image; 18 int i, j, k, m, found, nimage, NIMAGE;19 int InRange ;21 off_t i, j, k, m, nStart, iSky, nimage, NIMAGE; 22 int InRange, found; 20 23 double Ri[5], Di[5], Xi[5], Yi[5], dx, dy; 21 int *line_number;24 off_t *line_number; 22 25 Coords tcoords; 23 26 SkyRegionCoords *skycoords; 24 27 28 double *RmaxSky; 29 off_t *index; 30 25 31 if (skylist[0].Nregions < 1) { 26 32 *Nimage = 0; … … 38 44 39 45 ALLOCATE (skycoords, SkyRegionCoords, skylist[0].Nregions); 46 47 ALLOCATE (RmaxSky, double, skylist[0].Nregions); 48 ALLOCATE (index, off_t, skylist[0].Nregions); 40 49 41 50 /* compare with each region file */ … … 56 65 skycoords[i].Yc[4] = skycoords[i].Yc[0]; 57 66 67 RmaxSky[i] = skylist[0].regions[i][0].Rmax; 68 index[i] = i; 69 58 70 dx = 0.02*(skycoords[i].Xc[2] - skycoords[i].Xc[0]); 59 71 dy = 0.02*(skycoords[i].Yc[2] - skycoords[i].Yc[0]); … … 65 77 } 66 78 79 dsortindex (RmaxSky, index, skylist[0].Nregions); 80 67 81 if (VERBOSE) fprintf (stderr, "finding images\n"); 68 82 BuildChipMatch (timage, Ntimage); … … 71 85 NIMAGE = 100; 72 86 ALLOCATE (image, Image, NIMAGE); 73 ALLOCATE (line_number, int, NIMAGE);87 ALLOCATE (line_number, off_t, NIMAGE); 74 88 75 89 // go through the complete list of images, selecting ones which overlap any region … … 100 114 } 101 115 102 if (!FindMosaicForImage (timage, Ntimage, i)) continue; 116 if (!FindMosaicForImage (timage, Ntimage, i)) { 117 fprintf (stderr, "cannot find mosaic for %lld\n", (long long) i); 118 continue; 119 } 103 120 104 121 /* define image corners */ … … 111 128 112 129 /* transform to ra,dec */ 130 double RminImage = 360.0; 131 // double RmaxImage = 0.0; 113 132 for (j = 0; j < 5; j++) { 114 133 XY_to_RD (&Ri[j], &Di[j], Xi[j], Yi[j], &timage[i].coords); 115 } 134 RminImage = MIN(RminImage, Ri[j]); 135 // RmaxImage = MIN(RmaxImage, Ri[j]); 136 } 137 138 // RA(nStart) is guaranteed to be < RminImage: 139 nStart = getRegionStartByRA (RminImage, RmaxSky, skylist[0].Nregions); 116 140 117 141 /* compare with each region file */ 118 for (m = 0; (m < skylist[0].Nregions) && !found; m++) { 142 for (iSky = nStart; (iSky < skylist[0].Nregions) && !found; iSky++) { 143 144 m = index[iSky]; 145 // if (RmaxImage < skylist[0].regions[m][0].Rmin) { 146 // break; 147 // } 119 148 120 149 /* we make positional comparisons in the projection of catalog */ … … 122 151 tcoords.crval2 = skycoords[m].Dc; 123 152 124 /* transform to ra,dec*/153 /* transform corner coords to X,Y in this catalog system */ 125 154 InRange = TRUE; 126 155 for (j = 0; (j < 5) && InRange; j++) { … … 161 190 NIMAGE += 100; 162 191 REALLOCATE (image, Image, NIMAGE); 163 REALLOCATE (line_number, int, NIMAGE);192 REALLOCATE (line_number, off_t, NIMAGE); 164 193 } 165 194 } 166 195 } 167 196 168 if (VERBOSE) fprintf (stderr, "found % d images\n",nimage);197 if (VERBOSE) fprintf (stderr, "found %lld images\n", (long long) nimage); 169 198 170 199 REALLOCATE (image, Image, MAX (nimage, 1)); 171 REALLOCATE (line_number, int, MAX (nimage, 1));200 REALLOCATE (line_number, off_t, MAX (nimage, 1)); 172 201 free (skycoords); 173 202 … … 253 282 } 254 283 284 void dsortindex (double *X, off_t *Y, int N) { 285 286 # define SWAPFUNC(A,B){ double tmpf; off_t tmpi; \ 287 tmpf = X[A]; X[A] = X[B]; X[B] = tmpf; \ 288 tmpi = Y[A]; Y[A] = Y[B]; Y[B] = tmpi; \ 289 } 290 # define COMPARE(A,B)(X[A] < X[B]) 291 292 OHANA_SORT (N, COMPARE, SWAPFUNC); 293 294 # undef SWAPFUNC 295 # undef COMPARE 296 297 } 298 299 off_t getRegionStartByRA (double R, double *Rref, off_t Nregions) { 300 301 // use bisection to find the overlapping mosaic 302 303 off_t Nlo, Nhi, N; 304 305 // find the last mosaic before start 306 Nlo = 0; Nhi = Nregions; 307 while (Nhi - Nlo > 10) { 308 N = 0.5*(Nlo + Nhi); 309 if (Rref[N] < R) { 310 Nlo = MAX(N, 0); 311 } else { 312 Nhi = MIN(N, Nregions); 313 } 314 } 315 return (Nlo); 316 } -
trunk/Ohana/src/relphot/include/relphot.h
r21508 r27435 7 7 # define GRID_V2 8 8 # define NO_IMAGE -100 9 10 # if (0)11 typedef struct {12 double xmin, xmax, ymin, ymax;13 int style, ptype, ltype, etype, color;14 double lweight, size;15 } Graphdata;16 # endif17 9 18 10 typedef struct { … … 110 102 111 103 # ifdef GRID_V1 112 int setGridMeasure ( int meas, int cat, double X, double Y);104 int setGridMeasure (off_t meas, int cat, double X, double Y); 113 105 # endif 114 106 115 107 # ifdef GRID_V2 116 int setGridMeasure ( int meas, int cat, double X, double Y, int ccdnum);108 int setGridMeasure (off_t meas, int cat, double X, double Y, int ccdnum); 117 109 # endif 118 110 … … 122 114 char *GetPhotnamebyCode PROTO((PhotCodeData *photcodes, int code)); 123 115 void InterpolateGrid PROTO((float *buffer, int Nx, int Ny, Coords *ccd, Coords *gcoords)); 124 int *SelectRefMosaic PROTO((Mosaic **refmosaic, int *Nimage));116 off_t *SelectRefMosaic PROTO((Mosaic **refmosaic, off_t *Nimage)); 125 117 int args PROTO((int argc, char **argv)); 126 118 int bcatalog PROTO((Catalog *subcatalog, Catalog *catalog)); … … 137 129 138 130 void set_db (FITS_DB *in); 139 int Shutdown (char *format, ...) ;131 int Shutdown (char *format, ...) OHANA_FORMAT(printf, 1, 2) ; 140 132 void TrapSignal (int sig); 141 133 void SetProtect (int mode); … … 147 139 void free_catalogs PROTO((Catalog *catalog, int Ncatalog)); 148 140 int gcatalog PROTO((Catalog *catalog, int FINAL)); 149 Coords *getCoords PROTO(( int meas, int cat));150 int getImageEntry PROTO((int meas, int cat));151 float getMcal PROTO(( int meas, int cat));152 float getMgrid PROTO(( int meas, int cat));153 float getMmos PROTO(( int meas, int cat));154 float getMrel PROTO((Catalog *catalog, int meas, int cat));155 Image *getimage PROTO(( int N));156 Image *getimages PROTO(( int *N));141 Coords *getCoords PROTO((off_t meas, int cat)); 142 off_t getImageEntry PROTO((off_t meas, int cat)); 143 float getMcal PROTO((off_t meas, int cat)); 144 float getMgrid PROTO((off_t meas, int cat)); 145 float getMmos PROTO((off_t meas, int cat)); 146 float getMrel PROTO((Catalog *catalog, off_t meas, int cat)); 147 Image *getimage PROTO((off_t N)); 148 Image *getimages PROTO((off_t *N)); 157 149 void global_stats PROTO((Catalog *catalog, int Ncatalog)); 158 150 void initGrid PROTO((int dX, int dY)); 159 151 void initGridBins PROTO((Catalog *catalog, int Ncatalog)); 160 152 void initImageBins PROTO((Catalog *catalog, int Ncatalog)); 161 void initImages PROTO((Image *input, int N));153 void initImages PROTO((Image *input, off_t N)); 162 154 void initMosaicBins PROTO((Catalog *catalog, int Ncatalog)); 163 void initMosaicGrid PROTO((Image *image, int Nimage));164 void initMosaics PROTO((Image *image, int Nimage));155 void initMosaicGrid PROTO((Image *image, off_t Nimage)); 156 void initMosaics PROTO((Image *image, off_t Nimage)); 165 157 void initMrel PROTO((Catalog *catalog, int Ncatalog)); 166 158 void initialize PROTO((int argc, char **argv)); … … 169 161 Catalog *load_catalogs PROTO((SkyList *skylist, int *Ncatalog)); 170 162 SkyList *load_images PROTO((FITS_DB *db, char *regionName, SkyRegion *region, int RegionSelect)); 171 Image *select_images PROTO((SkyList *skylist, Image *timage, int Ntimage, int **LineNumber, int *Nimage));163 Image *select_images PROTO((SkyList *skylist, Image *timage, off_t Ntimage, off_t **LineNumber, off_t *Nimage)); 172 164 173 165 int main PROTO((int argc, char **argv)); 174 void mark_images PROTO((Image *image, int Nimage, Image *timage, int Ntimage));175 void matchImage PROTO((Catalog *catalog, int meas, int cat));176 void matchMosaics PROTO((Catalog *catalog, int meas, int cat));166 void mark_images PROTO((Image *image, off_t Nimage, Image *timage, off_t Ntimage)); 167 void matchImage PROTO((Catalog *catalog, off_t meas, int cat)); 168 void matchMosaics PROTO((Catalog *catalog, off_t meas, int cat)); 177 169 double opening_angle PROTO((double x1, double y1, double x2, double y2, double x3, double y3)); 178 170 void plot_chisq PROTO((Catalog *catalog, int Ncatalog)); … … 180 172 void plot_grid PROTO((Catalog *catalog)); 181 173 void plot_images PROTO((void)); 182 void plot_list PROTO((Graphdata *graphdata, double *xlist, double *ylist, int N, char *label, char *format, ...) );174 void plot_list PROTO((Graphdata *graphdata, double *xlist, double *ylist, int N, char *label, char *format, ...) OHANA_FORMAT(printf, 6, 7) ); 183 175 void plot_mosaic_fields PROTO((Catalog *catalog)); 184 176 void plot_mosaics PROTO((void)); … … 199 191 int setMave PROTO((Catalog *catalog, int Ncatalog)); 200 192 void set_ZP PROTO((double ZERO)); 201 int setrefcode PROTO((Image *image, int Nimage));193 int setrefcode PROTO((Image *image, off_t Nimage)); 202 194 void skip_measurements PROTO((Catalog *catalog, int pass)); 203 195 void sortA PROTO((double *X, int N)); -
trunk/Ohana/src/relphot/src/GridOps.c
r21508 r27435 7 7 }; 8 8 9 static int Ngrid; 9 static int Ngrid; // number of grid elements (gridX * gridY) 10 10 static float *gridM; // magnitude offset for this grid cell 11 11 static float *gridS; // stdev of the magnitude offset for this grid cell 12 12 static int *gridN; // number of stars used to measure the magnitude offset for this grid cell 13 13 static int *gridV; // data mode for this cell: fitted, frozen, reference 14 static int gridX; 15 static int gridY; 16 17 static int **bin; 18 static int **Xmeas; 19 static int **Ymeas; 14 static int gridX; // number of grid elements in X direction 15 static int gridY; // number of grid elements in Y direction 16 17 static int **bin; // link from catalog, measure to grid element 18 static int **Xmeas; // grid x-coordinate for a measurement 19 static int **Ymeas; // grid y-coordinate for a measurement 20 20 21 21 static int **clist; // link from measurement on a cell to catalog containing measurement 22 static int**mlist; // link from measurement on a cell to measurement in a catalog23 static int *Nlist; // listof measurements for each grid cell24 static int *NLIST;22 static off_t **mlist; // link from measurement on a cell to measurement in a catalog 23 static off_t *Nlist; // number of measurements for each grid cell 24 static off_t *NLIST; // allocated number of measurements for each grid cell 25 25 26 26 static struct { … … 159 159 ALLOCATE (Ymeas, int *, Ncatalog); 160 160 for (i = 0; i < Ncatalog; i++) { 161 ALLOCATE (bin[i], int, MAX (catalog[i].Nmeasure, 1));161 ALLOCATE (bin[i], int, MAX (catalog[i].Nmeasure, 1)); 162 162 ALLOCATE (Xmeas[i], int, MAX (catalog[i].Nmeasure, 1)); 163 163 ALLOCATE (Ymeas[i], int, MAX (catalog[i].Nmeasure, 1)); … … 166 166 167 167 /* define grid -> cat,meas pointers */ 168 ALLOCATE (Nlist, int,Ngrid);169 ALLOCATE (NLIST, int,Ngrid);170 ALLOCATE (clist, int *, Ngrid);171 ALLOCATE (mlist, int *, Ngrid);168 ALLOCATE (Nlist, off_t, Ngrid); 169 ALLOCATE (NLIST, off_t, Ngrid); 170 ALLOCATE (clist, int *, Ngrid); 171 ALLOCATE (mlist, off_t *, Ngrid); 172 172 173 173 for (i = 0; i < Ngrid; i++) { 174 174 Nlist[i] = 0; 175 175 NLIST[i] = 100; 176 ALLOCATE (clist[i], int, NLIST[i]);177 ALLOCATE (mlist[i], int, NLIST[i]);176 ALLOCATE (clist[i], int, NLIST[i]); 177 ALLOCATE (mlist[i], off_t, NLIST[i]); 178 178 } 179 179 } … … 206 206 } 207 207 208 int setGridMeasure ( int meas, int cat, double X, double Y, int ccdnum) {208 int setGridMeasure (off_t meas, int cat, double X, double Y, int ccdnum) { 209 209 210 210 int ix, iy, Cx, Cy, i; … … 241 241 if (Nlist[i] == NLIST[i]) { 242 242 NLIST[i] += 100; 243 REALLOCATE (clist[i], int, NLIST[i]);244 REALLOCATE (mlist[i], int, NLIST[i]);243 REALLOCATE (clist[i], int, NLIST[i]); 244 REALLOCATE (mlist[i], off_t, NLIST[i]); 245 245 } 246 246 return (TRUE); … … 264 264 } 265 265 266 float getMgrid ( int meas, int cat) {266 float getMgrid (off_t meas, int cat) { 267 267 268 268 int i; … … 287 287 288 288 int **gotstar, **gridmeas; 289 int i, j, k, N , Ngood, Nbad, Nmos, Ncal, Nrel, Nsys;289 int i, j, k, Ngood, Nbad, Nmos, Ncal, Nrel, Nsys; 290 290 double **A, **B, *Mjx, *Wjx; 291 291 float Msys, Mcal, Mmos, Merr, Wsys; … … 498 498 gridM[i] = B[i][0]; 499 499 gridS[i] = sqrt(A[i][i]); 500 gridN[i] = N ;500 gridN[i] = Ngood; 501 501 } 502 502 … … 673 673 void dump_grid () { 674 674 675 int i, j, Nimage, Nbytes, Nformat; 676 int *imlist; 675 off_t i, Nimage; 676 int j, Nbytes, Nformat; 677 off_t *imlist; 677 678 FILE *f; 678 679 Header header, theader; … … 702 703 gfits_create_header (&header); 703 704 gfits_create_matrix (&header, &matrix); 704 gfits_modify (&header, "NEXTEND", "% d", 1,Nimage + 3);705 gfits_modify (&header, "NEXTEND", "%lld", 1, (long long) Nimage + 3); 705 706 gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name); 706 gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");707 gfits_modify_alt (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis"); 707 708 708 709 // we need to add lines to the PHU to identify the camera and format; these are used by the ipp config system -
trunk/Ohana/src/relphot/src/ImageOps.c
r21508 r27435 3 3 static unsigned int *start; 4 4 static unsigned int *stop; 5 static int**bin;6 7 static int**clist;8 static int**mlist;9 static int*Nlist;10 static int*NLIST;5 static off_t **bin; 6 7 static off_t **clist; 8 static off_t **mlist; 9 static off_t *Nlist; 10 static off_t *NLIST; 11 11 12 12 static Image *image; 13 static intNimage;14 15 void initImages (Image *input, int N) {16 17 int i;13 static off_t Nimage; 14 15 void initImages (Image *input, off_t N) { 16 17 off_t i; 18 18 19 19 image = input; … … 31 31 void initImageBins (Catalog *catalog, int Ncatalog) { 32 32 33 int i, j;34 35 ALLOCATE (bin, int *, Ncatalog);33 off_t i, j; 34 35 ALLOCATE (bin, off_t *, Ncatalog); 36 36 for (i = 0; i < Ncatalog; i++) { 37 ALLOCATE (bin[i], int, MAX (catalog[i].Nmeasure, 1));37 ALLOCATE (bin[i], off_t, MAX (catalog[i].Nmeasure, 1)); 38 38 for (j = 0; j < catalog[i].Nmeasure; j++) bin[i][j] = -1; 39 39 } 40 40 41 ALLOCATE (Nlist, int, Nimage);42 ALLOCATE (NLIST, int, Nimage);43 ALLOCATE (clist, int *, Nimage);44 ALLOCATE (mlist, int *, Nimage);41 ALLOCATE (Nlist, off_t, Nimage); 42 ALLOCATE (NLIST, off_t, Nimage); 43 ALLOCATE (clist, off_t *, Nimage); 44 ALLOCATE (mlist, off_t *, Nimage); 45 45 46 46 for (i = 0; i < Nimage; i++) { 47 47 Nlist[i] = 0; 48 48 NLIST[i] = 100; 49 ALLOCATE (clist[i], int, NLIST[i]);50 ALLOCATE (mlist[i], int, NLIST[i]);49 ALLOCATE (clist[i], off_t, NLIST[i]); 50 ALLOCATE (mlist[i], off_t, NLIST[i]); 51 51 } 52 52 } … … 54 54 void freeImageBins (int Ncatalog) { 55 55 56 int i;56 off_t i; 57 57 58 58 for (i = 0; i < Ncatalog; i++) { … … 70 70 /* **** use this to mimic the Mosaic version ***/ 71 71 # if (0) 72 void initImageGrid (Image *image, int Nimage) {72 void initImageGrid (Image *image, off_t Nimage) { 73 73 74 74 /* find max dR, dD range for all mosaics */ … … 76 76 /* send results to initGridBins */ 77 77 78 int i, j, m, NX, NY;78 off_t i, j, m, NX, NY; 79 79 int dXmax, dYmax; 80 80 double dS, dX, dY; … … 151 151 void findImages (Catalog *catalog, int Ncatalog) { 152 152 153 int i, j, ecode; 153 off_t j; 154 int i, ecode; 154 155 155 156 for (i = 0; i < Ncatalog; i++) { … … 164 165 /* XXX convert this to use the values of measure->Xccd,Yccd */ 165 166 /* XXX need to apply the conversion for ELIXIR and LONEOS formats */ 166 void matchImage (Catalog *catalog, int meas, int cat) { 167 168 int i, ccdnum; 167 void matchImage (Catalog *catalog, off_t meas, int cat) { 168 169 off_t i; 170 int ccdnum; 169 171 double X, Y; 170 172 char *pname, *filter, *p, base[256]; … … 220 222 if (Nlist[i] == NLIST[i]) { 221 223 NLIST[i] += 100; 222 REALLOCATE (clist[i], int, NLIST[i]);223 REALLOCATE (mlist[i], int, NLIST[i]);224 REALLOCATE (clist[i], off_t, NLIST[i]); 225 REALLOCATE (mlist[i], off_t, NLIST[i]); 224 226 } 225 227 return; … … 228 230 } 229 231 230 int getImageEntry (int meas, int cat) {231 232 int i;232 off_t getImageEntry (off_t meas, int cat) { 233 234 off_t i; 233 235 234 236 i = bin[cat][meas]; … … 236 238 } 237 239 238 float getMcal ( int meas, int cat) {239 240 int i;240 float getMcal (off_t meas, int cat) { 241 242 off_t i; 241 243 float value; 242 244 … … 249 251 } 250 252 251 Coords *getCoords ( int meas, int cat) {252 253 int i;253 Coords *getCoords (off_t meas, int cat) { 254 255 off_t i; 254 256 255 257 i = bin[cat][meas]; … … 261 263 void setMcal (Catalog *catalog, int PoorImages) { 262 264 263 int i, j, m, c, n, N, Nmax, mark, bad, Nfew, Nbad, Nmos, Ngrid, Nrel, Nsys; 265 off_t i, j, m, c, n, N, Nmax, mark, bad; 266 int Nfew, Nbad, Nmos, Ngrid, Nrel, Nsys; 264 267 float Msys, Mrel, Mmos, Mgrid; 265 268 double *list, *dlist; … … 359 362 void clean_images () { 360 363 361 int i, N, mark, Nmark; 364 int mark, Nmark; 365 off_t i, N; 362 366 double *mlist, *slist, *dlist; 363 367 double MaxOffset, MaxScatter, MedOffset; … … 409 413 void plot_images () { 410 414 411 int i, bin;415 off_t i, bin; 412 416 double *xlist, *Mlist, *dlist; 413 417 Graphdata graphdata; … … 457 461 StatType statsImageN (Catalog *catalog) { 458 462 459 int i, j, m, c, n, N;463 off_t i, j, m, c, n, N; 460 464 double *list, *dlist; 461 465 float Mcal, Mmos, Mgrid; … … 499 503 StatType statsImageX (Catalog *catalog) { 500 504 501 int i, n;505 off_t i, n; 502 506 double *list, *dlist; 503 507 StatType stats; … … 527 531 StatType statsImageM (Catalog *catalog) { 528 532 529 int i, n;533 off_t i, n; 530 534 double *list, *dlist; 531 535 StatType stats; … … 555 559 StatType statsImagedM (Catalog *catalog) { 556 560 557 int i, n;561 off_t i, n; 558 562 double *list, *dlist; 559 563 StatType stats; … … 581 585 } 582 586 583 Image *getimages ( int *N) {587 Image *getimages (off_t *N) { 584 588 585 589 *N = Nimage; … … 587 591 } 588 592 589 Image *getimage ( int N) {593 Image *getimage (off_t N) { 590 594 return (&image[N]); 591 595 } -
trunk/Ohana/src/relphot/src/MosaicOps.c
r21508 r27435 1 1 # include "relphot.h" 2 2 3 Image *getimages (int *N); 4 5 static int Nmosaic; 3 static off_t Nmosaic; 6 4 static Mosaic *mosaic; 7 5 8 static int*Nimlist;9 static int **imlist; /* mosaic -> image[] */10 static int **bin; /* catalog, measure -> mosaic */11 12 static int **clist; /* mosaic -> catalog[] */13 static int **mlist; /* mosiac -> measure[] */14 static int *Nlist;15 static int *NLIST;6 static off_t *Nimlist; 7 static off_t **imlist; /* mosaic -> image[] */ 8 static off_t **bin; /* catalog, measure -> mosaic */ 9 10 static int **clist; /* mosaic -> catalog[] */ 11 static off_t **mlist; /* mosiac -> measure[] */ 12 static off_t *Nlist; 13 static off_t *NLIST; 16 14 17 15 /* find mosaic frames (unique time periods & photcode name matches mosaic) */ 18 void initMosaics (Image *image, int Nimage) {19 20 int i, j, status, found, NMOSAIC, *NIMLIST;16 void initMosaics (Image *image, off_t Nimage) { 17 18 off_t i, j, status, found, NMOSAIC, *NIMLIST; 21 19 unsigned int start, stop; 22 20 char *pname; … … 28 26 ALLOCATE (mosaic, Mosaic, NMOSAIC); 29 27 30 ALLOCATE (imlist, int *, NMOSAIC);31 ALLOCATE (Nimlist, int,NMOSAIC);32 ALLOCATE (NIMLIST, int,NMOSAIC);28 ALLOCATE (imlist, off_t *, NMOSAIC); 29 ALLOCATE (Nimlist, off_t, NMOSAIC); 30 ALLOCATE (NIMLIST, off_t, NMOSAIC); 33 31 34 32 /* generate list of unique mosaics */ … … 56 54 if (Nimlist[j] == NIMLIST[j]) { 57 55 NIMLIST[j] += 10; 58 REALLOCATE (imlist[j], int, NIMLIST[j]);56 REALLOCATE (imlist[j], off_t, NIMLIST[j]); 59 57 } 60 58 … … 74 72 NIMLIST[Nmosaic] = 10; 75 73 Nimlist[Nmosaic] = 1; 76 ALLOCATE (imlist[Nmosaic], int, NIMLIST[Nmosaic]);74 ALLOCATE (imlist[Nmosaic], off_t, NIMLIST[Nmosaic]); 77 75 imlist[Nmosaic][0] = i; 78 76 … … 80 78 if (Nmosaic == NMOSAIC) { 81 79 NMOSAIC += 10; 82 REALLOCATE (mosaic, Mosaic,NMOSAIC);83 REALLOCATE (imlist, int *, NMOSAIC);84 REALLOCATE (Nimlist, int,NMOSAIC);85 REALLOCATE (NIMLIST, int,NMOSAIC);80 REALLOCATE (mosaic, Mosaic, NMOSAIC); 81 REALLOCATE (imlist, off_t *, NMOSAIC); 82 REALLOCATE (Nimlist, off_t, NMOSAIC); 83 REALLOCATE (NIMLIST, off_t, NMOSAIC); 86 84 } 87 85 } … … 91 89 } 92 90 93 void initMosaicGrid (Image *image, int Nimage) {91 void initMosaicGrid (Image *image, off_t Nimage) { 94 92 95 93 /* find max dR, dD range for all mosaics */ … … 97 95 /* send results to initGridBins */ 98 96 99 int i, j, m, NX, NY;97 off_t i, j, m, NX, NY; 100 98 int dXmax, dYmax; 101 99 double dS, dX, dY; … … 170 168 void setMcalFinal () { 171 169 172 int i, j, im, Nimage;170 off_t i, j, im, Nimage; 173 171 Image *image; 174 172 … … 191 189 void initMosaicBins (Catalog *catalog, int Ncatalog) { 192 190 193 int i, j;191 off_t i, j; 194 192 195 193 /* measure -> mosaic */ 196 194 if (!MOSAIC_ZEROPT) return; 197 195 198 ALLOCATE (bin, int *, Ncatalog);196 ALLOCATE (bin, off_t *, Ncatalog); 199 197 for (i = 0; i < Ncatalog; i++) { 200 ALLOCATE (bin[i], int, MAX (catalog[i].Nmeasure, 1));198 ALLOCATE (bin[i], off_t, MAX (catalog[i].Nmeasure, 1)); 201 199 for (j = 0; j < catalog[i].Nmeasure; j++) bin[i][j] = -1; 202 200 } 203 201 204 202 /* mosaic -> measure */ 205 ALLOCATE (Nlist, int,Nmosaic);206 ALLOCATE (NLIST, int,Nmosaic);207 ALLOCATE (clist, int *, Nmosaic);208 ALLOCATE (mlist, int *, Nmosaic);203 ALLOCATE (Nlist, off_t, Nmosaic); 204 ALLOCATE (NLIST, off_t, Nmosaic); 205 ALLOCATE (clist, int *, Nmosaic); 206 ALLOCATE (mlist, off_t *, Nmosaic); 209 207 210 208 for (i = 0; i < Nmosaic; i++) { 211 209 Nlist[i] = 0; 212 210 NLIST[i] = 100; 213 ALLOCATE (clist[i], int, NLIST[i]);214 ALLOCATE (mlist[i], int, NLIST[i]);211 ALLOCATE (clist[i], int, NLIST[i]); 212 ALLOCATE (mlist[i], off_t, NLIST[i]); 215 213 } 216 214 } … … 218 216 void freeMosaicBins (int Ncatalog) { 219 217 220 int i;218 off_t i; 221 219 222 220 /* measure -> mosaic */ … … 241 239 int findMosaics (Catalog *catalog, int Ncatalog) { 242 240 243 int i, j, ecode; 241 int i, ecode; 242 off_t j; 244 243 245 244 if (!MOSAIC_ZEROPT) return (FALSE); … … 259 258 } 260 259 261 void matchMosaics (Catalog *catalog, int meas, int cat) {260 void matchMosaics (Catalog *catalog, off_t meas, int cat) { 262 261 263 262 int i; … … 287 286 if (Nlist[i] == NLIST[i]) { 288 287 NLIST[i] += 100; 289 REALLOCATE (clist[i], int, NLIST[i]);290 REALLOCATE (mlist[i], int, NLIST[i]);288 REALLOCATE (clist[i], int, NLIST[i]); 289 REALLOCATE (mlist[i], off_t, NLIST[i]); 291 290 } 292 291 return; … … 296 295 } 297 296 298 float getMmos ( int meas, int cat) {299 300 int i;297 float getMmos (off_t meas, int cat) { 298 299 off_t i; 301 300 float value; 302 301 … … 313 312 int setMmos (Catalog *catalog, int PoorImages) { 314 313 315 int i, j, m, c, n, N, Nmax, mark, bad, Nfew, Nbad, Ncal, Nrel, Ngrid, Nsys; 314 off_t i, j, m, c, N, Nmax; 315 int n, mark, bad, Nfew, Nbad, Ncal, Nrel, Ngrid, Nsys; 316 316 float Msys, Mrel, Mcal, Mgrid; 317 317 double *list, *dlist, *Mlist, *dMlist; … … 392 392 mark = (N < IMAGE_TOOFEW) || (N < IMAGE_GOOD_FRACTION*Nlist[i]); 393 393 if (mark) { 394 fprintf (stderr, "marked image %s (% d), (%d < %d) || (%d < %f*%d)\n", image[imlist[i][0]].name, i, N, IMAGE_TOOFEW, N, IMAGE_GOOD_FRACTION,Nlist[i]);394 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]); 395 395 mosaic[i].flags |= ID_IMAGE_FEW; 396 396 Nfew ++; … … 400 400 } 401 401 liststats (list, dlist, N, &stats); 402 if (PoorImages) fprintf (stderr, "Mmos: %f %f %d % d\n", stats.mean, stats.sigma, stats.Nmeas,N);402 if (PoorImages) fprintf (stderr, "Mmos: %f %f %d %lld\n", stats.mean, stats.sigma, stats.Nmeas, (long long) N); 403 403 mosaic[i].Mcal = stats.mean; 404 404 mosaic[i].dMcal = stats.sigma; … … 422 422 StatType statsMosaicM (Catalog *catalog) { 423 423 424 int i, n; 424 off_t i; 425 int n; 425 426 double *list, *dlist; 426 427 StatType stats; … … 448 449 StatType statsMosaicdM (Catalog *catalog) { 449 450 450 int i, n;451 off_t i, n; 451 452 double *list, *dlist; 452 453 StatType stats; … … 476 477 StatType statsMosaicN (Catalog *catalog) { 477 478 478 int i, j, m, c, n, N;479 off_t i, j, m, c, n, N; 479 480 double *list, *dlist; 480 481 float Mcal, Mgrid, Mrel; … … 510 511 n++; 511 512 } 512 fprintf (stderr, "Nmosaic: % d, n: %d\n", Nmosaic,n);513 fprintf (stderr, "Nmosaic: %lld, n: %lld\n", (long long) Nmosaic, (long long) n); 513 514 514 515 liststats (list, dlist, n, &stats); … … 520 521 StatType statsMosaicX (Catalog *catalog) { 521 522 522 int i, n;523 off_t i, n; 523 524 double *list, *dlist; 524 525 StatType stats; … … 549 550 void clean_mosaics () { 550 551 551 int i, N, mark, Nmark;552 off_t i, N, mark, Nmark; 552 553 double *mlist, *slist, *dlist; 553 554 double MaxOffset, MedOffset, MaxScatter; … … 590 591 } 591 592 592 fprintf (stderr, "% d mosaics marked poor\n",Nmark);593 fprintf (stderr, "%lld mosaics marked poor\n", (long long) Nmark); 593 594 initstats (STATMODE); 594 595 free (mlist); … … 599 600 void plot_mosaic_fields (Catalog *catalog) { 600 601 601 int i, j, m, c, N, ave, Nimage;602 off_t i, j, m, c, N, ave, Nimage; 602 603 double *xlist, *ylist; 603 604 double Xmin, Xmax, Ymin, Ymax; … … 634 635 } 635 636 636 sprintf (string, "Mosaic % d",i);637 sprintf (string, "Mosaic %lld", (long long) i); 637 638 plot_defaults (&graphdata); 638 639 plot_list (&graphdata, xlist, ylist, N, string, NULL); … … 645 646 void plot_mosaics () { 646 647 647 int i, bin;648 off_t i, bin; 648 649 double *xlist, *Mlist, *dlist; 649 650 Graphdata graphdata; … … 694 695 } 695 696 696 int *SelectRefMosaic (Mosaic **refmosaic, int *Nimage) {697 698 int i, Imax, Nmax;697 off_t *SelectRefMosaic (Mosaic **refmosaic, off_t *Nimage) { 698 699 off_t i, Imax, Nmax; 699 700 700 701 Imax = 0; -
trunk/Ohana/src/relphot/src/StarOps.c
r25735 r27435 7 7 void initMrel (Catalog *catalog, int Ncatalog) { 8 8 9 int i, j;9 off_t i, j; 10 10 11 11 Nmax = 0; … … 20 20 } 21 21 22 float getMrel (Catalog *catalog, int meas, int cat) {22 float getMrel (Catalog *catalog, off_t meas, int cat) { 23 23 24 24 int ave; … … 34 34 int setMrel (Catalog *catalog, int Ncatalog) { 35 35 36 int i, j, k, m, N, Nfew, Nsys, Nbad, Ncal, Nmos, Ngrid; 36 off_t j, k, m; 37 int i, N, Nfew, Nsys, Nbad, Ncal, Nmos, Ngrid; 37 38 float Msys, Mcal, Mmos, Mgrid; 38 39 StatType stats; … … 109 110 int setMrelOutput (Catalog *catalog, int Ncatalog, int mark) { 110 111 111 int i, j, k, m, N, Nmax; 112 int i, N; 113 off_t j, k, m, Nmax; 112 114 float Msys, Mcal, Mmos, Mgrid; 113 115 double *list, *dlist; … … 173 175 int setMave (Catalog *catalog, int Ncatalog) { 174 176 175 int i, j, k, m, Ns, Nsecfilt, N, Nmax, Nc; 177 off_t j, k, m, Nmax; 178 int i, Ns, Nsecfilt, N, Nc; 176 179 float Msys; 177 180 double *list, *dlist; … … 293 296 int setMcalOutput (Catalog *catalog, int Ncatalog) { 294 297 295 int i, j, k, m; 298 int i; 299 off_t j, k, m; 296 300 float Mcal, Mmos, Mgrid; 297 301 … … 380 384 void clean_measures (Catalog *catalog, int Ncatalog, int final) { 381 385 382 int i, j, k, m, N, Ndel, Nave, Nmax, image_bad, TOOFEW; 383 int *ilist; 386 off_t j, k, m, Nmax, Ndel, Nave; 387 int i, N, image_bad, TOOFEW; 388 off_t *ilist; 384 389 double *tlist, *list, *dlist, Ns; 385 390 float Msys, Mcal, Mmos, Mgrid; … … 396 401 ALLOCATE (list, double, MAX (1, Nmax)); 397 402 ALLOCATE (dlist, double, MAX (1, Nmax)); 398 ALLOCATE (ilist, int, Nmax);403 ALLOCATE (ilist, off_t, Nmax); 399 404 ALLOCATE (tlist, double, Nmax); 400 405 … … 480 485 } 481 486 initstats (STATMODE); 482 if (VERBOSE) fprintf (stderr, "% d measures marked poor, %d total\n", Ndel,Nave);487 if (VERBOSE) fprintf (stderr, "%lld measures marked poor, %lld total\n", (long long) Ndel, (long long) Nave); 483 488 free (ilist); 484 489 free (tlist); … … 487 492 StatType statsStarN (Catalog *catalog, int Ncatalog) { 488 493 489 int i, j, k, m, n, N, Ntot; 494 off_t j, k, m, Ntot; 495 int i, n, N; 490 496 double *list, *dlist; 491 497 float Mcal, Mmos, Mgrid; … … 533 539 StatType statsStarX (Catalog *catalog, int Ncatalog) { 534 540 535 int i, j, n, Ntot, Xm; 541 off_t j, Ntot; 542 int i, n, Xm; 536 543 double *list, *dlist; 537 544 StatType stats; … … 568 575 StatType statsStarS (Catalog *catalog, int Ncatalog) { 569 576 570 int i, j, n, Ntot; 577 int i, n; 578 off_t j, Ntot; 571 579 double *list, *dlist; 572 580 float dM; … … 603 611 void plot_stars (Catalog *catalog, int Ncatalog) { 604 612 605 int i, j, bin; 613 int i, bin; 614 off_t j; 606 615 float dMrel; 607 616 double *xlist, *Mlist; … … 634 643 void plot_chisq (Catalog *catalog, int Ncatalog) { 635 644 636 int i, j, N, Ntotal, value; 645 off_t j, Ntotal; 646 int i, N, value; 637 647 double *xlist, *ylist; 638 648 Graphdata graphdata; … … 665 675 void plot_star_coords (Catalog *catalog, int Ncatalog) { 666 676 667 int i, j, N; 677 int i; 678 off_t j, N; 668 679 double *xlist, *ylist; 669 680 double Xmin, Ymin, Xmax, Ymax; -
trunk/Ohana/src/relphot/src/bcatalog.c
r21508 r27435 3 3 int bcatalog (Catalog *subcatalog, Catalog *catalog) { 4 4 5 int i, j, offset, ecode; 6 int NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm; 5 off_t i, j, offset; 6 int ecode; 7 off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm; 7 8 float mag; 8 9 … … 113 114 114 115 if (VERBOSE) { 115 fprintf (stderr, "% d: using %d stars (%d measures) for catalog\n",i,116 subcatalog[0].Naverage,subcatalog[0].Nmeasure);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); 117 118 } 118 119 return (TRUE); -
trunk/Ohana/src/relphot/src/load_images.c
r25757 r27435 4 4 5 5 Image *image, *subset; 6 intNimage, Nsubset, Nchar;7 int*LineNumber;6 off_t Nimage, Nsubset, Nchar; 7 off_t *LineNumber; 8 8 9 9 SkyTable *sky = NULL; … … 40 40 41 41 Image *image; 42 intNimage, Nx, i;42 off_t Nimage, Nx, i; 43 43 VTable *vtable; 44 44 … … 47 47 vtable = &db[0].vtable; 48 48 49 gfits_scan (vtable[0].header, "NAXIS1", "% d", 1,&Nx);49 gfits_scan (vtable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx); 50 50 for (i = 0; i < Nimage; i++) { 51 51 memcpy (vtable[0].buffer[i], &image[i], Nx); -
trunk/Ohana/src/relphot/src/plot_scatter.c
r21508 r27435 3 3 void plot_scatter (Catalog *catalog, int Ncatalog) { 4 4 5 int i, j, k, m, N, Ntot;5 off_t i, j, k, m, N, Ntot; 6 6 float Mrel, Mcal, Mmos, Mgrid; 7 7 double *xlist, *ylist, *ilist; -
trunk/Ohana/src/relphot/src/relphot_objects.c
r25757 r27435 3 3 int relphot_objects () { 4 4 5 int i, j, k, m;5 off_t i, j, k, m; 6 6 int Nsecfilt; 7 7 -
trunk/Ohana/src/relphot/src/select_images.c
r21508 r27435 13 13 } SkyRegionCoords; 14 14 15 Image *select_images (SkyList *skylist, Image *timage, int Ntimage, int **LineNumber, int *Nimage) {15 Image *select_images (SkyList *skylist, Image *timage, off_t Ntimage, off_t **LineNumber, off_t *Nimage) { 16 16 17 17 Image *image; 18 int i, j, k, m, found, nimage, NIMAGE; 19 int InRange, ecode; 18 off_t i, j, k, m; 19 off_t *line_number, nimage, NIMAGE; 20 int InRange, ecode, found; 20 21 double Ri[5], Di[5], Xi[5], Yi[5], dx, dy; 21 int *line_number;22 22 Coords tcoords; 23 23 SkyRegionCoords *skycoords; … … 71 71 NIMAGE = 100; 72 72 ALLOCATE (image, Image, NIMAGE); 73 ALLOCATE (line_number, int, NIMAGE);73 ALLOCATE (line_number, off_t, NIMAGE); 74 74 75 75 // go through the complete list of images, selecting ones which overlap any region … … 146 146 NIMAGE += 100; 147 147 REALLOCATE (image, Image, NIMAGE); 148 REALLOCATE (line_number, int, NIMAGE);148 REALLOCATE (line_number, off_t, NIMAGE); 149 149 } 150 150 } 151 151 } 152 152 153 if (VERBOSE) fprintf (stderr, "found % d images\n",nimage);153 if (VERBOSE) fprintf (stderr, "found %lld images\n", (long long) nimage); 154 154 155 155 REALLOCATE (image, Image, MAX (nimage, 1)); 156 REALLOCATE (line_number, int, MAX (nimage, 1));156 REALLOCATE (line_number, off_t, MAX (nimage, 1)); 157 157 free (skycoords); 158 158 -
trunk/Ohana/src/relphot/src/setExclusions.c
r16810 r27435 3 3 int setExclusions (Catalog *catalog, int Ncatalog) { 4 4 5 int i, j, k, m, Narea, Nnocal, Ngood, ecode; 5 off_t i, j, k, m, Narea, Nnocal, Ngood; 6 int ecode; 6 7 Coords *coords; 7 8 double r, d, x, y; … … 49 50 } 50 51 } 51 if (VERBOSE) fprintf (stderr, "% d measurements marked by area\n",Narea);52 if (VERBOSE) fprintf (stderr, "% d measurements marked nocal\n",Nnocal);53 if (VERBOSE) fprintf (stderr, "% d measurements kept for analysis\n",Ngood);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); 54 55 return (TRUE); 55 56 } -
trunk/Ohana/src/relphot/src/setMrelFinal.c
r26154 r27435 3 3 void setMrelFinal (Catalog *catalog) { 4 4 5 int i, j, m, ecode; 5 off_t i, j, m; 6 int ecode; 6 7 7 8 /* if we reset the catalog, reset all the current measurements */ … … 39 40 40 41 /* set catalog[0].found[i] = FALSE */ 41 ALLOCATE (catalog[0].found, int, MAX (1, catalog[0].Naverage));42 ALLOCATE (catalog[0].found, off_t, MAX (1, catalog[0].Naverage)); 42 43 for (i = 0; i < catalog[0].Naverage; i++) { 43 44 catalog[0].found[i] = FALSE; … … 66 67 void skip_measurements (Catalog *catalog, int pass) { 67 68 68 int i, k, m, ecode, d1, d2; 69 int Ntot, Ntry, Nkeep, Nskip; 69 off_t i, k, m; 70 int ecode; 71 off_t Ntot, Ntry, Nkeep, Nskip; 70 72 float mag; 71 73 … … 136 138 } 137 139 } 138 if (VERBOSE) fprintf (stderr, "pass %d, Ntot: % d, Ntry: %d, Nskip: %d, Nkeep: %d\n",139 pass, Ntot, Ntry, Nskip,Nkeep);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 142 } 141 143 -
trunk/Ohana/src/tools/src/ckfits.c
r15487 r27435 4 4 int main (int argc, char **argv) { 5 5 6 int i, Nbytes, nbytes, Ndata, Ntotal, nskip, status; 6 off_t i, Nbytes, nbytes, Ndata, Ntotal, nskip; 7 int status; 7 8 Header header; 8 9 FILE *f; … … 26 27 27 28 nbytes = Ntotal - Ndata; 28 nskip = Ndata + header. size;29 nskip = Ndata + header.datasize; 29 30 30 31 f = fopen (argv[1], "r"); … … 35 36 36 37 ALLOCATE (buffer, char, MAX (nbytes, 1)); 37 fseek (f, nskip, SEEK_SET);38 fseeko (f, nskip, SEEK_SET); 38 39 Nbytes = fread (buffer, 1, nbytes, f); 39 40 fclose (f); -
trunk/Ohana/src/tools/src/fhead.c
r12333 r27435 5 5 6 6 int N, Extend, Nextend, status; 7 int i, j, nbytes; 7 int i, j; 8 off_t nbytes; 8 9 Header head; 9 10 char *p; … … 29 30 if (!status) continue; 30 31 31 for (j = 79; j < head. size; j+= 80) {32 for (j = 79; j < head.datasize; j+= 80) { 32 33 head.buffer[j] = 10; 33 34 } -
trunk/Ohana/src/tools/src/fields.c
r24232 r27435 22 22 Header header; 23 23 char filename[1000], *CCDKeyword, *Extname, extname[80]; 24 int N, Nbytes,Extnum, Nextend, status, GotFile, GotField, GotExtension;25 24 int N, Extnum, Nextend, status, GotFile, GotField, GotExtension; 25 off_t Nbytes; 26 26 regex_t preg; 27 27 … … 97 97 98 98 Nbytes = gfits_data_size (&header); 99 fseek (f, Nbytes, SEEK_CUR);99 fseeko (f, Nbytes, SEEK_CUR); 100 100 Nextend ++; 101 101 -
trunk/Ohana/src/tools/src/fits_insert.c
r21046 r27435 7 7 int main (int argc, char **argv) { 8 8 9 int i, N, status, EXTNUM, Nbytes, skip, Delete, DeleteStart, DeleteStop; 10 int Nreserved, start_size; 9 off_t i, skip, Nbytes, start_size; 10 int N, status, EXTNUM, Delete, DeleteStart, DeleteStop; 11 int Nreserved; 11 12 char *p, keyword[16], line[256]; 12 13 FILE *f; … … 62 63 exit (1); 63 64 } 64 start_size = header. size;65 skip = Nbytes - header. size;65 start_size = header.datasize; 66 skip = Nbytes - header.datasize; 66 67 67 68 /* open header data file */ … … 116 117 /* check that the line does not already exist */ 117 118 p = (char *) NULL; 118 for (i = 0; (i < header. size) && (p == (char *) NULL) ; i+= FT_LINE_LENGTH) {119 for (i = 0; (i < header.datasize) && (p == (char *) NULL) ; i+= FT_LINE_LENGTH) { 119 120 if (!strncmp (&header.buffer[i], line, 80)) { 120 121 p = &header.buffer[i]; … … 126 127 p = (char *) NULL; 127 128 Nreserved = strlen (reserved); 128 for (i = 0; (i < header. size) && (p == (char *) NULL) ; i+= FT_LINE_LENGTH) {129 for (i = 0; (i < header.datasize) && (p == (char *) NULL) ; i+= FT_LINE_LENGTH) { 129 130 if (!strncmp (&header.buffer[i], "END ", 8)) break; 130 131 if (!strncmp (&header.buffer[i], reserved, Nreserved)) { … … 142 143 exit (1); 143 144 } 144 if (p - header.buffer + 80 == header. size) {145 if (p - header.buffer + 80 == header.datasize) { 145 146 fprintf (stderr, "no free space in block, can't insert keyword\n"); 146 147 exit (1); … … 161 162 */ 162 163 163 if (header. size != start_size) {164 if (header.datasize != start_size) { 164 165 fprintf (stderr, "header changed size: should not happen!\n"); 165 166 exit (1); … … 172 173 } 173 174 174 fseek (f, skip, SEEK_SET);175 status = fwrite (header.buffer, 1, header. size, f);176 if (status != header. size) {175 fseeko (f, skip, SEEK_SET); 176 status = fwrite (header.buffer, 1, header.datasize, f); 177 if (status != header.datasize) { 177 178 fprintf (stderr, "failed to write data to image header\n"); 178 179 exit (1); -
trunk/Ohana/src/tools/src/ftable.c
r26384 r27435 8 8 void list_extnames (char *file); 9 9 void print_layout (Header *header); 10 int ByteSwap (char *ptr, int size, int nitems, char *type);11 10 int Binary; 12 11 13 12 int main (int argc, char **argv) { 14 13 15 int i, N, Nx, Ny, Nbytes, Nread;16 int N extend, Column, Row, ListExtname, Layout;14 off_t i, Nx, Ny, Nbytes, Nread, Row; 15 int N, Nextend, Column, ListExtname, Layout; 17 16 char *Extname, *Colname, *line, ttype[80]; 18 17 FTable table; … … 94 93 exit (1); 95 94 } 96 table. size = Nbytes;97 98 gfits_scan (table.header, "NAXIS1", "% d", 1,&Nx);99 gfits_scan (table.header, "NAXIS2", "% d", 1,&Ny);95 table.datasize = Nbytes; 96 97 gfits_scan (table.header, "NAXIS1", "%lld", 1, (long long *) &Nx); 98 gfits_scan (table.header, "NAXIS2", "%lld", 1, (long long *) &Ny); 100 99 101 100 /* print a column */ … … 122 121 char *print_table_row (char *row, Header *header) { 123 122 124 int i, j, Nx, Nfields, Nbytes, Nvals, Oout, Oin; 123 off_t Nx; 124 int i, j, Nfields, Nbytes, Nvals, Oout, Oin; 125 125 char field[16], type[16], format[16], *line; 126 126 127 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);127 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 128 128 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 129 129 … … 160 160 161 161 FILE *f; 162 int i, Naxis, Nelem, Ncomp, extend, Nbytes, status; 162 off_t Nbytes, Nelem; 163 int i, Naxis, Ncomp, extend, status; 163 164 char extname[82], exttype[82], axisname[32]; 164 165 Header header; … … 169 170 exit (1); 170 171 } 171 172 /*173 if (!gfits_fread_header (f, &header)) {174 fprintf (stderr, "can't read header from %s\n", file);175 exit (1);176 }177 Nbytes = gfits_data_size (&header);178 fseek (f, Nbytes, SEEK_CUR);179 */180 172 181 173 fprintf (stdout, "%-30s %-15s NAXIS NAXIS(i)...\n", "extname", "datatype"); … … 217 209 for (i = 0; i < Naxis; i++) { 218 210 sprintf (axisname, "NAXIS%d", i+1); 219 status = gfits_scan (&header, axisname, "% d", 1,&Nelem);211 status = gfits_scan (&header, axisname, "%lld", 1, (long long *) &Nelem); 220 212 if (!status) { 221 213 fprintf (stderr, "missing %s\n", axisname); 222 214 } 223 fprintf (stdout, " %7 d",Nelem);215 fprintf (stdout, " %7lld", (long long) Nelem); 224 216 } 225 217 fprintf (stdout, "\n"); … … 228 220 if (Ncomp == 0) { 229 221 extend = FALSE; 230 gfits_scan (&header, "EXTEND", "%t", 1, &extend);222 gfits_scan_alt (&header, "EXTEND", "%t", 1, &extend); 231 223 if (!extend) { 232 224 fprintf (stderr, "no extensions listed in file\n"); … … 235 227 236 228 Nbytes = gfits_data_size (&header); 237 fseek (f, Nbytes, SEEK_CUR);229 fseeko (f, Nbytes, SEEK_CUR); 238 230 239 231 Ncomp ++; … … 245 237 FILE *load_extension (char *file, int Nextend, char *Extname, Header *header) { 246 238 247 int i, extend, Nbytes; 239 off_t Nbytes; 240 int i, extend; 248 241 char extname[82]; 249 242 FILE *f; … … 264 257 /* check for existence of extensions */ 265 258 extend = FALSE; 266 gfits_scan (header, "EXTEND", "%t", 1, &extend);259 gfits_scan_alt (header, "EXTEND", "%t", 1, &extend); 267 260 if (!extend) { 268 261 fprintf (stderr, "no extensions listed in file\n"); … … 271 264 /* skip first data array */ 272 265 Nbytes = gfits_data_size (header); 273 fseek (f, Nbytes, SEEK_CUR);266 fseeko (f, Nbytes, SEEK_CUR); 274 267 275 268 /* search for extension of interest */ … … 281 274 282 275 Nbytes = gfits_data_size (header); 283 fseek (f, Nbytes, SEEK_CUR);276 fseeko (f, Nbytes, SEEK_CUR); 284 277 gfits_free_header (header); 285 278 } … … 292 285 void print_column (FTable *table, int Column, char *Colname) { 293 286 294 int i, j, Nfields, Nstart, Nv, Nb, Nx, Ny; 287 off_t Nx, Ny; 288 int i, j, Nfields, Nstart, Nv, Nb; 295 289 Header *header; 296 290 char format[16], field[16], type[16], *line, *data; … … 300 294 301 295 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 302 gfits_scan (header, "NAXIS1", "% d", 1,&Nx);303 gfits_scan (header, "NAXIS2", "% d", 1,&Ny);296 gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx); 297 gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny); 304 298 305 299 if (Colname != (char *) NULL) { … … 364 358 if (!strcmp (type, "int64_t")) { 365 359 memcpy (line, &data[i*Nv*Nb + Nb*j], Nb); 366 fprintf (stdout, "% d ",*(int64_t*)line);360 fprintf (stdout, "%lld ", (long long) *(int64_t*)line); 367 361 } 368 362 if (!strcmp (type, "float")) { … … 394 388 sprintf (field, "TTYPE%d", i); 395 389 gfits_scan (header, field, "%s", 1, type); 396 gfits_scan (header, field, "%C", 1, comment);390 gfits_scan_alt (header, field, "%C", 1, comment); 397 391 sprintf (field, "TFORM%d", i); 398 392 gfits_scan (header, field, "%s", 1, format); -
trunk/Ohana/src/tools/src/mefhead.c
r15487 r27435 5 5 6 6 struct stat filestat; 7 int NEXTEND, Nextend, Nmatrix, status; 7 int NEXTEND, Nextend, status; 8 off_t Nmatrix; 8 9 Header header; 9 10 FILE *f, *g; … … 43 44 /* skip matrix */ 44 45 Nmatrix = gfits_data_size (&header); 45 fseek (g, Nmatrix, SEEK_CUR);46 fseeko (g, Nmatrix, SEEK_CUR); 46 47 47 48 /* write PHU */ … … 65 66 /* skip matrix */ 66 67 Nmatrix = gfits_data_size (&header); 67 fseek (g, Nmatrix, SEEK_CUR);68 fseeko (g, Nmatrix, SEEK_CUR); 68 69 69 70 /* write header */ -
trunk/Ohana/src/tools/src/mktemp.c
r25757 r27435 5 5 # define FALSE 0 6 6 # define TRUE 1 7 8 void usage(void); 7 9 8 10 int main (int argc, char **argv) { … … 95 97 96 98 if (make_directory) { 97 if (mkdtemp (template) == -1) {99 if (mkdtemp (template) == NULL) { 98 100 if (!fail_silently) fprintf (stderr, "failed to make temp file from %s\n", template); 99 101 exit (1); … … 111 113 } 112 114 113 usage() {115 void usage(void) { 114 116 fprintf (stderr, "Usage: mktemp [-V] | [-dqtu] [-p prefix] [template]\n"); 115 117 exit (1); -
trunk/Ohana/src/uniphot/include/uniphot.h
r21153 r27435 93 93 void wcatalog PROTO((Catalog *catalog)); 94 94 void wimages PROTO((Image *image, int Nimage)); 95 void check_permissions (char *basefile);96 void lock_image_db (FITS_DB *db, char *filename);97 void unlock_image_db (FITS_DB *db);98 void create_image_db (FITS_DB *db);99 void set_db (FITS_DB *in);100 int Shutdown (char *format, ...);101 void TrapSignal (int sig);102 void SetProtect (int mode);103 int SetSignals (void);104 int subset_images (FITS_DB *db);105 void update (FITS_DB *db, Group *sgroup, int Nsgroup);106 void sort_time (unsigned int *value, int N);95 void check_permissions PROTO((char *basefile)); 96 void lock_image_db PROTO((FITS_DB *db, char *filename)); 97 void unlock_image_db PROTO((FITS_DB *db)); 98 void create_image_db PROTO((FITS_DB *db)); 99 void set_db PROTO((FITS_DB *in)); 100 int Shutdown PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) ); 101 void TrapSignal PROTO((int sig)); 102 void SetProtect PROTO((int mode)); 103 int SetSignals PROTO((void)); 104 int subset_images PROTO((FITS_DB *db)); 105 void update PROTO((FITS_DB *db, Group *sgroup, int Nsgroup)); 106 void sort_time PROTO((unsigned int *value, int N)); -
trunk/Ohana/src/uniphot/src/find_image_sgroups.c
r21508 r27435 3 3 Group *find_image_sgroups (FITS_DB *db, ImageLink **Imlink, int *Nsgroup) { 4 4 5 int i, j, Nimage, Ngroup, Nentry, NENTRY; 5 off_t i, Nimage; 6 int j, Ngroup, Nentry, NENTRY; 6 7 double r, d, x, y, radius; 7 8 Group *group; -
trunk/Ohana/src/uniphot/src/find_image_tgroups.c
r21508 r27435 4 4 5 5 char *start, *stop; 6 int i, j, Nimage, Ngroup, NGROUP, Nentry, NENTRY; 6 int j, Ngroup, NGROUP, Nentry, NENTRY; 7 off_t i, Nimage; 7 8 unsigned int *time, *tmin, *tmax; 8 9 Group *group; -
trunk/Ohana/src/uniphot/src/subset_images.c
r21508 r27435 3 3 int subset_images (FITS_DB *db) { 4 4 5 int i, Nimage, equiv;6 int Nkeep, *keep;5 off_t i, Nimage, Nkeep, *keep; 6 int equiv; 7 7 Image *image; 8 8 … … 11 11 12 12 Nkeep = 0; 13 ALLOCATE (keep, int, Nimage);13 ALLOCATE (keep, off_t, Nimage); 14 14 15 15 /* mark images to be calibrated */ -
trunk/Ohana/src/uniphot/src/update.c
r21508 r27435 4 4 void update (FITS_DB *db, Group *sgroup, int Nsgroup) { 5 5 6 int i, j, status, Nmin, Nimage; 6 off_t i, Nimage; 7 int j, status, Nmin; 7 8 char line[256]; 8 9 glob_t pglob;
Note:
See TracChangeset
for help on using the changeset viewer.
