Expand description
Provides convenient integer accessors for integer values that are like AnyInt
Required Methods
Returns the value as an i64
if it can be represented as such.
Usage
let big_any = AnyInt::BigInt(BigInt::from(100));
let i64_any = AnyInt::I64(100);
assert_eq!(big_any.as_i64(), i64_any.as_i64());
// works on element too
let big_elem: OwnedElement = OwnedValue::Integer(big_any).into();
let i64_elem: BorrowedElement = BorrowedValue::Integer(i64_any).into();
assert_eq!(big_elem.as_i64(), i64_elem.as_i64());
fn as_big_int(&self) -> Option<&BigInt>
fn as_big_int(&self) -> Option<&BigInt>
Returns a reference as a BigInt
if it is represented as such. Note that this
method may return None
if the underlying representation is not stored in a BigInt
such as if it is represented as an i64
so it is somewhat asymmetric with respect
to IntAccess::as_i64
.
Usage
let big_any = AnyInt::BigInt(BigInt::from(100));
assert_eq!(BigInt::from_str("100").unwrap(), *big_any.as_big_int().unwrap());
let i64_any = AnyInt::I64(100);
assert_eq!(None, i64_any.as_big_int());
// works on element too
let big_elem: BorrowedElement = BorrowedValue::Integer(big_any).into();
assert_eq!(BigInt::from_str("100").unwrap(), *big_elem.as_big_int().unwrap());
let i64_elem: OwnedElement = OwnedValue::Integer(i64_any).into();
assert_eq!(None, i64_elem.as_big_int());