HP Pascal/iX Reference Manual (31502-90022)

11- 35
{with spaces.}
fast_fill(addr(i1000),0,sizeof(i1000)); {fill an integer array}
{with 0s. }
new(p);
fast_fill(p,hex('ff'),sizeof(p^)); {fill an array in the }
{heap to -1 (all bits on).}
end.
Move_Fast.
The predefined procedure move_fast provides another generalized array
copying mechanism.
Usage
move_fast
(count,source,source_index,target,target_index)
Parameters
count
A positive integer expression whose value is the
number of elements to move.
source
The source array from where elements will be moved.
source_index
An integer expression whose value is the index into
the source array of the leftmost element to be
moved. The value must be greater than or equal to
the index of the first element in the source array,
and less than or equal to the index of the last
element in the source array minus the move count.
target
The target array to where elements will be moved.
target_index
An integer expression whose value is the index into
the target array to where the move begins. The
value must be greater than or equal to the index of
the first element in the target array, and less
than or equal to the index of the last element in
the target array minus the move count.
Description
The syntax of the procedure is also identical to the syntax of the
predefined procedure, strmove.
Move_fast provides an alternative to move_l_to_r or move_r_to_l for
generating simpler and faster code when certain restrictions are met by
the parameters.
These restrictions are:
* The source and target arrays must not overlap.
* The source and the target must have elements with the same sizes.
The size of each element must be greater than or equal to one
byte.
* If the source or the target array is packed, then the packing
should be such that the wasted space per word; for example, space
left between elements, should be the same for both arrays.
* Both the source and the target arrays must be aligned on byte
boundaries. Therefore, one of the following must be true:
* All elements of the source and the target arrays must each
be aligned on byte boundaries.
* The leftmost source and target element must be aligned on