You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`adjustable`, if true, says the vector should be adjustable.
460
460
-`length` is the initial length of the vector, unless `for-vector` is given. The default is 8.
461
461
-`extension` says how much to extend the vector by. It can be a real greater than 1, or a function designator. If it is a real the new length is computed as `(max (1+ l) (round (* l extension))`, where `l` is the old length. This ensures the vector actually grows. If it is a function designator, then the function is called with the old length and should return a new one. The result of this isn't checked, but it had better be at least one more than the old length. The default is 1.5.
462
-
-`element-type`specifies the element type of the vector. See [below](#the-element-type-and-simple-arguments"The element-type and simple arguments")
463
-
-`simple`says that the array is simple. See [below](#the-element-type-and-simple-arguments"The element-type and simple arguments").
462
+
-`element-type`specifies the element type of the vector. See [below](#the-element-type-and-simple-options-for-with-vector-accumulators"The element-type and simple options for with-vector-accumulators")
463
+
-`simple`says that the array is simple. See [below](#the-element-type-and-simple-options-for-with-vector-accumulators"The element-type and simple options for with-vector-accumulators").
464
464
-`finalize`, default true, says to 'finalize' the vector: this means that it is adjusted to have length equal to one more than the last index.
465
465
466
466
`with-vector-accumulators` returns all the accumulators as multiple values.
467
467
468
-
### The `element-type` and `simple`arguments
468
+
### The `element-type` and `simple`options for `with-vector-accumulators`
469
469
These two arguments can be used to improve declarations. But if you give them in such a way that they have an effect, *they will be trusted*: it's then up to you to make sure that things actually are what is assumed.
470
470
471
471
**`element-type`**, if given as a quoted expression, will cause array types to be declared as having that element type, and the local function's argument to be appropriately declared. For instance `(with-vector-accumulators ((a :element-type 'fixnum)) ...)` will result in arrays being declared to have type `(simple-array fixnum (*))` and the local function's argument will be declared to be a `fixnum`. This argument only does anything if its value is a quoted expression as it's used at macroexpansion time, obviously.
0 commit comments