Static Value-Flow Analysis
|
#include <IntervalValue.h>
Static Public Member Functions | |
static BoundedInt | minus_infinity () |
Get minus infinity -inf. | |
static BoundedInt | plus_infinity () |
Get plus infinity +inf. | |
static bool | is_infinite (const BoundedInt &e) |
static IntervalValue | top () |
Create the IntervalValue [-inf, +inf]. | |
static IntervalValue | bottom () |
Create the bottom IntervalValue [+inf, -inf]. | |
Private Member Functions | |
void | setValue (const BoundedInt &lb, const BoundedInt &ub) |
Set the lower bound. | |
Static Private Member Functions | |
static IntervalValue | create (const BoundedInt &lb, const BoundedInt &ub) |
Private Attributes | |
BoundedInt | _lb |
BoundedInt | _ub |
Friends | |
IntervalValue | operator+ (const IntervalValue &lhs, const IntervalValue &rhs) |
Add IntervalValues. | |
IntervalValue | operator- (const IntervalValue &lhs, const IntervalValue &rhs) |
Subtract IntervalValues. | |
IntervalValue | operator* (const IntervalValue &lhs, const IntervalValue &rhs) |
Multiply IntervalValues. | |
IntervalValue | operator/ (const IntervalValue &lhs, const IntervalValue &rhs) |
Divide IntervalValues. | |
IntervalValue | operator<< (const IntervalValue &lhs, const IntervalValue &rhs) |
Left binary shift of IntervalValues. | |
IntervalValue | operator>> (const IntervalValue &lhs, const IntervalValue &rhs) |
Left binary shift of IntervalValues. | |
IntervalValue | operator& (const IntervalValue &lhs, const IntervalValue &rhs) |
Bitwise AND of IntervalValues. | |
IntervalValue | operator| (const IntervalValue &lhs, const IntervalValue &rhs) |
Bitwise OR of IntervalValues. | |
IntervalValue | operator^ (const IntervalValue &lhs, const IntervalValue &rhs) |
Bitwise XOR of IntervalValues. | |
IntervalValue abstract value
Implemented as a pair of bounds
Definition at line 45 of file IntervalValue.h.
|
inlineexplicit |
Create default IntervalValue.
Definition at line 106 of file IntervalValue.h.
|
inlineexplicit |
Create the IntervalValue [n, n].
Definition at line 109 of file IntervalValue.h.
|
inlineexplicit |
Definition at line 111 of file IntervalValue.h.
|
inlineexplicit |
Definition at line 113 of file IntervalValue.h.
|
inlineexplicit |
|
inlineexplicit |
Definition at line 117 of file IntervalValue.h.
|
inlineexplicit |
Create the IntervalValue [lb, ub].
Definition at line 120 of file IntervalValue.h.
Definition at line 125 of file IntervalValue.h.
Definition at line 127 of file IntervalValue.h.
Definition at line 129 of file IntervalValue.h.
Definition at line 131 of file IntervalValue.h.
Definition at line 133 of file IntervalValue.h.
Definition at line 135 of file IntervalValue.h.
|
default |
Copy constructor.
|
default |
Move constructor.
|
default |
Destructor.
|
inlinestatic |
Create the bottom IntervalValue [+inf, -inf].
Definition at line 100 of file IntervalValue.h.
|
inline |
Determines if the current IntervalValue fully contains another IntervalValue. Example: this: [1, 4], other: [2, 3] -> returns true Note: If the current interval is 'bottom', it is considered to contain any interval. If the other interval is 'bottom', it cannot be contained by any interval.
Definition at line 321 of file IntervalValue.h.
|
inline |
Determines if the current IntervalValue is fully contained within another IntervalValue. Example: this: [2, 3], other: [1, 4] -> returns true Note: If the current interval is 'bottom', it is considered contained within any interval. If the other interval is 'bottom', it cannot contain any interval.
Definition at line 300 of file IntervalValue.h.
Return true if the IntervalValue contains n.
Definition at line 495 of file IntervalValue.h.
|
inlinestaticprivate |
Definition at line 537 of file IntervalValue.h.
|
inline |
|
inline |
Equality comparison.
Definition at line 375 of file IntervalValue.h.
|
inline |
Check the lower bound of this Interval is greater than or equal to the upper bound e.g. [3, 5] > [1, 3] return true, lhs.lb >= rhs.ub
Definition at line 357 of file IntervalValue.h.
|
inline |
Definition at line 264 of file IntervalValue.h.
|
inline |
Return.
Definition at line 258 of file IntervalValue.h.
|
inline |
Definition at line 270 of file IntervalValue.h.
|
inline |
Return true if the IntervalValue is infinite IntervalValue.
Definition at line 240 of file IntervalValue.h.
|
inlinestatic |
Definition at line 88 of file IntervalValue.h.
|
inline |
Definition at line 245 of file IntervalValue.h.
|
inline |
Return true if the IntervalValue is a number [num, num].
Definition at line 277 of file IntervalValue.h.
|
inline |
Definition at line 250 of file IntervalValue.h.
|
inline |
Return true if the IntervalValue is [0, 0].
Definition at line 234 of file IntervalValue.h.
|
inline |
Definition at line 71 of file IntervalValue.h.
|
inline |
Definition at line 66 of file IntervalValue.h.
|
inline |
Current IntervalValue joins with another IntervalValue.
Definition at line 416 of file IntervalValue.h.
|
inline |
Return the lower bound.
Definition at line 220 of file IntervalValue.h.
|
inline |
Check the upper bound of this Interval is less than or equal to the lower bound e.g. [1, 3] < [3, 5] return true, lhs.ub <= rhs.lb
Definition at line 339 of file IntervalValue.h.
|
inline |
Return a intersected IntervalValue.
Definition at line 475 of file IntervalValue.h.
|
inlinestatic |
|
inline |
Current IntervalValue narrow with another IntervalValue.
Definition at line 458 of file IntervalValue.h.
|
inline |
Equality comparison.
Definition at line 184 of file IntervalValue.h.
|
default |
Copy assignment operator.
|
default |
Move assignment operator.
|
inline |
Equality comparison.
Definition at line 150 of file IntervalValue.h.
|
inlinestatic |
|
inline |
Set current IntervalValue as bottom.
Definition at line 283 of file IntervalValue.h.
|
inline |
Set current IntervalValue as top.
Definition at line 290 of file IntervalValue.h.
|
inlineprivate |
|
inlinestatic |
Create the IntervalValue [-inf, +inf].
Definition at line 94 of file IntervalValue.h.
|
inline |
Definition at line 512 of file IntervalValue.h.
|
inline |
Return the upper bound.
Definition at line 227 of file IntervalValue.h.
|
inline |
Current IntervalValue widen with another IntervalValue.
Definition at line 440 of file IntervalValue.h.
|
friend |
Bitwise AND of IntervalValues.
Definition at line 962 of file IntervalValue.h.
|
friend |
Multiply IntervalValues.
Definition at line 583 of file IntervalValue.h.
|
friend |
Add IntervalValues.
Definition at line 547 of file IntervalValue.h.
|
friend |
Subtract IntervalValues.
Definition at line 565 of file IntervalValue.h.
|
friend |
Divide IntervalValues.
Definition at line 603 of file IntervalValue.h.
|
friend |
Left binary shift of IntervalValues.
Definition at line 888 of file IntervalValue.h.
|
friend |
Left binary shift of IntervalValues.
Definition at line 926 of file IntervalValue.h.
|
friend |
Bitwise XOR of IntervalValues.
Definition at line 1018 of file IntervalValue.h.
|
friend |
Bitwise OR of IntervalValues.
Definition at line 989 of file IntervalValue.h.
|
private |
Definition at line 49 of file IntervalValue.h.
|
private |
Definition at line 52 of file IntervalValue.h.