From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- noao/digiphot/photcal/mctable/mctsget.gx | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 noao/digiphot/photcal/mctable/mctsget.gx (limited to 'noao/digiphot/photcal/mctable/mctsget.gx') diff --git a/noao/digiphot/photcal/mctable/mctsget.gx b/noao/digiphot/photcal/mctable/mctsget.gx new file mode 100644 index 00000000..3f8d6bfb --- /dev/null +++ b/noao/digiphot/photcal/mctable/mctsget.gx @@ -0,0 +1,42 @@ +include "../lib/mctable.h" + + +$for (csilrdxp) +# MCT_SGET - Get value sequentally (generic) + +int procedure mct_sget$t (table, value) + +pointer table # table descriptor +PIXEL value # data value (output) + +int row, col # next row, and column +PIXEL mct_get$t() + +begin + # Check pointer and magic number. + if (table == NULL) + call error (0, "mct_sget: Null table pointer") + if (MCT_MAGIC (table) != MAGIC) + call error (0, "mct_sget: Bad magic number") + + # Check table type. + if (MCT_TYPE (table) != TY_PIXEL) + call error (0, "mct_sget: Wrong table type") + + # Get next position. + row = max (MCT_NGROWS (table), 1) + col = MCT_NGCOLS (table) + 1 + + # Test if it's necessary to go to the next row. + if (col > MCT_MAXCOL (table)) { + col = 1 + row = row + 1 + } + + # Get value and return status. + iferr (value = mct_get$t (table, row, col)) + return (EOF) + else + return (OK) +end +$endfor -- cgit