( -------------------------------------------------
( FILE:         vectors.rpl
( DESCRIPTION:  Definitions for Vector Operations
( PLATFORM: 	AMIGA
( VERSION:      2.17
( DATE:	        5-Feb-93
( -------------------------------------------------
( Copyright © 1993 Realsoft.  All rights reserved
( -------------------------------------------------

?& VECTORS.RPL NOT ?IF
17 CONSTANT VECTORS.RPL

( some useful constants )

1.0 0.0 0.0    VCONSTANT vX
0.0 1.0 0.0    VCONSTANT vY
0.0 0.0 1.0    VCONSTANT vZ

( -------------------------
( vector update 
( © Alessandro Tasora 1995
( -------------------------

( scalar product )

: VSCALAR ( v1 v2 VSCALAR fRes )
    VDOT F+ F+
;

( component of vector v1 on vector v2 )

: VCOMP   ( v1 v2 VPROJ vRes )
    VDUP VNORM 9 ROLL 9 ROLL 9 ROLL VSCALAR
    4 ROLL 4 ROLL 4 ROLL VNORM
    4 ROLL VMUL
;

: VSWAP   ( v1 v2 VSWAP v2 v1 )
    6 ROLL
    6 ROLL
    6 ROLL
;

?ENDIF ( VECTORS.RPL )
