| # file: runme.rb |
| |
| require 'example' |
| |
| # First create some objects using the pointer library. |
| print "Testing the pointer library\n" |
| a = Example::new_intp() |
| b = Example::new_intp() |
| c = Example::new_intp() |
| |
| Example::intp_assign(a,37) |
| Example::intp_assign(b,42) |
| |
| print " a = #{a}\n" |
| print " b = #{b}\n" |
| print " c = #{c}\n" |
| |
| # Call the add() function with some pointers |
| Example::add(a, b, c) |
| |
| # Now get the result |
| r = Example::intp_value(c) |
| print " 37 + 42 = #{r}\n" |
| |
| # Clean up the pointers |
| Example::delete_intp(a) |
| Example::delete_intp(b) |
| Example::delete_intp(c) |
| |
| # Now try the typemap library |
| # This should be much easier. Now how it is no longer |
| # necessary to manufacture pointers. |
| |
| print "Trying the typemap library\n" |
| r = Example::sub(37, 42) |
| print " 37 - 42 = #{r}\n" |
| |
| # Now try the version with multiple return values |
| |
| print "Testing multiple return values\n" |
| q, r = Example::divide(42, 37) |
| print " 42/37 = #{q} remainder #{r}\n" |
| |
| |
| |