In a nimbleFunction, numeric, integer and logical are identical to nimNumeric, nimInteger and nimLogical, respectively.
nimNumeric(
length = 0,
value = 0,
init = TRUE,
fillZeros = TRUE,
recycle = TRUE
)nimInteger(
length = 0,
value = 0,
init = TRUE,
fillZeros = TRUE,
recycle = TRUE
)
nimLogical(
length = 0,
value = 0,
init = TRUE,
fillZeros = TRUE,
recycle = TRUE
)
the length of the vector (default = 0)
value(s) for initializing the vector (default = 0). This may be a vector, matrix or array but will be used as a vector.
logical, whether to initialize elements of the vector (default = TRUE)
logical, whether to initialize any elements not filled by (possibly recycled) value with 0 (or FALSE for nimLogical) (default = TRUE)
logical, whether value should be recycled to fill the entire length of the new vector (default = TRUE)
Daniel Turek, Christopher Paciorek, Perry de Valpine
These functions are similar to R's numeric, integer, logical functions, but they can be used in a nimbleFunction and then compiled using compileNimble. Largely for compilation purposes, finer control is provided over initialization behavior. If init = FALSE, no initialization will be done, and value, fillZeros and recycle will be ignored. If init=TRUE and recycle=TRUE, then fillZeros will be ignored, and value will be repeated (according to R's recycling rule) as much as necessary to fill a vector of length length. If init=TRUE and recycle=FALSE, then if fillZeros=TRUE, values of 0 (or FALSE for nimLogical) will be filled in after value up to length length. Compiled code will be more efficient if unnecessary initialization is not done, but this may or may not be noticeable depending on the situation.
When used in a nimbleFunction (in run or other member function), numeric, integer and logical are immediately converted to nimNumeric, nimInteger and nimLogical, respectively.
nimMatrix, nimArray