Err(zero_divisor_eval_error(stub_gen))
} else {
Ok(Number::arena_from(
- <(Integer, Integer)>::from(n1.value().div_rem(&*n2)).0,
+ <(Integer, Integer)>::from((&*n1).div_rem(&*n2)).0,
arena,
))
}
(Number::Fixnum(n1), Number::Integer(n2)) => {
let n1 = Integer::from(n1.get_num());
- let result: Result<usize, _> = n2.value().try_into();
+ let result: Result<usize, _> = (&*n2).try_into();
match result {
Ok(n2) => {
},
},
(Number::Integer(n1), Number::Integer(n2)) => {
- let result: Result<usize, _> = n2.value().try_into();
+ let result: Result<usize, _> = (&*n2).try_into();
match result {
Ok(n2) => {
(Number::Fixnum(n1), Number::Integer(n2)) => {
let n1 = Integer::from(n1.get_num());
- match n2.value().try_into() as Result<u32, _> {
+ match (&*n2).try_into() as Result<u32, _> {
Ok(n2) => {
let n1: u64 = n1.try_into().unwrap();
Ok(Number::arena_from(n1 << n2, arena))
Ok(Number::arena_from(Integer::from(&*n1 << usize::max_value()),arena))
}
},
- (Number::Integer(n1), Number::Integer(n2)) => match n2.value().try_into() as Result<u32, _> {
+ (Number::Integer(n1), Number::Integer(n2)) => match (&*n2).try_into() as Result<u32, _> {
Ok(n2) => {
- let n1: u64 = n1.value().try_into().unwrap();
+ let n1: u64 = (&*n1).try_into().unwrap();
Ok(Number::arena_from(Integer::from(n1 << n2), arena))
},
_ => {
} else {
let n2 = Integer::from(n2_i);
Ok(Number::arena_from(
- <(Integer, Integer)>::from(n1.value().div_rem(&n2)).1,
+ <(Integer, Integer)>::from((&*n1).div_rem(&n2)).1,
arena,
))
}
Err(zero_divisor_eval_error(stub_gen))
} else {
Ok(Number::arena_from(
- <(Integer, Integer)>::from(x.value().div_rem(&*y)).1,
+ <(Integer, Integer)>::from((&*x).div_rem(&*y)).1,
arena,
))
}
}
(Number::Integer(n1), Number::Integer(n2)) => {
let n1_clone: Integer = (*n1).clone();
- let n2: isize = n2.value().try_into().unwrap();
+ let n2: isize = (&*n2).try_into().unwrap();
Ok(Number::arena_from(Integer::from(n1_clone.gcd(&Integer::from(n2))) as IBig, arena))
}
(Number::Float(f), _) | (_, Number::Float(f)) => {
let max_steps_n = match max_steps {
Ok(Number::Fixnum(n)) => Some(n.get_num()),
Ok(Number::Integer(n)) => {
- let value: i64 = n.value().try_into().unwrap();
+ let value: i64 = (&*n).try_into().unwrap();
Some(value)
},
}
}
Ok(Number::Integer(n)) => {
- let n: u32 = n.value().try_into().unwrap();
+ let n: u32 = (&*n).try_into().unwrap();
if let Some(c) = std::char::from_u32(n) {
string.push(c);
continue;
let n = match Number::try_from(reg) {
Ok(Number::Fixnum(n)) => usize::try_from(n.get_num()).ok(),
Ok(Number::Integer(n)) => {
- let value: usize = n.value().try_into().unwrap();
+ let value: usize = (&*n).try_into().unwrap();
Some(value)
},
_ => {
addr if addr.is_var() => addr,
addr => match Number::try_from(addr) {
Ok(Number::Integer(n)) => {
- let result: Result<u8, _> = n.value().try_into();
+ let result: Result<u8, _> = (&*n).try_into();
if let Ok(value) = result {
fixnum_as_cell!(Fixnum::build_with(value as i64))
} else {
_ => {
match Number::try_from(a2) {
Ok(Number::Integer(n)) => {
- let n: u32 = n.value().try_into().unwrap();
+ let n: u32 = (&*n).try_into().unwrap();
let n = std::char::from_u32(n).and_then(|_| Some(n));
_ => {
match Number::try_from(a2) {
Ok(Number::Integer(n)) => {
- let n: u32 = n.value().try_into().unwrap();
+ let n: u32 = (&*n).try_into().unwrap();
let n = std::char::from_u32(n);
let c = match n {
Some(c) => c,
} else {
match Number::try_from(addr) {
Ok(Number::Integer(n)) => {
- let n: u32 = n.value().try_into().unwrap();
+ let n: u32 = (&*n).try_into().unwrap();
let n = char::try_from(n);
if let Some(c) = n.ok() {
write!(&mut stream, "{}", c).unwrap();
} else {
match Number::try_from(addr) {
Ok(Number::Integer(n)) => {
- let n: u8 = n.value().try_into().unwrap();
+ let n: u8 = (&*n).try_into().unwrap();
match n {
nb => {
fixnum_as_cell!(Fixnum::build_with(-1))
}
Ok(Number::Integer(n)) => {
- let n: Result<u8, _> = n.value().try_into();
+ let n: Result<u8, _> = (&*n).try_into();
if let Ok(value) = n {
fixnum_as_cell!(Fixnum::build_with(value as i64))
let num = match Number::try_from(self.deref_register(2)) {
Ok(Number::Fixnum(n)) => usize::try_from(n.get_num()).unwrap(),
- Ok(Number::Integer(n)) => match n.value().try_into() as Result<usize, _> {
+ Ok(Number::Integer(n)) => match (&*n).try_into() as Result<usize, _> {
Ok(u) => {
u
}
} else {
match Number::try_from(addr) {
Ok(Number::Integer(n)) => {
- let n: u32 = n.value().try_into().unwrap();
+ let n: u32 = (&*n).try_into().unwrap();
let n = std::char::from_u32(n);
if let Some(n) = n {
let arity = match Number::try_from(arity) {
Ok(Number::Fixnum(n)) => Some(n.get_num() as usize),
Ok(Number::Integer(n)) => {
- let value: usize = n.value().try_into().unwrap();
+ let value: usize = (&*n).try_into().unwrap();
Some(value)
},
_ => None,
let n = match Number::try_from(len) {
Ok(Number::Fixnum(n)) => n.get_num() as usize,
- Ok(Number::Integer(n)) => match n.value().try_into() as Result<usize, _> {
+ Ok(Number::Integer(n)) => match (&*n).try_into() as Result<usize, _> {
Ok(n) => n,
Err(_) => {
let err = self.machine_st.resource_error(len);
let status_code: u16 = match Number::try_from(status_code) {
Ok(Number::Fixnum(n)) => n.get_num() as u16,
Ok(Number::Integer(n)) => {
- let n: Result<u16, _> = n.value().try_into();
+ let n: Result<u16, _> = (&*n).try_into();
if let Ok(value) = n {
value
let priority = match Number::try_from(priority) {
Ok(Number::Integer(n)) => {
- let n: u16 = n.value().try_into().unwrap();
+ let n: u16 = (&*n).try_into().unwrap();
n
},
Ok(Number::Fixnum(n)) => u16::try_from(n.get_num()).unwrap(),
let b = match Number::try_from(addr) {
Ok(Number::Integer(n)) => {
- let value: usize = n.value().try_into().unwrap();
+ let value: usize = (&*n).try_into().unwrap();
Some(value)
},
Ok(Number::Fixnum(n)) => usize::try_from(n.get_num()).ok(),
let code = match Number::try_from(code) {
Ok(Number::Fixnum(n)) => u8::try_from(n.get_num()).unwrap(),
Ok(Number::Integer(n)) => {
- let n: u8 = n.value().try_into().unwrap();
+ let n: u8 = (&*n).try_into().unwrap();
n
},
Ok(Number::Rational(r)) => {
let n = match Number::try_from(a2) {
Ok(Number::Fixnum(bp)) => bp.get_num() as usize,
Ok(Number::Integer(n)) => {
- let value: usize = n.value().try_into().unwrap();
+ let value: usize = (&*n).try_into().unwrap();
value
},
_ => {
let arity = match Number::try_from(a3) {
Ok(Number::Fixnum(n)) => n.get_num() as usize,
Ok(Number::Integer(n)) => {
- let result = n.value().try_into();
+ let result = (&*n).try_into();
if let Ok(value) = result {
value
let _: StdRng = SeedableRng::seed_from_u64(n);
},
Ok(Number::Integer(n)) => {
- let n: u64 = n.value().try_into().unwrap();
+ let n: u64 = (&*n).try_into().unwrap();
let _: StdRng = SeedableRng::seed_from_u64(n);
},
Ok(Number::Rational(n)) => {
let position = match Number::try_from(position) {
Ok(Number::Fixnum(n)) => n.get_num() as u64,
Ok(Number::Integer(n)) => {
- let n: Result<u64, _> = n.value().try_into();
+ let n: Result<u64, _> = (&*n).try_into();
if let Ok(n) = n {
n
} else {
let arity = match Number::try_from(arity) {
Ok(Number::Fixnum(n)) => n.get_num() as usize,
Ok(Number::Integer(n)) => {
- let value: usize = n.value().try_into().unwrap();
+ let value: usize = (&*n).try_into().unwrap();
value
},
_ => {
let index_ptr = match Number::try_from(index_ptr) {
Ok(Number::Fixnum(n)) => n.get_num() as usize,
Ok(Number::Integer(n)) => {
- let value: usize = n.value().try_into().unwrap();
+ let value: usize = (&*n).try_into().unwrap();
value
},
_ => {
let length = match Number::try_from(length) {
Ok(Number::Fixnum(n)) => usize::try_from(n.get_num()).unwrap(),
- Ok(Number::Integer(n)) => match n.value().try_into() as Result<usize, _> {
+ Ok(Number::Integer(n)) => match (&*n).try_into() as Result<usize, _> {
Ok(u) => u,
_ => {
self.machine_st.fail = true;
let iterations = match Number::try_from(iterations) {
Ok(Number::Fixnum(n)) => u64::try_from(n.get_num()).unwrap(),
Ok(Number::Integer(n)) => {
- let n: Result<u64, _> = n.value().try_into();
+ let n: Result<u64, _> = (&*n).try_into();
match n {
Ok(i) => i,
_ => {
}
Ok(Number::Integer(n)) => {
let value: usize = if n.sign() == Sign::Positive {
- UBig::from(n.value().into_parts().1).count_ones()
+ UBig::from((&*n).clone().into_parts().1).count_ones()
} else { 0 };
Number::arena_from(value, &mut self.machine_st.arena)
}