mirror of https://github.com/swig/swig
46 lines
959 B
Ruby
46 lines
959 B
Ruby
# 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"
|
|
|
|
|
|
|