Module interval_arithmetic

Module interval_arithmetic 

Source
Expand description

Interval arithmetic library

Macrosยง

get_extreme_value ๐Ÿ”’
handle_float_intervals ๐Ÿ”’
This macro handles the NaN and INF floating point values.
impl_OneTrait ๐Ÿ”’
map_floating_point_order ๐Ÿ”’
Ordering floating-point numbers according to their binary representations contradicts with their natural ordering. Floating-point number ordering after unsigned integer transmutation looks like:
value_transition ๐Ÿ”’

Structsยง

Interval
The Interval type represents a closed interval used for computing reliable bounds for mathematical expressions.

Enumsยง

NullableInterval
An Interval that also tracks null status using a boolean interval.

Traitsยง

OneTrait ๐Ÿ”’

Functionsยง

add_bounds ๐Ÿ”’
Helper function used for adding the end-point values of intervals.
apply_operator
Applies the given binary operator the lhs and rhs arguments.
cardinality_ratio
This function computes the selectivity of an operation by computing the cardinality ratio of the given input/output intervals. If this can not be calculated for some reason, it returns 1.0 meaning fully selective (no filtering).
cast_scalar_value ๐Ÿ”’
Cast scalar value to the given data type using an arrow kernel.
div_bounds ๐Ÿ”’
Helper function used for dividing the end-point values of intervals.
div_helper_lhs_zero_inclusive ๐Ÿ”’
Divides the left-hand side interval by the right-hand side interval when the former contains zero.
div_helper_zero_exclusive ๐Ÿ”’
Divides the left-hand side interval by the right-hand side interval when neither interval contains zero.
handle_overflow ๐Ÿ”’
This function handles cases where an operation results in an overflow. Such results are converted to an unbounded endpoint if:
increment_decrement ๐Ÿ”’
This function either increments or decrements its argument, depending on the INC value (where a true value corresponds to the increment).
max_of_bounds ๐Ÿ”’
Returns the greater of the given interval bounds. Assumes that a NULL value represents NEG_INF.
min_of_bounds ๐Ÿ”’
Returns the lesser of the given interval bounds. Assumes that a NULL value represents INF.
mul_bounds ๐Ÿ”’
Helper function used for multiplying the end-point values of intervals.
mul_helper_multi_zero_inclusive ๐Ÿ”’
Multiplies two intervals that both contain zero.
mul_helper_single_zero_inclusive ๐Ÿ”’
Multiplies two intervals when only left-hand side interval contains zero.
mul_helper_zero_exclusive ๐Ÿ”’
Multiplies two intervals when neither of them contains zero.
next_value ๐Ÿ”’
next_value_helper ๐Ÿ”’
This function returns the next/previous value depending on the INC value. If true, it returns the next value; otherwise it returns the previous value.
prev_value ๐Ÿ”’
satisfy_greater
This function updates the given intervals by enforcing (i.e. propagating) the inequality left > right (or the left >= right inequality, if strict is true).
sub_bounds ๐Ÿ”’
Helper function used for subtracting the end-point values of intervals.