[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)
|
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
|
2010-10-14: olly
|
||||||
[PHP] Allow compilation on non-conforming Microsoft C++ compilers
|
[PHP] Allow compilation on non-conforming Microsoft C++ compilers
|
||||||
which don't accept: return function_returning_void();
|
which don't accept: return function_returning_void();
|
||||||
|
|
|
||||||
|
|
@ -1603,6 +1603,16 @@ void R::dispatchFunction(Node *n) {
|
||||||
j == 0 ? "" : " && ",
|
j == 0 ? "" : " && ",
|
||||||
j+1);
|
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 {
|
else {
|
||||||
Printf(f->code, "%sextends(argtypes[%d], '%s')",
|
Printf(f->code, "%sextends(argtypes[%d], '%s')",
|
||||||
j == 0 ? "" : " && ",
|
j == 0 ? "" : " && ",
|
||||||
|
|
@ -1617,7 +1627,9 @@ void R::dispatchFunction(Node *n) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cur_args != -1) {
|
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, ";\nf(...)", NIL);
|
||||||
Printv(f->code, ";\n}", NIL);
|
Printv(f->code, ";\n}", NIL);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue