NAME
Muldis::D::Core::Interval - Muldis D generic interval operators
VERSION
This document is Muldis::D::Core::Interval version 0.107.0.
PREFACE
This document is part of the Muldis D language specification, whose root document is Muldis::D; you should read that root document before you read this one, which provides subservient details. Moreover, you should read the Muldis::D::Core document before this current document, as that forms its own tree beneath a root document branch.
DESCRIPTION
This document describes essentially all of the core Muldis D generic interval operators, for the canonical interval types that are tuple or relation types with specific nonscalar headings. They can potentially be used with values of any data type as long as said data type has a (total) order-determination
function defined for it, and all system-defined conceptually-ordered Muldis D scalar root types do.
This documentation is pending.
Most functions that should be in this document are pending.
GENERIC RELATIONAL FUNCTIONS FOR INTERVALS
Each of these functions which has the parameter named func
is a wrapper over the order-determination
function named in its func
argument when the latter function is curried by an is_reverse_order
argument of Bool:False
. For any scalar root type's type-default order function, the argument for func
is sys.std.Core.Scalar.order
. Each func
parameter is optional and defaults to sys.std.Core.Scalar.order
if no explicit argument is given to it.
These functions' SPInterval
-typed arguments' min
and max
attribute values must be of compatible declared types with the wrapped functions' topic
and other
parameters; otherwise these functions will fail|warn when the wrapped function would. Likewise, any other argument values would be compared to an interval's endpoints must be compatible with them. Likewise, said attributes of any multiplicity of SPInterval
-typed arguments must be mutually compatible.
sys.std.Core.Interval.has_member
function sys.std.Core.Interval.has_member (Bool <-- $interval : SPInterval, $value : Universal, $func? : OrdDetCFuncNC)
This function results in Bool:True
iff its value
argument is included within the interval defined by its interval
argument, and Bool:False
otherwise. That is, if conceptually the interval represents a set of values, this function tests if value
is a member of interval
. Note that this operation is also known as I∋
.
sys.std.Core.Interval.has_not_member
function sys.std.Core.Interval.has_not_member (Bool <-- $interval : SPInterval, $value : Universal, $func? : OrdDetCFuncNC)
This function is exactly the same as sys.std.Core.Interval.has_member
except that it results in the opposite boolean value when given the same arguments. Note that this operation is also known as I∌
.
sys.std.Core.Interval.value_is_member
function sys.std.Core.Interval.value_is_member (Bool <-- $value : Universal, $interval : SPInterval, $func? : OrdDetCFuncNC)
This function is an alias for sys.std.Core.Interval.has_member
. This function results in Bool:True
iff its value
argument is included within the interval defined by its interval
argument, and Bool:False
otherwise. That is, if conceptually the interval represents a set of values, this function tests if value
is a member of interval
. Note that this operation is also known as I∈
or between, and depending on the combination of excludes_[min|max]
attributes of its interval
argument, it is alternately also known as one of [≤≤
, ≤<
, <≤
, <<
].
sys.std.Core.Interval.value_is_not_member
function sys.std.Core.Interval.value_is_not_member (Bool <-- $value : Universal, $interval : SPInterval, $func? : OrdDetCFuncNC)
This function is an alias for sys.std.Core.Interval.has_not_member
. This function is exactly the same as sys.std.Core.Interval.value_is_member
except that it results in the opposite boolean value when given the same arguments. Note that this operation is also known as I¬in;
or not between, and depending on the combination of excludes_[min|max]
attributes of its interval
argument, it is alternately also known as one of [!≤≤
, !≤<
, !<≤
, !<<
].
SEE ALSO
Go to Muldis::D for the majority of distribution-internal references, and Muldis::D::SeeAlso for the majority of distribution-external references.
AUTHOR
Darren Duncan (darren@DarrenDuncan.net
)
LICENSE AND COPYRIGHT
This file is part of the formal specification of the Muldis D language.
Muldis D is Copyright © 2002-2010, Muldis Data Systems, Inc.
See the LICENSE AND COPYRIGHT of Muldis::D for details.
TRADEMARK POLICY
The TRADEMARK POLICY in Muldis::D applies to this file too.
ACKNOWLEDGEMENTS
The ACKNOWLEDGEMENTS in Muldis::D apply to this file too.