aboutsummaryrefslogtreecommitdiff
path: root/sys/osb/achtu.gc
blob: 35e8f226902c99817feaf6348017165e40350fe5 (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>

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

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