diff --git a/hyphae/src/vm.rs b/hyphae/src/vm.rs index 9b2628e..e1d5756 100644 --- a/hyphae/src/vm.rs +++ b/hyphae/src/vm.rs @@ -398,7 +398,7 @@ impl VM { n.0 > u8::MAX.into() || n.0 < 0.0 { e!("input to NTOBV cannot cleanly convert"); } - Datum::ByteVector(n.0.to_bits().to_be_bytes().to_vec()).into() + Datum::ByteVector(n.0.to_bits().to_ne_bytes().to_vec()).into() } else { e!("illegal argument to NTOBV instruction"); } @@ -1103,6 +1103,7 @@ mod tests { #[test] fn isa_conversions() { let mut vm = VM::from(Program(vec![], vec![ + // load from stack into expr Instruction(i::DUPL, vec![Operand(Address::Stack, 0), Operand(Address::Expr, 0)]), @@ -1112,7 +1113,6 @@ mod tests { Instruction(i::PUSH, vec![Operand(Address::Expr, 0)]), // reset expr to original char - Instruction(i::DUPL, vec![Operand(Address::Stack, 1), Operand(Address::Expr, 0)]), @@ -1150,7 +1150,8 @@ mod tests { (2, Datum::Number(Number::Flt(Float(97.0))).into()), (3, Datum::Number(Number::Fra(Fraction(97, 1))).into()), (4, Datum::String(vec![b'a']).into()), - (5, Datum::Char(b'a').into()), + (5, Datum::Number(Number::Fra(Fraction(97, 1))).into()), + (6, Datum::Char(b'a').into()), ], syms: vec![], errr: None,