-
Notifications
You must be signed in to change notification settings - Fork 2
NullVellSet
A "null" VellSet corresponds to a constant null value. Null VellSets are represented as follows:
-
As a VellSet with no main value (perturbed values are ignored, and should not be present). This is also called a MissingValue.
-
A VellSet with a scalar 0 main value, and no perturbed values. Some examples:
-
A MeqConstant or a non-solvable MeqParm initialized with a value of 0 will always return a null VellSet.
-
A solvable MeqParm will return a "non-null" VellSet even if its current value is 0, since perturbed values are present.
-
A MeqSpigot with missing data will return ["MissingValue"]s for missing data elements. Note that it is possible to generate VellSets that effectively have a zero value, but are not considered a null. For example, if the main value is a time-freq-variable Vells filled with zeroes, it is not an true "null" VellSet even if it behaves like a null in all calculations. If this becomes a problem later on, we'd have to create some kind of "reducer" node that recognizes these situations and converts the VellSets to real "nulls".
The main difference between a "null" VellSet and a regular VellSet filled with zeroes is the treatment of flags by Function nodes. This is described in FlagManagement.