aboutsummaryrefslogtreecommitdiff
path: root/noao/digiphot/photcal/mctable/mctsput.gx
blob: 5b1b92f20fd527ccec33ae782bc1924773f800bd (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
38
39
40
include	"../lib/mctable.h"


$for (csilrdxp)
# MCT_SPUT - Put value sequentally (generic)

procedure mct_sput$t (table, value)

pointer	table			# table descriptor
PIXEL	value			# data value

int	row, col		# nxt row, and column
errchk	mct_put$t

begin
	# Check pointer and magic number
	if (table == NULL)
	    call error (0, "mct_sput: Null table pointer")
	if (MCT_MAGIC (table) != MAGIC)
	    call error (0, "mct_sput: Bad magic number")
	
	# Check table type
	if (MCT_TYPE (table) != TY_PIXEL)
	    call error (0, "mct_sput: Wrong table type")

	# Get next position 
	row = max (MCT_NPROWS (table), 1)
	col = MCT_NPCOLS (table) + 1

	# Test if it's necessary to go to
	# the next row.
	if (col > MCT_MAXCOL (table)) {
	    col	= 1
	    row = row + 1
	}

	# Enter value
	call mct_put$t (table, row, col, value)
end
$endfor