// The exact expression from base16ct 1.0.0 that the other transpiler's // float64 universal AST cannot represent. Milestone 1 in miniature. fn decode_nibble(src: u8) -> i16 { let byte = src as i16; let mut ret: i16 = -1; ret += (((0x2fi16 - byte) & (byte - 0x3a)) >> 8) & (byte - 47); ret += (((0x60i16 - byte) & (byte - 0x67)) >> 8) & (byte - 86); ret } fn main() { let mut i: u8 = 0; while i < 128 { print!("{} ", decode_nibble(i)); i += 1; } println!(""); }