aboutsummaryrefslogtreecommitdiff
path: root/sys/osb/achtb.gc
blob: dd5f97d2804287cc2220cf7cb311f5038f1dbf9f (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
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
 */

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

/* ACHTB_ -- Unpack an unsigned byte array into an SPP array.
 * The loop runs in the reverse direction so that the unpack can be
 * performed in place (a and b can be the same array).
 */
void
ACHTB$T (
  XCHAR		*a,
  $if (datatype == B)
  XCHAR		*b,
  $else
  XPIXEL	*b,
  $endif
  XINT		*npix
)
{
	register XUBYTE	*ip, *first = (XUBYTE *)a;
	register XPIXEL	*op;

	for (ip = &first[*npix], op = &((XPIXEL *)b)[*npix];  ip > first;  )
	    $if (datatype == x)
		(--op)->r = (float) *--ip;
	    $else
		*--op = *--ip;
	    $endif
}