version	U12.1.00
uid	xform.u1-1786291405-0
impl	error
link	calls.u
link	gobject.u
global	3
	0,000005,p_xlate,3
	1,000005,p_scale,2
	2,000005,p_rotate,2

proc p_xlate
	local	0,001000,call
	local	1,001000,x
	local	2,001000,y
	local	3,000020,point
	local	4,000000,invoke
	declend
	filen	xform.icn
	line	28
	colm	11
	synt	any
	mark	L1
	line	31
	colm	4
	synt	every
	mark0
	pnull
	var	3
	var	4
	var	0
	line	31
	colm	25
	synt	any
	invoke	1
	line	31
	colm	16
	synt	any
	asgn
	pop
	mark0
	mark	L4
	pnull
	pnull
	var	3
	line	32
	colm	12
	synt	any
	field	x
	dup
	var	1
	line	32
	colm	15
	synt	any
	plus
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	3
	line	33
	colm	12
	synt	any
	field	y
	dup
	var	2
	line	33
	colm	15
	synt	any
	plus
	asgn
	unmark
lab L5
	line	34
	colm	7
	synt	suspend
	mark0
	var	3
	line	34
	colm	7
	synt	any
	psusp
	pop
lab L6
	efail
lab L7
	line	34
	colm	7
	synt	endsuspend
	unmark
lab L2
	efail
lab L3
	line	31
	colm	4
	synt	endevery
	unmark
lab L1
	pnull
	line	37
	colm	1
	synt	any
	pfail
	end
proc p_scale
	local	0,001000,call
	local	1,001000,factor
	local	2,000020,point
	local	3,000000,invoke
	declend
	line	39
	colm	11
	synt	any
	mark	L1
	line	42
	colm	4
	synt	every
	mark0
	pnull
	var	2
	var	3
	var	0
	line	42
	colm	25
	synt	any
	invoke	1
	line	42
	colm	16
	synt	any
	asgn
	pop
	mark0
	mark	L4
	pnull
	pnull
	var	2
	line	43
	colm	12
	synt	any
	field	x
	dup
	var	1
	line	43
	colm	15
	synt	any
	mult
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	2
	line	44
	colm	12
	synt	any
	field	y
	dup
	var	1
	line	44
	colm	15
	synt	any
	mult
	asgn
	unmark
lab L5
	line	45
	colm	7
	synt	suspend
	mark0
	var	2
	line	45
	colm	7
	synt	any
	psusp
	pop
lab L6
	efail
lab L7
	line	45
	colm	7
	synt	endsuspend
	unmark
lab L2
	efail
lab L3
	line	42
	colm	4
	synt	endevery
	unmark
lab L1
	pnull
	line	48
	colm	1
	synt	any
	pfail
	end
proc p_rotate
	local	0,001000,call
	local	1,001000,angle
	local	2,000020,point
	local	3,000020,radius
	local	4,000000,invoke
	local	5,000000,sqrt
	local	6,000000,cos
	local	7,000000,sin
	con	0,002000,1,2
	declend
	line	50
	colm	11
	synt	any
	mark	L1
	line	53
	colm	4
	synt	every
	mark0
	pnull
	var	2
	var	4
	var	0
	line	53
	colm	25
	synt	any
	invoke	1
	line	53
	colm	16
	synt	any
	asgn
	pop
	mark0
	mark	L4
	pnull
	var	3
	var	5
	pnull
	pnull
	var	2
	line	54
	colm	27
	synt	any
	field	x
	int	0
	line	54
	colm	30
	synt	any
	power
	pnull
	pnull
	var	2
	line	54
	colm	40
	synt	any
	field	y
	int	0
	line	54
	colm	43
	synt	any
	power
	line	54
	colm	21
	synt	any
	invoke	2
	line	54
	colm	14
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	2
	line	55
	colm	12
	synt	any
	field	x
	dup
	pnull
	var	3
	var	6
	var	1
	line	55
	colm	31
	synt	any
	invoke	1
	line	55
	colm	26
	synt	any
	mult
	line	55
	colm	15
	synt	any
	mult
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	2
	line	56
	colm	12
	synt	any
	field	y
	dup
	pnull
	var	3
	var	7
	var	1
	line	56
	colm	31
	synt	any
	invoke	1
	line	56
	colm	26
	synt	any
	mult
	line	56
	colm	15
	synt	any
	mult
	asgn
	unmark
lab L6
	line	57
	colm	7
	synt	suspend
	mark0
	var	2
	line	57
	colm	7
	synt	any
	psusp
	pop
lab L7
	efail
lab L8
	line	57
	colm	7
	synt	endsuspend
	unmark
lab L2
	efail
lab L3
	line	53
	colm	4
	synt	endevery
	unmark
lab L1
	pnull
	line	60
	colm	1
	synt	any
	pfail
	end
