aboutsummaryrefslogtreecommitdiff
path: root/sys/mwcs/gen/mwc1trand.x
blob: af46e02ddaf9be71be8f1c807d5cbcf8410044ff (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
include	"../mwcs.h"

# MW_C1TRAN -- Optimized 1D coordinate transformation.

double procedure mw_c1trand (a_ct, x)

pointer	a_ct			#I pointer to CTRAN descriptor
double	x			#I coordinates in input system

double	y
pointer	ct

begin
	# Get real or double version of descriptor.
	ct = CT_D(a_ct)

	# Perform the transformation; LNR is a simple linear transformation.
	if (CT_TYPE(ct) == LNR) {
	    return (Memd[CT_LTM(ct)] * x + Memd[CT_LTV(ct)])
	} else {
	    call mw_ctrand (a_ct, x, y, 1)
	    return (y)
	}
end