diff --git a/Lib/csharp/csharp.swg b/Lib/csharp/csharp.swg index 1aaa02345..7a411f947 100644 --- a/Lib/csharp/csharp.swg +++ b/Lib/csharp/csharp.swg @@ -269,7 +269,7 @@ const unsigned int & (unsigned int temp), const long & (long temp), const unsigned long & (unsigned long temp), - const long long & (long long temp), + const long long & ($*1_ltype temp), const float & (float temp), const double & (double temp) %{ temp = ($*1_ltype)$input; @@ -291,7 +291,7 @@ $1 = &temp; %} /* const unsigned long long & */ /* Similar to unsigned long long */ -%typemap(in) const unsigned long long & (unsigned long long temp) { +%typemap(in) const unsigned long long & ($*1_ltype temp) { jclass clazz; jmethodID mid; jbyteArray ba; diff --git a/Lib/java/java.swg b/Lib/java/java.swg index 91181a77e..514eb89b1 100644 --- a/Lib/java/java.swg +++ b/Lib/java/java.swg @@ -271,7 +271,7 @@ const unsigned int & (unsigned int temp), const long & (long temp), const unsigned long & (unsigned long temp), - const long long & (long long temp), + const long long & ($*1_ltype temp), const float & (float temp), const double & (double temp) %{ temp = ($*1_ltype)$input; @@ -293,7 +293,7 @@ /* const unsigned long long & */ /* Similar to unsigned long long */ -%typemap(in) const unsigned long long & (unsigned long long temp) { +%typemap(in) const unsigned long long & ($*1_ltype temp) { jclass clazz; jmethodID mid; jbyteArray ba; diff --git a/Lib/java/typemaps.i b/Lib/java/typemaps.i index 8d0ad293a..912afc57b 100644 --- a/Lib/java/typemaps.i +++ b/Lib/java/typemaps.i @@ -94,7 +94,7 @@ INPUT_TYPEMAP(double, jdouble, double); /* Convert from BigInteger using the toByteArray member function */ /* Overrides the typemap in the INPUT_TYPEMAP macro */ -%typemap(in) unsigned long long *INPUT($*1_type temp), unsigned long long &INPUT(unsigned long long temp) { +%typemap(in) unsigned long long *INPUT($*1_ltype temp), unsigned long long &INPUT($*1_ltype temp) { jclass clazz; jmethodID mid; jbyteArray ba; @@ -192,7 +192,7 @@ value in the single element array. In Java you would use it like this: %typemap(jstype) CTYPE &OUTPUT "JTYPE[]" %typemap(javain) CTYPE &OUTPUT "$javainput" -%typemap(in) CTYPE *OUTPUT($*1_type temp), CTYPE &OUTPUT(CTYPE temp) +%typemap(in) CTYPE *OUTPUT($*1_ltype temp), CTYPE &OUTPUT($*1_ltype temp) { if (!$input) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); @@ -351,7 +351,7 @@ INOUT_TYPEMAP(double, jdouble, double, Double, jdoubleArray); #undef INOUT_TYPEMAP /* Override the typemap in the INOUT_TYPEMAP macro */ -%typemap(in) unsigned long long *INOUT ($*1_type temp), unsigned long long &INOUT (unsigned long long temp) { +%typemap(in) unsigned long long *INOUT ($*1_ltype temp), unsigned long long &INOUT ($*1_ltype temp) { jobject bigint; jclass clazz; jmethodID mid; diff --git a/Lib/perl5/perl5.swg b/Lib/perl5/perl5.swg index 2293b6312..c749ecad4 100644 --- a/Lib/perl5/perl5.swg +++ b/Lib/perl5/perl5.swg @@ -22,8 +22,8 @@ %typemap(in) float, double "$1 = ($1_ltype) SvNV($input);\n"; -%typemap(in) long long "$1 = (long long) strtoll(SvPV($input, PL_na), 0, 0);"; -%typemap(in) unsigned long long "$1 = (unsigned long long) strtoull(SvPV($input, PL_na), 0, 0);"; +%typemap(in) long long "$1 = ($1_ltype) strtoll(SvPV($input, PL_na), 0, 0);"; +%typemap(in) unsigned long long "$1 = ($1_ltype) strtoull(SvPV($input, PL_na), 0, 0);"; %typemap(in) char * "if (!SvOK((SV*) $input)) $1 = 0; @@ -76,12 +76,12 @@ "temp = ($*1_ltype) SvNV($input); $1 = &temp;"; -%typemap(in) const long long & (long long temp) - "temp = (long long) strtoll(SvPV($input,PL_na),0,0); +%typemap(in) const long long & ($*1_ltype temp) + "temp = ($*1_ltype) strtoll(SvPV($input,PL_na),0,0); $1 = &temp;"; -%typemap(in) const unsigned long long & (unsigned long long temp) - "temp = (unsigned long long) strtoull(SvPV($input, PL_na),0,0); +%typemap(in) const unsigned long long & ($*1_ltype temp) + "temp = ($*1_ltype) strtoull(SvPV($input, PL_na),0,0); $1 = &temp;"; %typemap(in) const char &(char temp) { @@ -223,8 +223,8 @@ %typemap(varin) float, double "$1 = ($1_ltype) SvNV($input);\n"; -%typemap(varin) long long "$1 = (long long) strtoll(SvPV($input, PL_na), 0, 0);"; -%typemap(varin) unsigned long long "$1 = (unsigned long long) strtoull(SvPV($input, PL_na), 0, 0);"; +%typemap(varin) long long "$1 = ($1_ltype) strtoll(SvPV($input, PL_na), 0, 0);"; +%typemap(varin) unsigned long long "$1 = ($1_ltype) strtoull(SvPV($input, PL_na), 0, 0);"; %typemap(varin) SWIGTYPE *, SWIGTYPE [] { if (SWIG_ConvertPtr($input, (void **) &$1, $1_descriptor,0) < 0) { @@ -277,12 +277,12 @@ "temp = ($*1_ltype) SvNV($input); $1 = &temp;"; -%typemap(varin) const long long & (long long temp) - "temp = (long long) strtoll(SvPV($input,PL_na),0,0); +%typemap(varin) const long long & ($*1_ltype temp) + "temp = ($1_ltype) strtoll(SvPV($input,PL_na),0,0); $1 = &temp;"; -%typemap(varin) const unsigned long long & (unsigned long long temp) - "temp = (unsigned long long) strtoull(SvPV($input, PL_na),0,0); +%typemap(varin) const unsigned long long & ($*1_ltype temp) + "temp = ($1_ltype) strtoull(SvPV($input, PL_na),0,0); $1 = &temp;"; %typemap(varin) const char &(char temp) { diff --git a/Lib/python/python.swg b/Lib/python/python.swg index fb852d00f..fadcc9678 100644 --- a/Lib/python/python.swg +++ b/Lib/python/python.swg @@ -156,12 +156,12 @@ OUTV_TYPEMAP(char *, PyString_AsString); if (PyErr_Occurred()) SWIG_fail;"; %typemap(in) long long - "$1 = (long long) PyLong_AsLongLong($input); + "$1 = ($1_ltype) PyLong_AsLongLong($input); if (PyErr_Occurred()) SWIG_fail;"; %typemap(in) unsigned long long - "$1 = (unsigned long long) PyLong_AsUnsignedLongLong($input); + "$1 = ($1_ltype) PyLong_AsUnsignedLongLong($input); if (PyErr_Occurred()) SWIG_fail;"; %typemap(in,parse="f") float ""; @@ -221,13 +221,13 @@ OUTV_TYPEMAP(char *, PyString_AsString); if (PyErr_Occurred()) SWIG_fail; $1 = &temp;"; -%typemap(in) const long long & (long long temp) - "temp = (long long) PyLong_AsLongLong($input); +%typemap(in) const long long & ($*1_ltype temp) + "temp = ($*1_ltype) PyLong_AsLongLong($input); if (PyErr_Occurred()) SWIG_fail; $1 = &temp;"; -%typemap(in) const unsigned long long & (unsigned long long temp) - "temp = (unsigned long long) PyLong_AsUnsignedLongLong($input); +%typemap(in) const unsigned long long & ($*1_ltype temp) + "temp = ($*1_ltype) PyLong_AsUnsignedLongLong($input); if (PyErr_Occurred()) SWIG_fail; $1 = &temp;"; @@ -333,7 +333,7 @@ OUTV_TYPEMAP(char *, PyString_AsString); } %typemap(varin) long long { - long long temp = PyLong_AsLongLong($input); + $1_type temp = PyLong_AsLongLong($input); if (PyErr_Occurred()) { PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); return 1; @@ -342,7 +342,7 @@ OUTV_TYPEMAP(char *, PyString_AsString); } %typemap(varin) unsigned long long { - unsigned long long temp = PyLong_AsUnsignedLongLong($input); + $1_type temp = PyLong_AsUnsignedLongLong($input); if (PyErr_Occurred()) { PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); return 1; diff --git a/Lib/python/typemaps.i b/Lib/python/typemaps.i index a31486e42..39d878e37 100644 --- a/Lib/python/typemaps.i +++ b/Lib/python/typemaps.i @@ -62,7 +62,7 @@ or you can use the %apply directive : */ %define INPUT_TYPEMAP(type, converter) -%typemap(in) type *INPUT(type temp), type &INPUT(type temp) +%typemap(in) type *INPUT($*1_ltype temp), type &INPUT($*1_ltype temp) { temp = converter($input); if (PyErr_Occurred()) SWIG_fail; @@ -153,7 +153,7 @@ output values. %include "fragments.i" %define OUTPUT_TYPEMAP(type, converter, convtype) -%typemap(in,numinputs=0) type *OUTPUT(type temp), type &OUTPUT(type temp) "$1 = &temp;"; +%typemap(in,numinputs=0) type *OUTPUT($*1_ltype temp), type &OUTPUT($*1_ltype temp) "$1 = &temp;"; %typemap(argout,fragment="t_output_helper") type *OUTPUT, type &OUTPUT { PyObject *o = converter(convtype (*$1)); $result = t_output_helper($result,o); @@ -163,11 +163,11 @@ output values. OUTPUT_TYPEMAP(int, PyInt_FromLong, (long)); OUTPUT_TYPEMAP(short, PyInt_FromLong, (long)); OUTPUT_TYPEMAP(long, PyInt_FromLong, (long)); -OUTPUT_TYPEMAP(long long, PyLong_FromLongLong, (long long)); +OUTPUT_TYPEMAP(long long, PyLong_FromLongLong, ($*1_ltype)); OUTPUT_TYPEMAP(unsigned int, PyInt_FromLong, (long)); OUTPUT_TYPEMAP(unsigned short, PyInt_FromLong, (long)); OUTPUT_TYPEMAP(unsigned long, PyInt_FromLong, (long)); -OUTPUT_TYPEMAP(unsigned long long, PyLong_FromUnsignedLongLong, (unsigned long long)); +OUTPUT_TYPEMAP(unsigned long long, PyLong_FromUnsignedLongLong, ($*1_ltype)); OUTPUT_TYPEMAP(unsigned char, PyInt_FromLong, (long)); OUTPUT_TYPEMAP(signed char, PyInt_FromLong, (long)); OUTPUT_TYPEMAP(bool, PyInt_FromLong, (long)); diff --git a/Lib/ruby/ruby.swg b/Lib/ruby/ruby.swg index 952a80da4..d53e4c4c7 100644 --- a/Lib/ruby/ruby.swg +++ b/Lib/ruby/ruby.swg @@ -107,11 +107,11 @@ "temp = ($*1_ltype) NUM2DBL($input); $1 = &temp;"; -%typemap(in) const long long & (long long temp) +%typemap(in) const long long & ($*1_ltype temp) "temp = ($*1_ltype) NUM2LL($input); $1 = &temp;"; -%typemap(in) const unsigned long long & (unsigned long long temp) +%typemap(in) const unsigned long long & ($*1_ltype temp) "temp = ($*1_ltype) NUM2ULL($input); $1 = &temp;"; diff --git a/Lib/tcl/tcl8.swg b/Lib/tcl/tcl8.swg index 6dff5cdc6..7a426ff2e 100644 --- a/Lib/tcl/tcl8.swg +++ b/Lib/tcl/tcl8.swg @@ -44,8 +44,8 @@ /* These will pass an integer as an unsigned long. However, the implementation is crippled due to limited precision in Tcl */ -%typemap(in) long long "$1 = (long long) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);"; -%typemap(in) unsigned long long "$1 = (unsigned long long) strtoull(Tcl_GetStringFromObj($input,NULL), 0, 0);"; +%typemap(in) long long "$1 = ($1_ltype) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);"; +%typemap(in) unsigned long long "$1 = ($1_ltype) strtoull(Tcl_GetStringFromObj($input,NULL), 0, 0);"; /* Enum parsing. Note: internally SWIG converts enums to/from integers so it's okay to use the "i" parse code here */ @@ -115,12 +115,12 @@ $1 = &temp; } -%typemap(in) const long long & (long long temp) - "temp = (long long) strtoll(Tcl_GetStringFromObj($input,NULL),0,0); +%typemap(in) const long long & ($*1_ltype temp) + "temp = ($*1_ltype) strtoll(Tcl_GetStringFromObj($input,NULL),0,0); $1 = &temp;"; -%typemap(in) const unsigned long long & (unsigned long long temp) - "temp = (unsigned long long) strtoull(Tcl_GetStringFromObj($input,NULL),0,0); +%typemap(in) const unsigned long long & ($*1_ltype temp) + "temp = ($*1_ltype) strtoull(Tcl_GetStringFromObj($input,NULL),0,0); $1 = &temp;"; %typemap(in) const char &(char temp) { @@ -298,8 +298,8 @@ $1 = temp ? true : false; } -%typemap(varin) long long "$1 = (long long) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);"; -%typemap(varin) unsigned long long "$1 = (unsigned long long) strtoull(Tcl_GetStringFromObj($input,NULL),0,0);"; +%typemap(varin) long long "$1 = ($1_ltype) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);"; +%typemap(varin) unsigned long long "$1 = ($1_ltype) strtoull(Tcl_GetStringFromObj($input,NULL),0,0);"; %typemap(varin) double, float { double temp;