Vector products: Difference between revisions

no edit summary
m (→‎{{header|AppleScript}}: (minor refactor of tests))
No edit summary
Line 2,466:
a x b x c = (-267.0, 204.0, -3.0)
</pre>
 
=={{header|Lambdatalk}}==
<lang scheme>
{def dotProduct
{lambda {:a :b}
{+ {* {A.get 0 :a} {A.get 0 :b}}
{* {A.get 1 :a} {A.get 1 :b}}
{* {A.get 2 :a} {A.get 2 :b}}}}}
-> dotProduct
 
{def crossProduct
{lambda {:a :b}
{A.new {- {* {A.get 1 :a} {A.get 2 :b}}
{* {A.get 2 :a} {A.get 1 :b}}}
{- {* {A.get 2 :a} {A.get 0 :b}}
{* {A.get 0 :a} {A.get 2 :b}}}
{- {* {A.get 0 :a} {A.get 1 :b}}
{* {A.get 1 :a} {A.get 0 :b}}} }}}
-> crossProduct
 
{def A {A.new 3 4 5}} -> A = [3,4,5]
{def B {A.new 4 3 5}} -> B = [4,3,5]
{def C {A.new -5 -12 -13}} -> C = [4,3,5]
 
A.B : {dotProduct {A} {B}} -> 49
AxB : {crossProduct {A} {B}} -> [5,5,-7]
A.(BxC) : {dotProduct {A} {crossProduct {B} {C}}} -> 6
Ax(BxC) : {crossProduct {A} {crossProduct {B} {C}}} -> [-267,204,-3]
</lang>
 
=={{header|Liberty BASIC}}==