| 548 | } |
| 549 | |
| 550 | pub fn min_value_int(&self) -> Integer { |
| 551 | use self::ExpressionType::*; |
| 552 | match self { |
| 553 | Bool => Integer::from(0), |
| 554 | I8 => Integer::from(std::i8::MIN), |
| 555 | I16 => Integer::from(std::i16::MIN), |
| 556 | I32 => Integer::from(std::i32::MIN), |
| 557 | I64 => Integer::from(std::i64::MIN), |
| 558 | I128 => Integer::from(std::i128::MIN), |
| 559 | Isize => Integer::from(std::isize::MIN), |
| 560 | U8 => Integer::from(std::u8::MIN), |
| 561 | U16 => Integer::from(std::u16::MIN), |
| 562 | U32 => Integer::from(std::u32::MIN), |
| 563 | U64 => Integer::from(std::u64::MIN), |
| 564 | U128 => Integer::from(std::u128::MIN), |
| 565 | Usize => Integer::from(std::usize::MIN), |
| 566 | _ => unreachable!(), |
| 567 | } |
| 568 | } |
| 569 | |
| 570 | /// Returns the maximum value for this type, plus one, as an abstract value. |
| 571 | /// If the type is not a primitive integer value, the result is Bottom. |