/* * Exception typemaps (throws) */ %include %typemap(throws, noblock=1) int, unsigned int, signed int, int&,unsigned int&, signed int&, long, unsigned long, signed long, short, unsigned short,signed short, long long, unsigned long long, unsigned char, signed char, long&, unsigned long&, signed long&, short&, unsigned short&, signed short&, long long&, unsigned long long&, unsigned char&, signed char&, size_t, size_t&, ptrdiff_t, ptrdiff_t& { char obj[20]; sprintf(obj, "%d", (int)$1); SWIG_Scilab_Raise_Ex(obj, "$type", $descriptor); } %typemap(throws, noblock=1) enum SWIGTYPE { char obj[20]; sprintf(obj, "%d", (int)$1); SWIG_Scilab_Raise_Ex(obj, "$type", $descriptor); } %typemap(throws, noblock=1) float, double, float&, double& { char obj[20]; sprintf(obj, "%5.3f", (double)$1); SWIG_Scilab_Raise_Ex(obj, "$type", $descriptor); } %typemap(throws, noblock=1) bool, bool& { SWIG_Scilab_Raise_Ex($1 ? "true" : "false", "$type", $descriptor); } %typemap(throws, noblock=1) char*, char[ANY] { SWIG_Scilab_Raise_Ex($1, "$type", $descriptor); } %typemap(throws, noblock=1) char, char& { char obj[1]; sprintf(obj, "%c", (char)$1); SWIG_Scilab_Raise_Ex(obj, "$type", $descriptor); } %typemap(throws, noblock=1) SWIGTYPE, SWIGTYPE*, SWIGTYPE [ANY], SWIGTYPE & { SWIG_Scilab_Raise_Ex((char*)NULL, "$type", $descriptor); } %typemap(throws, noblock=1) (...) { SWIG_exception(SWIG_RuntimeError, "unknown exception"); }