process.args(...)
strictify(val,status)
&result
process.args()
is an internal function used to
massage the arguments into a form suitable for passing to .C()
.
For example, in function hyperg_0F1(c,x)
, one wants each of
hyperg_0F1(0.1, c(0.3,0.4))
and hyperg_0F1(c(0.1,0.2),
0.3)
and hyperg_0F1(c(0.1,0.2),c(0.3,0.4))
to behave sensibly. Function process.args()
is used widely in the package, taking an
arbitrary number of arguments and returning a list whose elements are
vectors of the same length. Most of the special functions use
process.args()
to ensure that the returned value takes the
attributes of the input argument with most elements where possible.
Function strictify()
uses the status
value returned by
the error form of the GSL special functions to make values
returned with a nonzero error
a NaN
. In most of the
special functions, strictify()
is called if argument
strict
takes its default value of TRUE
. Setting it to
FALSE
sometimes returns a numerical value as per the GSL
reference manual.
In most of the special functions, if argument give
takes its
default value of FALSE
, only a numerical value is returned.
If TRUE
, error information and the status (see preceding
paragraph) is also returned.
Following tips found on R-devel:
gsl-config --libs
to get the path to GSL's
lib directory
(-L
), use gsl-config --cflags
to get the
path to GSL
's include directory (-I
)
Makevars
in gsl/src
:
-L
to PKG_LIBS
PKG_CPPFLAGS=-I
gsl
via
LDFLAGS=-L; export LDFLAGS
CPPFLAGS=-I
R CMD INSTALL gsl