mode.arg must be "write" or "read". If in
"read" mode then smart.prediction must be assigned the
data structure .smart.prediction that was created while
fitting. This is stored in object@smart.prediction or
object$smart.prediction where
object is the name of the fitted object.
smart.prediction
If in "read" mode then smart.prediction must be assigned
the list of data dependent parameters, which is stored
on the fitted object.
Otherwise, smart.prediction is ignored.
max.smart
max.smart is the initial length of the list
.smart.prediction. It is not important because
.smart.prediction is made larger if needed.
Side Effects
In "write" mode
.smart.prediction in
smartpredenv
is assigned an empty list with max.smart components.
In "read" mode
.smart.prediction in
smartpredenv
is assigned smart.prediction.
Then
.smart.prediction.counter in
smartpredenv
is assigned the value 0, and
.smart.prediction.mode and .max.smart are written to
smartpredenv too.
Details
This function is only required by programmers writing a modelling
function such as lm
and glm, or a prediction functions of such,
e.g., predict.lm.
The function
setup.smart operates by mimicking the operations of a
first-in first-out stack (better known as a queue).
if (FALSE) {
setup.smart("write") # Put at the beginning of lm}
if (FALSE) # Put at the beginning of predict.lmsetup.smart("read", smart.prediction = object$smart.prediction)