Dot product: Difference between revisions
Content added Content deleted
(Add Janet example) |
(Dot product in True BASIC) |
||
Line 3,270: | Line 3,270: | ||
3 |
3 |
||
</pre> |
</pre> |
||
=={{header|True BASIC}}== |
|||
<syntaxhighlight lang="qbasic">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</syntaxhighlight> |
|||
{{out}} |
|||
<pre>q dot r = 11.042804 |
|||
zero3d dot zero5d = 0 |
|||
zero3d dot x = 0 |
|||
z dot z = 1 |
|||
y dot z = 0</pre> |
|||
=={{header|Ursala}}== |
=={{header|Ursala}}== |