[R] Fix failure in overloaded functions which was breaking
QuantLib-SWIG git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12282 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
2453aee4e7
commit
98441fc6ad
2 changed files with 17 additions and 1 deletions
|
|
@ -5,6 +5,10 @@ See the RELEASENOTES file for a summary of changes in each release.
|
|||
Version 2.0.2 (in progress)
|
||||
===========================
|
||||
|
||||
2010-10-17: drjoe
|
||||
[R] Fix failure in overloaded functions which was breaking
|
||||
QuantLib-SWIG
|
||||
|
||||
2010-10-14: olly
|
||||
[PHP] Allow compilation on non-conforming Microsoft C++ compilers
|
||||
which don't accept: return function_returning_void();
|
||||
|
|
|
|||
|
|
@ -1603,6 +1603,16 @@ void R::dispatchFunction(Node *n) {
|
|||
j == 0 ? "" : " && ",
|
||||
j+1);
|
||||
}
|
||||
else if (DohStrcmp(tm,"integer")==0) {
|
||||
Printf(f->code, "%s(is.integer(argv[[%d]]) || is.numeric(argv[[%d]]))",
|
||||
j == 0 ? "" : " && ",
|
||||
j+1, j+1);
|
||||
}
|
||||
else if (DohStrcmp(tm,"character")==0) {
|
||||
Printf(f->code, "%sis.character(argv[[%d]])",
|
||||
j == 0 ? "" : " && ",
|
||||
j+1);
|
||||
}
|
||||
else {
|
||||
Printf(f->code, "%sextends(argtypes[%d], '%s')",
|
||||
j == 0 ? "" : " && ",
|
||||
|
|
@ -1617,7 +1627,9 @@ void R::dispatchFunction(Node *n) {
|
|||
}
|
||||
}
|
||||
if (cur_args != -1) {
|
||||
Printv(f->code, "}", NIL);
|
||||
Printf(f->code, "} else {\n"
|
||||
"stop(\"cannot find overloaded function for %s\");\n"
|
||||
"}", sfname);
|
||||
}
|
||||
Printv(f->code, ";\nf(...)", NIL);
|
||||
Printv(f->code, ";\n}", NIL);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue