XMM-Newton Science Analysis System
ssclib (ssclib-4.36.1) [xmmsas_20230412_1735-21.0.0]
rangesAreWellFormed
A RangeT vector (of size N) is defined as well-formed if and only if it obeys the following conditions:
- Only the lowest and highest bounds of the sequence of ranges are permitted to be of type UNDEFINED.
- For each range for which neither the lower or upper bound is of type UNDEFINED (ie, for each internal range in the sequence), the upper bound value must exceed the lower bound value unless both both bound types are INCLUSIVE, in which case the upper bound value may equal the lower bound value. In other words, each range must encompass some non-empty set of real numbers.
- For all i from 1 to N-1, the upper bound of range i must be less than the lower bound of range i+1, unless both bounds are of type EXCLUSIVE, in which case the upper bound of range i may equal the lower bound of range i+1. In other words, the gap between two adjacent ranges must encompass some non-empty set of real numbers.
Note that any ranges pointer can be brought into valid condition by passing it through the subroutine correctRanges() (section 9.5.4).
logical(bool) function rangesAreWellFormed(ranges)
type(RangeT), intent(in) :: ranges(:)
end function rangesAreWellFormed
XMM-Newton SOC -- 2023-04-16