47 lines
917 B
Plaintext
47 lines
917 B
Plaintext
FUNCTION dot (a(), b())
|
|
IF UBOUND(a) <> UBOUND(b) THEN LET dot = 0
|
|
LET dp = 0.0
|
|
FOR i = LBOUND(a) TO UBOUND(a)
|
|
LET dp = dp + (a(i) * b(i))
|
|
NEXT i
|
|
LET dot = dp
|
|
END FUNCTION
|
|
|
|
DIM zero3d(3)
|
|
LET zero3d(1) = 0.0
|
|
LET zero3d(2) = 0.0
|
|
LET zero3d(3) = 0.0
|
|
DIM zero5d(5)
|
|
LET zero5d(1) = 0.0
|
|
LET zero5d(2) = 0.0
|
|
LET zero5d(3) = 0.0
|
|
LET zero5d(4) = 0.0
|
|
LET zero5d(5) = 0.0
|
|
DIM x(3)
|
|
LET x(1) = 1.0
|
|
LET x(2) = 0.0
|
|
LET x(3) = 0.0
|
|
DIM y(3)
|
|
LET y(1) = 0.0
|
|
LET y(2) = 1.0
|
|
LET y(3) = 0.0
|
|
DIM z(3)
|
|
LET z(1) = 0.0
|
|
LET z(2) = 0.0
|
|
LET z(3) = 1.0
|
|
DIM q(3)
|
|
LET q(1) = 1.0
|
|
LET q(2) = 1.0
|
|
LET q(3) = 3.14159
|
|
DIM r(3)
|
|
LET r(1) = -1.0
|
|
LET r(2) = 2.618033989
|
|
LET r(3) = 3.0
|
|
|
|
PRINT " q dot r = "; dot(q(), r())
|
|
PRINT " zero3d dot zero5d = "; dot(zero3d(), zero5d())
|
|
PRINT " zero3d dot x = "; dot(zero3d(), x())
|
|
PRINT " z dot z = "; dot(z(), z())
|
|
PRINT " y dot z = "; dot(y(), z())
|
|
END
|