aboutsummaryrefslogtreecommitdiff
path: root/pkg/tbtables/tbzcp.x
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/tbtables/tbzcp.x')
-rw-r--r--pkg/tbtables/tbzcp.x149
1 files changed, 149 insertions, 0 deletions
diff --git a/pkg/tbtables/tbzcp.x b/pkg/tbtables/tbzcp.x
new file mode 100644
index 00000000..6157d18a
--- /dev/null
+++ b/pkg/tbtables/tbzcp.x
@@ -0,0 +1,149 @@
+include "tbtables.h"
+
+# tbzcp[tbirds] -- put values into a column
+# This procedure puts elements into an internal buffer corresponding
+# to values in a text file.
+#
+# Phil Hodge, 3-Feb-1992 Subroutines created.
+# Phil Hodge, 31-Mar-1993 Include short datatype.
+# Phil Hodge, 4-Mar-1998 Remove calls to tbtwer.
+# Phil Hodge, 5-Mar-1998 In tbzcpt, remove lenstr from call to tbzptt.
+
+procedure tbzcpb (tp, cp, buffer, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+bool buffer[ARB] # i: buffer containing values to be put
+int firstrow # i: number of first row to put
+int lastrow # i: number of last row to put
+#--
+int row # loop index for row number
+int k # index into buffer
+errchk tbzptb
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzptb (tp, cp, row, buffer[k])
+ k = k + 1
+ }
+end
+
+procedure tbzcpd (tp, cp, buffer, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+double buffer[ARB] # i: buffer containing values to be put
+int firstrow # i: number of first row to put
+int lastrow # i: number of last row to put
+#--
+int row # loop index for row number
+int k # index into buffer
+errchk tbzptd
+
+begin
+ if (COL_DTYPE(cp) == TBL_TY_DOUBLE) {
+ k = 1
+ do row = firstrow, lastrow {
+ Memd[COL_OFFSET(cp) + row - 1] = buffer[k]
+ k = k + 1
+ }
+
+ } else {
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzptd (tp, cp, row, buffer[k])
+ k = k + 1
+ }
+ }
+end
+
+procedure tbzcpr (tp, cp, buffer, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+real buffer[ARB] # i: buffer containing values to be put
+int firstrow # i: number of first row to put
+int lastrow # i: number of last row to put
+#--
+int row # loop index for row number
+int k # index into buffer
+errchk tbzptr
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzptr (tp, cp, row, buffer[k])
+ k = k + 1
+ }
+end
+
+procedure tbzcpi (tp, cp, buffer, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+int buffer[ARB] # i: buffer containing values to be put
+int firstrow # i: number of first row to put
+int lastrow # i: number of last row to put
+#--
+int row # loop index for row number
+int k # index into buffer
+errchk tbzpti
+
+begin
+ if (COL_DTYPE(cp) == TBL_TY_INT) {
+ k = 1
+ do row = firstrow, lastrow {
+ Memi[COL_OFFSET(cp) + row - 1] = buffer[k]
+ k = k + 1
+ }
+
+ } else {
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzpti (tp, cp, row, buffer[k])
+ k = k + 1
+ }
+ }
+end
+
+procedure tbzcps (tp, cp, buffer, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+short buffer[ARB] # i: buffer containing values to be put
+int firstrow # i: number of first row to put
+int lastrow # i: number of last row to put
+#--
+int row # loop index for row number
+int k # index into buffer
+errchk tbzpts
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzpts (tp, cp, row, buffer[k])
+ k = k + 1
+ }
+end
+
+procedure tbzcpt (tp, cp, buffer, lenstr, firstrow, lastrow)
+
+pointer tp # i: pointer to table descriptor
+pointer cp # i: pointer to column descriptor
+char buffer[lenstr,ARB] # i: buffer containing values to be put
+int lenstr # i: size of each element
+int firstrow # i: number of first row to put
+int lastrow # i: number of last row to put
+#--
+int row # loop index for row number
+int k # index into buffer
+errchk tbzptt
+
+begin
+ k = 1
+ do row = firstrow, lastrow {
+ call tbzptt (tp, cp, row, buffer[1,k])
+ k = k + 1
+ }
+end