diff options
Diffstat (limited to 'pkg/dataio/import/zzidbg.x')
-rw-r--r-- | pkg/dataio/import/zzidbg.x | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/pkg/dataio/import/zzidbg.x b/pkg/dataio/import/zzidbg.x new file mode 100644 index 00000000..25c58778 --- /dev/null +++ b/pkg/dataio/import/zzidbg.x @@ -0,0 +1,145 @@ +include <evvexpr.h> +include "import.h" + +procedure zzi_prstruct (whence, ip) + +char whence[SZ_FNAME] +pointer ip +int i + +begin + call eprintf ("%s:\n") ; call pargstr (whence) + call eprintf ("\tformat=%s interleave=%d bswap=%s\n") + switch (IP_FORMAT(ip)) { + case IP_NONE: call pargstr ("IP_NONE") + case IP_SENSE: call pargstr ("IP_SENSE") + case IP_NAME: call pargstr ("IP_NAME") + case IP_BUILTIN: call pargstr ("IP_BUILTIN") + default: call pargstr ("ERR") + } + call pargi (IP_INTERLEAVE(ip)) + switch(IP_SWAP(ip)) { + case S_NONE: call pargstr ("S_NONE") + case S_ALL: call pargstr ("S_ALL") + case S_I2: call pargstr ("S_I2") + case S_I4: call pargstr ("S_I4") + default: call pargstr ("ERR") + } + call eprintf ("\thskip=%d tskip=%d bskip=%d lskip=%d lpad=%d\n") + call pargi (IP_HSKIP(ip)) + call pargi (IP_TSKIP(ip)) + call pargi (IP_BSKIP(ip)) + call pargi (IP_LSKIP(ip)) + call pargi (IP_LPAD(ip)) + call eprintf ("\tndim=%s dims=(%d,%d,%d,%d,%d,%d,%d)\n") + call pargi (IP_NDIM(ip)) + do i = 1, 7 + call pargi (IP_AXLEN(ip,i)) + + call eprintf ("\toutput=%s outtype=%s imheader='%s' verbose=%d\n") + switch(IP_OUTPUT(ip)) { + case IP_NONE: call pargstr ("IP_NONE") + case IP_IMAGE: call pargstr ("IP_IMAGE") + case IP_LIST: call pargstr ("IP_LIST") + case IP_INFO: call pargstr ("IP_INFO") + default: call pargstr ("ERR") + } + switch(IP_OUTTYPE(ip)) { + case TY_SHORT: call pargstr ("TY_SHORT") + case TY_INT: call pargstr ("TY_INT") + case TY_LONG: call pargstr ("TY_LONG") + case TY_REAL: call pargstr ("TY_REAL") + case TY_DOUBLE: call pargstr ("TY_DOUBLE") + default: call pargstr ("ERR") + } + if (IP_IMHEADER(ip) == NULL) + call pargstr ("") + else + call pargstr (Memc[IP_IMHEADER(ip)]) + call pargi (IP_VERBOSE(ip)) + call eprintf ("\tpixtype:\n") + do i = 1, IP_NPIXT(ip) { + call eprintf ("\t ") + call zzi_prop (PTYPE(ip,i)) + } + call eprintf ("\toutbands:\n") + do i = 1, IP_NBANDS(IP) { + call eprintf ("\t ") + call zzi_proband (ip, i) + } + call flush (STDERR) +end + + +procedure zzi_proband (ip,band) + +pointer ip +int band + +begin + call eprintf ("ob=%d expr='%s' op->") + call pargi (OBANDS(ip,band)) + call pargstr (O_EXPR(ip,band)) + call zzi_prop (O_OP(ip,band)) +end + + +procedure zzi_prop (o) + +pointer o +char buf[8] +int type, ip_ptype() + +begin + call sprintf (buf, 8, " buirnx") + type = ip_ptype(IO_TYPE(o), IO_NBYTES(o)) + call eprintf ("(o=%d expr='%s' tag='%s' (t='%c' N=%d=>%s) Np=%d %d)\n") + call pargi (o) + call pargstr (Memc[OB_EXPR(o)]) + call pargstr (OP_TAG(o)) + call pargc (buf[IO_TYPE(o)+1]) + call pargi (IO_NBYTES(o)) + switch (type) { + case TY_UBYTE: call pargstr ("TY_UBYTE") + case TY_USHORT: call pargstr ("TY_USHORT") + case TY_SHORT: call pargstr ("TY_SHORT") + case TY_INT: call pargstr ("TY_INT") + case TY_LONG: call pargstr ("TY_LONG") + case TY_REAL: call pargstr ("TY_REAL") + case TY_DOUBLE: call pargstr ("TY_DOUBLE") + default: call pargstr ("ERR") + } + call pargi (IO_NPIX(o)) + call pargi (IO_DATA(o)) + call flush (STDERR) +end + + +procedure zzi_pevop (o) + +pointer o + +begin + call eprintf ("o=%d type=%d len=%d flags=%d ") + call pargi (o) + call pargi (O_TYPE(o)) + call pargi (O_LEN(o)) + call pargi (O_FLAGS(o)) + switch (O_TYPE(o)) { + case TY_CHAR: + call eprintf ("val='%s'\n") ; call pargstr (O_VALC(o)) + case TY_SHORT: + call eprintf ("val=%d\n") ; call pargs (O_VALS(o)) + case TY_INT: + call eprintf ("val=%d\n") ; call pargi (O_VALI(o)) + case TY_LONG: + call eprintf ("val=%d\n") ; call pargl (O_VALL(o)) + case TY_REAL: + call eprintf ("val=%g\n") ; call pargr (O_VALR(o)) + case TY_DOUBLE: + call eprintf ("val=%g\n") ; call pargd (O_VALD(o)) + default: + call eprintf ("ptr=%d\n") ; call pargi (O_VALP(o)) + } + call flush (STDERR) +end |