Vector products: Difference between revisions

m
Added Sidef language
m (→‎{{header|Perl 6}}: proper 'out' template)
m (Added Sidef language)
Line 2,661:
a x(b x c) = (-267.0, 204.0, -3.0)
</pre>
 
=={{header|Sidef}}==
<lang ruby>class Vector(x, y, z) {
method ∙(vec) {
self[:x]*vec[:x] + self[:y]*vec[:y] + self[:z]*vec[:z];
}
 
method ⨉(vec) {
__CLASS__(self[:y]*vec[:z] - self[:z]*vec[:y],
self[:z]*vec[:x] - self[:x]*vec[:z],
self[:x]*vec[:y] - self[:y]*vec[:x],
);
}
 
method to_s {
"(#{self[:x]}, #{self[:y]}, #{self[:z]})";
}
};
 
var a = Vector(3, 4, 5);
var b = Vector(4, 3, 5);
var c = Vector(-5, -12, -13);
 
say "a=#{a}; b=#{b}; c=#{c};";
say "a ∙ b = #{a ∙ b}";
say "a ⨉ b = #{a ⨉ b}";
say "a ∙ (b ⨉ c) = #{a ∙ (b ⨉ c)}";
say "a ⨉ (b ⨉ c) = #{a ⨉ (b ⨉ c)}";</lang>
{{out}}
<pre>a=(3, 4, 5); b=(4, 3, 5); c=(-5, -12, -13);
a ∙ b = 49
a ⨉ b = (5, 5, -7)
a ∙ (b ⨉ c) = 6
a ⨉ (b ⨉ c) = (-267, 204, -3)</pre>
 
=={{header|Tcl}}==
2,756

edits