1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#include <Rinternals.h>
#include <Rembedded.h>
int
main(int argc, char *argv[])
{
SEXP e, val;
int errorOccurred;
argv[0] = "R";
Rf_initEmbeddedR(argc, argv);
PROTECT(e = lang2(install("sqrt"), mkString("")));
val = R_tryEval(e, NULL, &errorOccurred);
if(errorOccurred) {
fprintf(stderr, "Caught an error calling sqrt(). Try again with a different argument.\n");fflush(stderr);
}
SETCAR(CDR(e), ScalarInteger(9));
val = R_tryEval(e, NULL, &errorOccurred);
if(errorOccurred) {
fprintf(stderr, "Caught another error calling sqrt()\n");fflush(stderr);
} else {
Rf_PrintValue(val);
}
UNPROTECT(1);
return(0);
}
|