Next:Sortingpoly_ints, Previous:Checking for apoly_int marker value, Up:Comparisons involvingpoly_int [Contents][Index]
poly_ints ¶As well as the core comparisons(seeComparison functions forpoly_int),poly_int providesutilities for various kinds of range check. In each case the rangeis represented by a start position and a size rather than a startposition and an end position; this is because the former is usedmuch more often than the latter in GCC. Also, the sizes can be-1 (or all ones for unsigned sizes) to indicate a range with a knownstart position but an unknown size. All other sizes must be nonnegative.A range of size 0 does not contain anything or overlap anything.
Return true ifsize represents a known range size, false if itis -1 or all ones (for signed and unsigned types respectively).
Return true if the range described bypos1 andsize1mightoverlap the range described bypos2 andsize2 (in other words,return true if we cannot prove that the ranges are disjoint).
Return true if the range described bypos1 andsize1 is known tooverlap the range described bypos2 andsize2.
Return true if the range described bypos1 andsize1 is known tobe contained in the range described bypos2 andsize2.
Return true ifvaluemight be in the range described bypos andsize (in other words, return true if we cannotprove thatvalue is outside that range).
Return true ifvalue is known to be in the range describedbypos andsize.
Return true if the range described bypos andsize isopen-ended or if the endpoint (pos +size) is representablein the same type aspos andsize. The function returns falseif addingsize topos makes conceptual sense but could overflow.
There is also apoly_int version of theIN_RANGE_P macro:
Return true if every coefficient ofx is in the inclusive range[lower,upper]. This function can be useful when testingwhether an operation would cause the values of coefficients tooverflow.
Note that the function does not indicate whetherx itself is in thegiven range.x can be either a constant or apoly_int.
Next:Sortingpoly_ints, Previous:Checking for apoly_int marker value, Up:Comparisons involvingpoly_int [Contents][Index]