| # do not dump Octave core |
| if exist("crash_dumps_octave_core", "builtin") |
| crash_dumps_octave_core(0); |
| endif |
| |
| swigexample; |
| |
| # First create some objects using the pointer library. |
| printf("Testing the pointer library\n"); |
| a = swigexample.new_intp(); |
| b = swigexample.new_intp(); |
| c = swigexample.new_intp(); |
| swigexample.intp_assign(a,37); |
| swigexample.intp_assign(b,42); |
| |
| a,b,c |
| |
| # Call the add() function with some pointers |
| swigexample.add(a,b,c); |
| |
| # Now get the result |
| r = swigexample.intp_value(c); |
| printf(" 37 + 42 = %i\n",r); |
| |
| # Clean up the pointers |
| swigexample.delete_intp(a); |
| swigexample.delete_intp(b); |
| swigexample.delete_intp(c); |
| |
| # Now try the typemap library |
| # This should be much easier. Now how it is no longer |
| # necessary to manufacture pointers. |
| |
| printf("Trying the typemap library\n"); |
| r = swigexample.sub(37,42); |
| printf(" 37 - 42 = %i\n",r); |
| |
| # Now try the version with multiple return values |
| |
| printf("Testing multiple return values\n"); |
| [q,r] = swigexample.divide(42,37); |
| printf(" 42/37 = %d remainder %d\n",q,r); |