From: <dr...@us...> - 2008-12-29 22:25:57
|
Revision: 11015 http://swig.svn.sourceforge.net/swig/?rev=11015&view=rev Author: drjoe Date: 2008-12-29 22:25:55 +0000 (Mon, 29 Dec 2008) Log Message: ----------- change as(...,"integer") to as.integer to force conversion into integers Modified Paths: -------------- trunk/Lib/r/rtype.swg Modified: trunk/Lib/r/rtype.swg =================================================================== --- trunk/Lib/r/rtype.swg 2008-12-29 22:06:50 UTC (rev 11014) +++ trunk/Lib/r/rtype.swg 2008-12-29 22:25:55 UTC (rev 11015) @@ -35,15 +35,18 @@ INTSXP. */ +/* Force coercion of integer, since by default R sets all constants to + numeric, which means that you can't directly call a function with an + integer using an R numercal literal */ %typemap(scoercein) int, int *, int & - %{ $input = as($input, "integer"); %} + %{ $input = as.integer($input); %} %typemap(scoercein) ptrdiff_t, ptrdiff_t *, ptrdiff_t & - %{ $input = as($input, "integer"); %} + %{ $input = as.integer($input); %} %typemap(scoercein) unsigned long, unsigned long *, unsigned long & - %{ $input = as($input, "integer"); %} + %{ $input = as.integer($input); %} %typemap(scoercein) unsigned int, unsigned int *, unsigned int & - %{ $input = as($input, "integer"); %} + %{ $input = as.integer($input); %} %typemap(scoercein) double, double *, double & %{ %} %typemap(scoercein) float, float *, float & This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dr...@us...> - 2012-03-21 15:44:12
|
Revision: 12943 http://swig.svn.sourceforge.net/swig/?rev=12943&view=rev Author: drjoe Date: 2012-03-21 15:44:01 +0000 (Wed, 21 Mar 2012) Log Message: ----------- fix typos and add more typecheck Modified Paths: -------------- trunk/Lib/r/rtype.swg Modified: trunk/Lib/r/rtype.swg =================================================================== --- trunk/Lib/r/rtype.swg 2012-03-21 06:55:07 UTC (rev 12942) +++ trunk/Lib/r/rtype.swg 2012-03-21 15:44:01 UTC (rev 12943) @@ -50,7 +50,7 @@ %typemap("rtypecheck") bool, bool & %{ is.logical($arg) && length($arg) == 1 %} %typemap("rtypecheck") bool * - %{ is.logical($arg) % } + %{ is.logical($arg) %} /* Set up type checks to insure overloading precedence. @@ -58,6 +58,12 @@ they get called if length = 1 */ +%typecheck(SWIG_TYPECHECK_BOOL) bool {} +%typecheck(SWIG_TYPECHECK_UINT32) unsigned int {} +%typecheck(SWIG_TYPECHECK_INTEGER) int {} +%typecheck(SWIG_TYPECHECK_FLOAT) float {} +%typecheck(SWIG_TYPECHECK_DOUBLE) double {} + %typecheck(SWIG_TYPECHECK_BOOL_PTR) bool * {} %typecheck(SWIG_TYPECHECK_INT32_PTR) int * {} %typecheck(SWIG_TYPECHECK_FLOAT_PTR) float * {} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dr...@us...> - 2012-03-25 12:01:52
|
Revision: 12951 http://swig.svn.sourceforge.net/swig/?rev=12951&view=rev Author: drjoe Date: 2012-03-25 12:01:46 +0000 (Sun, 25 Mar 2012) Log Message: ----------- fix typo in int definition Modified Paths: -------------- trunk/Lib/r/rtype.swg Modified: trunk/Lib/r/rtype.swg =================================================================== --- trunk/Lib/r/rtype.swg 2012-03-25 12:00:24 UTC (rev 12950) +++ trunk/Lib/r/rtype.swg 2012-03-25 12:01:46 UTC (rev 12951) @@ -38,10 +38,11 @@ %typemap("rtypecheck") int, int &, long, long &, unsigned char, unsigned char & + %{ (is.integer($arg) || is.numeric($arg)) && length($arg) == 1 %} +%typemap("rtypecheck") int *, long *, unsigned char * %{ is.integer($arg) || is.numeric($arg) %} -%typemap("rtypecheck") int *, long *, unsigned char * - %{ (is.integer($arg) || is.numeric($arg)) && length($arg) == 1 %} + %typemap("rtypecheck") double, double &, float, float & %{ is.numeric($arg) && length($arg) == 1 %} %typemap("rtypecheck") double*, float * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |