This is a wrapper to make it easier to perform
pointwise calculations with the arrays of summary functions
used in spatial statistics.

A function array (object of class `"fasp"`

) can be regarded as a matrix
whose entries are functions. Objects of this kind
are returned by the command `alltypes`

.

Suppose `X`

is an object of class `"fasp"`

.
Then `eval.fasp(X+3)`

effectively adds 3 to the value of
every function in the array `X`

, and returns
the resulting object.

Suppose `X`

and `Y`

are two objects of class `"fasp"`

which are compatible (for example the arrays
must have the same dimensions). Then
`eval.fasp(X + Y)`

will add the corresponding functions in
each cell of the arrays `X`

and `Y`

,
and return the resulting array of functions.

Suppose `X`

is an object of class `"fasp"`

and `f`

is an object of class `"fv"`

.
Then `eval.fasp(X + f)`

will add the function `f`

to the functions in each cell of the array `X`

,
and return the resulting array of functions.

In general, `expr`

can be any expression involving
(a) the *names* of objects of class `"fasp"`

or `"fv"`

,
(b) scalar constants, and (c) functions which are vectorised.
See the Examples.

First `eval.fasp`

determines which of the *variable names*
in the expression `expr`

refer to objects of class `"fasp"`

.
The expression is then evaluated for each cell of the array
using `eval.fv`

.

The expression `expr`

must be vectorised.
There must be at least one object of class `"fasp"`

in the expression.
All such objects must be compatible.