| # file: runme.tcl |
| |
| catch { load ./example[info sharedlibextension] example} |
| |
| # First create some objects using the pointer library. |
| puts "Testing the pointer library" |
| set a [new_intp] |
| set b [new_intp] |
| set c [new_intp] ;# Memory for result |
| |
| intp_assign $a 37 |
| intp_assign $b 42 |
| |
| puts " a = $a" |
| puts " b = $b" |
| puts " c = $c" |
| |
| # Call the add() function with some pointers |
| add $a $b $c |
| |
| # Now get the result |
| set r [intp_value $c] |
| puts " 37 + 42 = $r" |
| |
| # Clean up the pointers |
| delete_intp $a |
| delete_intp $b |
| delete_intp $c |
| |
| # Now try the typemap library |
| # This should be much easier. Now how it is no longer |
| # necessary to manufacture pointers. |
| |
| puts "Trying the typemap library" |
| set r [sub 37 42] |
| puts " 37 - 42 = $r" |
| |
| # Now try the version with multiple return values |
| |
| puts "Testing multiple return values" |
| set qr [divide 42 37] |
| set q [lindex $qr 0] |
| set r [lindex $qr 1] |
| puts " 42/37 = $q remainder $r" |
| |
| |
| |