Cache Command - create a new cache table
|
Calling Sequence
|
|
Cache( opts )
Cache( n, opts )
Cache( cache, opts )
|
|
Parameters
|
|
n
|
-
|
integer; size of cache table to create
|
cache
|
-
|
cache table; cache table to copy
|
opts
|
-
|
(optional) equations of the form option=value, where option is one of procedure, temporary or permanent
|
|
|
|
|
Description
|
|
•
|
The Cache command is a top-level command that creates a new cache table. If n is given, the returned table will be capable of storing at least n distinct temporary entries. Increasing n may also make accessing permanent elements faster.
|
>
|
c1 := Cache( 100, permanent=[ a=2, b=3 ], temporary=[ c=4, d=5] );
|
| (1) |
•
|
If cache is given, a cache table with the same size as cache is created. As well, the entries of cache, both temporary and permanent, are inserted into the new cache table. Any additional entries specified by optional parameters are also added.
|
•
|
There are three optional arguments: procedure, temporary, and permanent.
|
|
The procedure optional argument accepts a procedure, p as an argument. The newly created cache table is installed as p's remember table. If p has option remember or it already has a remember table, an error is raised.
|
|
The temporary optional argument accepts a list of equations that are used to initialize the temporary entries of the cache table. The lhs of each equation is used as the key and the rhs is used as the value. As a cache table is only capable of storing a fixed number of temporary entries, there is no guarantee that all the entries in the list will be in the returned table.
|
|
The permanent optional argument accepts a list of equations that are used to initialize the permanent entries of the cache table. The lhs of each equation is used as the key and the rhs is used as the value.
|
|
|
Examples
|
|
The Cache command is always called using the Cache(arguments) calling sequence. You do not need to use with(Cache).
>
|
|
| (2) |
>
|
|
| (3) |
>
|
p := proc(x) return 1; end proc;
|
| (4) |
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
|
|
Download Help Document
Was this information helpful?