# 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]]"