/trunk/Examples/tcl/pointer/runme.tcl
TCL | 47 lines | 24 code | 14 blank | 9 comment | 0 complexity | 43b0e4f751157b23b83e1e456912eff8 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- # 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"