long long typemap mods for use with %apply
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4443 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
0baec2d437
commit
af3ec605e9
8 changed files with 41 additions and 41 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue