Home | History | Annotate | Download | only in numerics

Lines Matching defs:validity

136 CheckedAdd(T x, T y, RangeConstraint* validity) {
148 *validity = RANGE_VALID;
150 *validity = HasSignBit(uresult) ? RANGE_OVERFLOW : RANGE_UNDERFLOW;
153 *validity = BinaryComplement(x) >= y ? RANGE_VALID : RANGE_OVERFLOW;
160 CheckedSub(T x, T y, RangeConstraint* validity) {
172 *validity = RANGE_VALID;
174 *validity = HasSignBit(uresult) ? RANGE_OVERFLOW : RANGE_UNDERFLOW;
177 *validity = x >= y ? RANGE_VALID : RANGE_UNDERFLOW;
190 CheckedMul(T x, T y, RangeConstraint* validity) {
194 *validity = DstRangeRelationToSrcRange<T>(tmp);
203 CheckedMul(T x, T y, RangeConstraint* validity) {
206 *validity = RANGE_VALID;
211 *validity =
214 *validity = y >= std::numeric_limits<T>::min() / x ? RANGE_VALID
219 *validity = x >= std::numeric_limits<T>::min() / y ? RANGE_VALID
222 *validity =
234 CheckedMul(T x, T y, RangeConstraint* validity) {
235 *validity = (y == 0 || x <= std::numeric_limits<T>::max() / y)
245 RangeConstraint* validity,
250 *validity = RANGE_OVERFLOW;
254 *validity = RANGE_VALID;
262 CheckedMod(T x, T y, RangeConstraint* validity) {
263 *validity = y > 0 ? RANGE_VALID : RANGE_INVALID;
271 CheckedMod(T x, T y, RangeConstraint* validity) {
272 *validity = RANGE_VALID;
280 CheckedNeg(T value, RangeConstraint* validity) {
281 *validity =
291 CheckedNeg(T value, RangeConstraint* validity) {
293 *validity = value ? RANGE_UNDERFLOW : RANGE_VALID;
302 CheckedAbs(T value, RangeConstraint* validity) {
303 *validity =
312 CheckedAbs(T value, RangeConstraint* validity) {
314 *validity = RANGE_VALID;
370 // Floats carry around their validity state with them, but integers do not. So,
406 CheckedNumericState(Src value, RangeConstraint validity)
408 validity_(GetRangeConstraint(validity |
419 rhs.validity() | DstRangeRelationToSrcRange<T>(rhs.value()))) {}
429 RangeConstraint validity() const { return validity_; }
433 // Floating points maintain their own validity, but need translation wrappers.
448 RangeConstraint /*validity*/,
485 RangeConstraint validity() const {