| nimNumeric {nimble} | R Documentation | 
Creates numeric, integer or logical vectors for use in nimbleFunctions
Description
In a nimbleFunction, numeric, integer and logical are identical to nimNumeric, nimInteger and nimLogical, respectively.
Usage
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
)
Arguments
length | 
 the length of the vector (default = 0)  | 
value | 
 value(s) for initializing the vector (default = 0). This may be a vector, matrix or array but will be used as a vector.  | 
init | 
 logical, whether to initialize elements of the vector (default = TRUE)  | 
fillZeros | 
 logical, whether to initialize any elements not filled by (possibly recycled)   | 
recycle | 
 logical, whether   | 
Details
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.
Author(s)
Daniel Turek, Christopher Paciorek, Perry de Valpine