*VMASK
*VMASK, Par
Specifies an array parameter as a masking vector.
Notes
Specifies the name of the parameter whose values are to be checked for each resulting row
operation. The mask vector usually contains only 0 (for false) and 1 (for true) values. For each
row operation the corresponding mask vector value is checked. A true value allows the operation
to be done. A false value skips the operation (and retains the previous results). A mask vector
can be created from direct input, such as M(1) = 1,0,0,1,1,0,1; or from the DATA function of the
*VFILL command. The NOT function of the *VFUN command can
be used to reverse the logical sense of the mask vector. The logical compare operations (LT, LE,
EQ, NE, GE, and GT) of the *VOPER command also produce a mask vector by
operating on two other vectors. Any numeric vector can be used as a mask vector since the actual
interpretation assumes values less than 0.0 are 0.0 (false) and values greater than 0.0 are 1.0
(true). If the mask vector is not specified (or has fewer values than the result vector), true
(1.0) values are assumed for the unspecified values. Another skip control may be input with
NINC
on the *VLEN command. If both are present,
operations occur only when both are true. The mask setting is reset to the default (no mask) after each *VXX
or *MXX
operation. Use *VSTAT to list settings.
This command masks values in an array by setting them to 0, while leaving the unmasked values unchanged. The length of the array is preserved.
This command is valid in any processor.