summaryrefslogtreecommitdiff
path: root/Examples/python/pointer/runme.py
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/python/pointer/runme.py')
-rw-r--r--Examples/python/pointer/runme.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/Examples/python/pointer/runme.py b/Examples/python/pointer/runme.py
new file mode 100644
index 0000000..e38a306
--- /dev/null
+++ b/Examples/python/pointer/runme.py
@@ -0,0 +1,44 @@
+# file: runme.py
+
+import example;
+
+# First create some objects using the pointer library.
+print "Testing the pointer library";
+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
+print " b =",b
+print " c =",c
+
+# 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
+
+# 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";
+r = example.sub(37,42)
+print " 37 - 42 =",r
+
+# Now try the version with multiple return values
+
+print "Testing multiple return values";
+q,r = example.divide(42,37)
+print " 42/37 = %d remainder %d" % (q,r)
+
+
+