From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- sys/mwcs/mwshow.x | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 sys/mwcs/mwshow.x (limited to 'sys/mwcs/mwshow.x') diff --git a/sys/mwcs/mwshow.x b/sys/mwcs/mwshow.x new file mode 100644 index 00000000..1fbb991c --- /dev/null +++ b/sys/mwcs/mwshow.x @@ -0,0 +1,152 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include +include "mwcs.h" + +# MW_SHOW -- Print information about a MWCS object to a file. + +procedure mw_show (mw, fd, what) + +pointer mw #I pointer to MWCS descriptor +int fd #I output file +int what #I type of output (not used at present) + +pointer wp +int ndim, nwcs, wcs, i, j +bool itob() + +begin + ndim = MI_NDIM(mw) + nwcs = MI_NWCS(mw) + + call fprintf (fd, + "MWCS=%x, ndim=%d, nwcs=%d, curwcs=%d(%s), refim=%s\n") + call pargi (mw) + call pargi (ndim) + call pargi (nwcs) + + wcs = INDEFI + do i = 1, MI_NWCS(mw) + if (MI_WCS(mw) == MI_WCSP(mw,i)) { + wcs = i + break + } + call pargi (wcs) + if (MI_WCS(mw) != NULL) { + wp = MI_WCS(mw) + if (WCS_SYSTEM(wp) != NULL) + call pargstr (S(mw,WCS_SYSTEM(wp))) + else + call pargstr ("noname") + } + + if (MI_REFIM(mw) != NULL) + call pargstr (IM_NAME(MI_REFIM(mw))) + else + call pargstr ("none") + + call fprintf (fd, "sbuflen=%d, sbufused=%d, dbuflen=%d, dbufused=%d\n") + call pargi (MI_SBUFLEN(mw)) + call pargi (MI_SBUFUSED(mw)) + call pargi (MI_DBUFLEN(mw)) + call pargi (MI_DBUFUSED(mw)) + + # Print the axis map. + call fprintf (fd, "useaxmap=%b, nlogdim=%d") + call pargb (itob(MI_USEAXMAP(mw))) + call pargi (MI_NLOGDIM(mw)) + call fprintf (fd, " axno=[") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%d") + call pargi (MI_AXNO(mw,i)) + } + call fprintf (fd, "] axval=[") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%d") + call pargi (MI_AXVAL(mw,i)) + } + call fprintf (fd, "] physax=[") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%d") + call pargi (MI_PHYSAX(mw,i)) + } + call fprintf (fd, "]\n") + + # Print the LTERM. + call fprintf (fd, "ltv = [") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%g") + call pargd (D(mw,MI_LTV(mw)+i-1)) + } + call fprintf (fd, "]\n") + + call fprintf (fd, "ltm = [") + do j = 1, ndim { + if (j > 1) + call fprintf (fd, "; ") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%g") + call pargd (D(mw,MI_LTM(mw)+(j-1)*ndim+i-1)) + } + } + call fprintf (fd, "]\n") + + # Print the world systems. + do wcs = 1, nwcs { + wp = MI_WCSP(mw,wcs) + ndim = WCS_NDIM(wp) + + call fprintf (fd, + "WCS %d, ndim=%d, name=%s, nwattr=%d, nfunc=%d\n") + call pargi (wcs) + call pargi (ndim) + if (WCS_SYSTEM(wp) != NULL) + call pargstr (S(mw,WCS_SYSTEM(wp))) + else + call pargstr ("noname") + call pargi (WCS_NWATTR(wp)) + call pargi (WCS_NFUNC(wp)) + + call fprintf (fd, "R = [") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%g") + call pargd (D(mw,WCS_R(wp)+i-1)) + } + call fprintf (fd, "]\n") + + call fprintf (fd, "W = [") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%g") + call pargd (D(mw,WCS_W(wp)+i-1)) + } + call fprintf (fd, "]\n") + + call fprintf (fd, "CD = [") + do j = 1, ndim { + if (j > 1) + call fprintf (fd, "; ") + do i = 1, ndim { + if (i > 1) + call fprintf (fd, " ") + call fprintf (fd, "%g") + call pargd (D(mw,WCS_CD(wp)+(j-1)*ndim+i-1)) + } + } + call fprintf (fd, "]\n") + } + +end -- cgit