diff options
Diffstat (limited to 'Examples/python/operator/example.i')
-rw-r--r-- | Examples/python/operator/example.i | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Examples/python/operator/example.i b/Examples/python/operator/example.i new file mode 100644 index 000000000..f46619501 --- /dev/null +++ b/Examples/python/operator/example.i @@ -0,0 +1,28 @@ +/* File : example.i */ +%module example + +%{ +#include "example.h" +%} + +/* This header file is a little tough to handle because it has overloaded + operators and constructors. We're going to try and deal with that here */ + +/* This turns the copy constructor in a function ComplexCopy() that can + be called */ + +%rename(ComplexCopy) Complex::Complex(Complex const &); + +/* Now grab the original header file */ +%include "example.h" + +/* An output method that turns a complex into a short string */ +%extend Complex { + char *__str__() { + static char temp[512]; + sprintf(temp,"(%g,%g)", self->re(), self->im()); + return temp; + } +}; + + |