set V [list 5 4 3 2 1]
set W [list 1 2 3 4 5]
set X 10

puts "Vector-vector int"
set R [expr {$V + $W}]
puts "{$R} == {$V} + {$W}"
set R [expr {$V - $W}]
puts "{$R} == {$V} - {$W}"
set R [expr {$V * $W}]
puts "{$R} == {$V} * {$W}"
set R [expr {$V / $W}]
puts "{$R} == {$V} / {$W}"

puts "Vector-scalar int"
set R [expr {$V + $X}]
puts "{$R} == {$V} + {$X}"
set R [expr {$V - $X}]
puts "{$R} == {$V} - {$X}"
set R [expr {$V * $X}]
puts "{$R} == {$V} * {$X}"
set R [expr {$V / $X}]
puts "{$R} == {$V} / {$X}"

puts "Scalar-Vector int"
set R [expr {$X + $V}]
puts "{$R} == {$X} + {$V}"
set R [expr {$X - $V}]
puts "{$R} == {$X} - {$V}"
set R [expr {$X * $V}]
puts "{$R} == {$X} * {$V}"
set R [expr {$X / $V}]
puts "{$R} == {$X} / {$V}"

puts "Vector-vector double"
set V [list 5.0 4.0 3.0 2.0 1.0]
set W [list 1.0 2.0 3.0 4.0 5.0]
set X 10.0

set R [expr {$V + $W}]
puts "{$R} == {$V} + {$W}"
set R [expr {$V - $W}]
puts "{$R} == {$V} - {$W}"
set R [expr {$V * $W}]
puts "{$R} == {$V} * {$W}"
set R [expr {$V / $W}]
puts "{$R} == {$V} / {$W}"

puts "Vector-scalar double"
set R [expr {$V + $X}]
puts "{$R} == {$V} + {$X}"
set R [expr {$V - $X}]
puts "{$R} == {$V} - {$X}"
set R [expr {$V * $X}]
puts "{$R} == {$V} * {$X}"
set R [expr {$V / $X}]
puts "{$R} == {$V} / {$X}"

puts "Scalar-Vector int"
set R [expr {$X + $V}]
puts "{$R} == {$X} + {$V}"
set R [expr {$X - $V}]
puts "{$R} == {$X} - {$V}"
set R [expr {$X * $V}]
puts "{$R} == {$X} * {$V}"
set R [expr {$X / $V}]
puts "{$R} == {$X} / {$V}"

