If a gating object is supplied, the operation is only performed where the 
gating value is non-zero.  Where the gating value is zero, data is 
transferred to the output and its data type is cast to conform to the result 
of the operation.  Gating only applies to value and map data, and if other 
data, such as location, is present in the gating object, it is completely 
ignored by the program.  If the gating object contains a mask, the program 
will fail.  If the gating object's data size is different than the source 
object data size(s), it is adjusted to fit the source object data size(s), 
by truncation or zero padding.  Depending on which data are available in 
the source object(s), the gate data is taken from the value, the map, or 
their combination.  
