HELP NEWSFLOATARRAY                             David Young
                                                February 1992
                                                revised July 2003


LIB *NEWSFLOATARRAY provides procedures which make and recognise packed
arrays of single-precision floats. These are suitable for passing to
external procedures that expect such arrays. In addition, a vector class
for the arrayvectors is defined.

newsfloatarray(bounds_list, element_init) -> float_array
    The arguments are as for *newarray. The second is optional.

oldsfloatarray(tag, bounds_list, element_init) -> byte_array
    The last two arguments are as above, with element_init optional.

    The tag argument is an identifier such as a word or integer. If
    oldsfloatarray is called twice with the same tag, the arrays
    returned may share storage. This can reduce garbage collection, and
    this procedure should be used in preference to newsfloatarray for
    any array which is only needed temporarily. See *oldarray for more
    details.

issfloatarray(array) -> boolean
    Returns <true> if array is an array with a packed single-precision
    floating point arrayvector, <false> otherwise. An array for which
    <true> is returned could have been created with, for example,
    newsfloatarray, array_of_real, array_of_float (see *EXTERNAL),
    newfloatarray from the *VEC_MAT package (with popdprecision
    <false>), or some other similar procedure.

A vector class with dataword sfloatvec is defined. This means that the
constant sfloatvec_key and the procedures issfloatvec, conssfloatvec,
initsfloatvec, destsfloatvec, subscrsfloatvec and fast_subscrsfloatvec
are defined and made available. See REF *DEFSTRUCT for an explanation
of what these do, or REF *INTVEC for a description of the equivalent
procedures for a different vector class.

--- $popvision/help/newsfloatarray
--- Copyright University of Sussex 2003. All rights reserved. ----------
