aboutsummaryrefslogtreecommitdiff
path: root/sys/osb/achtzu.gc
blob: 4e5faacd921677c19fe346f36038fed0be9a373c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
 */

#define	import_spp
#define import_knames
#include <iraf.h>

/* ACHT_U -- Pack an SPP datatype array into an unsigned short integer.
 * [MACHDEP]: The underscore appended to the procedure name is OS dependent.
 */
void
ACHT$TU (
  XPIXEL   	*a,
  XUSHORT  	*b,
  XINT	   	*npix
)
{
	register XPIXEL		*ip;
	register XUSHORT	*op;
	register int		n = *npix;

	if (sizeof(*op) > sizeof(*ip)) {
	    for (ip = &a[n], op = &b[n];  ip > a;  )
		$if (datatype == x)
		    *--op = (int) (--ip)->r;
		$else
		    *--op = *--ip;
		$endif
	} else {
	    for (ip=a, op=b;  --n >= 0;  )
		$if (datatype == x)
		    *op++ = (int) (ip++)->r;
		$else
		    *op++ = *ip++;
		$endif
	}
}