aboutsummaryrefslogtreecommitdiff
path: root/pkg/tbtables/tbzcg.x
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /pkg/tbtables/tbzcg.x
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'pkg/tbtables/tbzcg.x')
-rw-r--r--pkg/tbtables/tbzcg.x163
1 files changed, 163 insertions, 0 deletions
diff --git a/pkg/tbtables/tbzcg.x b/pkg/tbtables/tbzcg.x
new file mode 100644
index 00000000..e819a0e9
--- /dev/null
+++ b/pkg/tbtables/tbzcg.x
@@ -0,0 +1,163 @@
+include "tbtables.h"
+
+# tbzcg[tbirds] -- get values from a column
+# This procedure gets elements from an internal buffer corresponding
+# to a value in a text file.
+#
+# Phil Hodge, 3-Feb-1992 Subroutines created.
+# Phil Hodge, 31-Mar-1993 Include short datatype.
+
+procedure tbzcgb (tp, cp, buffer, nullflag, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+bool buffer[ARB] # o: buffer for values to be gotten
+bool nullflag[ARB] # o: true if element is undefined in table
+int firstrow # i: number of first row to get
+int lastrow # i: number of last row to get
+#--
+int row # loop index for row number
+int k # index into buffer & nullflag
+errchk tbzgtb
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzgtb (tp, cp, row, buffer[k])
+ nullflag[k] = false
+ k = k + 1
+ }
+end
+
+procedure tbzcgd (tp, cp, buffer, nullflag, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+double buffer[ARB] # o: buffer for values to be gotten
+bool nullflag[ARB] # o: true if element is undefined in table
+int firstrow # i: number of first row to get
+int lastrow # i: number of last row to get
+#--
+int row # loop index for row number
+int k # index into buffer & nullflag
+errchk tbzgtd
+
+begin
+ if (COL_DTYPE(cp) == TBL_TY_DOUBLE) {
+ k = 1
+ do row = firstrow, lastrow {
+ buffer[k] = Memd[COL_OFFSET(cp) + row - 1]
+ nullflag[k] = (IS_INDEFD (buffer[k]))
+ k = k + 1
+ }
+
+ } else {
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzgtd (tp, cp, row, buffer[k])
+ nullflag[k] = (IS_INDEFD (buffer[k]))
+ k = k + 1
+ }
+ }
+end
+
+procedure tbzcgr (tp, cp, buffer, nullflag, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+real buffer[ARB] # o: buffer for values to be gotten
+bool nullflag[ARB] # o: true if element is undefined in table
+int firstrow # i: number of first row to get
+int lastrow # i: number of last row to get
+#--
+int row # loop index for row number
+int k # index into buffer & nullflag
+errchk tbzgtr
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzgtr (tp, cp, row, buffer[k])
+ nullflag[k] = (IS_INDEFR (buffer[k]))
+ k = k + 1
+ }
+end
+
+procedure tbzcgi (tp, cp, buffer, nullflag, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+int buffer[ARB] # o: buffer for values to be gotten
+bool nullflag[ARB] # o: true if element is undefined in table
+int firstrow # i: number of first row to get
+int lastrow # i: number of last row to get
+#--
+int row # loop index for row number
+int k # index into buffer & nullflag
+errchk tbzgti
+
+begin
+ if (COL_DTYPE(cp) == TBL_TY_INT) {
+ k = 1
+ do row = firstrow, lastrow {
+ buffer[k] = Memi[COL_OFFSET(cp) + row - 1]
+ nullflag[k] = (IS_INDEFI (buffer[k]))
+ k = k + 1
+ }
+
+ } else {
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzgti (tp, cp, row, buffer[k])
+ nullflag[k] = (IS_INDEFI (buffer[k]))
+ k = k + 1
+ }
+ }
+end
+
+procedure tbzcgs (tp, cp, buffer, nullflag, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+short buffer[ARB] # o: buffer for values to be gotten
+bool nullflag[ARB] # o: true if element is undefined in table
+int firstrow # i: number of first row to get
+int lastrow # i: number of last row to get
+#--
+int row # loop index for row number
+int k # index into buffer & nullflag
+errchk tbzgts
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzgts (tp, cp, row, buffer[k])
+ nullflag[k] = (IS_INDEFS (buffer[k]))
+ k = k + 1
+ }
+end
+
+procedure tbzcgt (tp, cp, buffer, nullflag, lenstr,
+ firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+char buffer[lenstr,ARB] # o: buffer for values to be gotten
+bool nullflag[ARB] # o: true if element is undefined in table
+int lenstr # i: size of each element
+int firstrow # i: number of first row to get
+int lastrow # i: number of last row to get
+#--
+int row # loop index for row number
+int k # index into buffer & nullflag
+bool streq()
+errchk tbzgtt
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzgtt (tp, cp, row, buffer[1,k], lenstr)
+ nullflag[k] = (buffer[1,k] == EOS || streq (buffer[1,k], "INDEF"))
+ k = k + 1
+ }
+end