forked from AbleScript/ablescript
Better BF function conversions
This commit is contained in:
parent
ffcd0000c2
commit
3044ef91e3
|
@ -209,10 +209,12 @@ impl Value {
|
|||
Value::Int(i) => Functio::BfFunctio {
|
||||
instructions: {
|
||||
let instruction_mappings = [b'[', b']', b'+', b'-', b',', b'.', b'<', b'>'];
|
||||
std::iter::successors(Some(i), |i| Some(i >> 3))
|
||||
.take_while(|&i| i != 0)
|
||||
.map(|i| instruction_mappings[(i & 0x07) as usize])
|
||||
.collect()
|
||||
std::iter::successors(Some(i as usize), |i| {
|
||||
Some(i / instruction_mappings.len())
|
||||
})
|
||||
.take_while(|&i| i != 0)
|
||||
.map(|i| instruction_mappings[i % instruction_mappings.len()])
|
||||
.collect()
|
||||
},
|
||||
tape_len: crate::brian::DEFAULT_TAPE_SIZE_LIMIT,
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue