Various widely used functions in the package
process.args(...)
strictify(val,status)
Argument list to be coerced to the same length
Value component of &result
status integer
Robin K. S. Hankin
Function 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:
Download and extract source code of R-package gsl
Use gsl-config --libs
to get the path to GSL's
lib directory
(-L<path-to-lib>
), use gsl-config --cflags
to get the
path to GSL
's include directory (-I<path-to-include>
)
Change Makevars
in gsl/src
:
Add -L<path-to-lib>
to PKG_LIBS
Add (new) line: PKG_CPPFLAGS=-I<path-to-include>
Install gsl
via
LDFLAGS=-L<path-to-lib>; export LDFLAGS
CPPFLAGS=-I<path-to-include>;export CPPFLAGS
R CMD INSTALL gsl