1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
# file: runme.tcl
catch { load ./example[info sharedlibextension] example}
# Exercise IntVector
set iv [IntVector]
$iv push 1
$iv push 3
$iv push 5
puts "IntVector size: [$iv size] (should be 3)"
puts "IntVector average: [average $iv] (should be 3.0)"
puts "IntVector pop: [$iv pop] (should be 5)"
puts "IntVector pop: [$iv pop] (should be 3)"
puts "IntVector get 0: [$iv get 0] (should be 1)"
puts ""
# Exercise DoubleVector
set dv [DoubleVector]
$dv push 2
$dv push 4
$dv push 6
puts "DoubleVector size: [$dv size] (should be 3)"
puts "DoubleVector data: [$dv get 0] [$dv get 1] [$dv get 2] (should be 2.0 4.0 6.0)"
halve_in_place $dv
puts "DoubleVector halved: [$dv get 0] [$dv get 1] [$dv get 2] (should be 1.0 2.0 3.0)"
puts ""
# Complain if unknown is called
rename unknown unknown_orig
proc unknown {args} {
puts "ERROR: unknown called with: $args"
uplevel 1 unknown_orig $args
}
puts "average \"1 2 3\": [average [list 1 2 3]]"
|