snarkvm_console_program/data/literal/
to_bits.rs1use super::*;
17
18impl<N: Network> ToBits for Literal<N> {
19 fn write_bits_le(&self, vec: &mut Vec<bool>) {
21 (&self).write_bits_le(vec);
22 }
23
24 fn write_bits_be(&self, vec: &mut Vec<bool>) {
26 (&self).write_bits_be(vec);
27 }
28}
29
30impl<N: Network> ToBits for &Literal<N> {
31 fn write_bits_le(&self, vec: &mut Vec<bool>) {
33 match self {
34 Literal::Address(literal) => literal.write_bits_le(vec),
35 Literal::Boolean(literal) => literal.write_bits_le(vec),
36 Literal::Field(literal) => literal.write_bits_le(vec),
37 Literal::Group(literal) => literal.write_bits_le(vec),
38 Literal::I8(literal) => literal.write_bits_le(vec),
39 Literal::I16(literal) => literal.write_bits_le(vec),
40 Literal::I32(literal) => literal.write_bits_le(vec),
41 Literal::I64(literal) => literal.write_bits_le(vec),
42 Literal::I128(literal) => literal.write_bits_le(vec),
43 Literal::U8(literal) => literal.write_bits_le(vec),
44 Literal::U16(literal) => literal.write_bits_le(vec),
45 Literal::U32(literal) => literal.write_bits_le(vec),
46 Literal::U64(literal) => literal.write_bits_le(vec),
47 Literal::U128(literal) => literal.write_bits_le(vec),
48 Literal::Scalar(literal) => literal.write_bits_le(vec),
49 Literal::Signature(literal) => literal.write_bits_le(vec),
50 Literal::String(literal) => literal.as_bytes().write_bits_le(vec),
51 }
52 }
53
54 fn write_bits_be(&self, vec: &mut Vec<bool>) {
56 match self {
57 Literal::Address(literal) => literal.write_bits_be(vec),
58 Literal::Boolean(literal) => literal.write_bits_be(vec),
59 Literal::Field(literal) => literal.write_bits_be(vec),
60 Literal::Group(literal) => literal.write_bits_be(vec),
61 Literal::I8(literal) => literal.write_bits_be(vec),
62 Literal::I16(literal) => literal.write_bits_be(vec),
63 Literal::I32(literal) => literal.write_bits_be(vec),
64 Literal::I64(literal) => literal.write_bits_be(vec),
65 Literal::I128(literal) => literal.write_bits_be(vec),
66 Literal::U8(literal) => literal.write_bits_be(vec),
67 Literal::U16(literal) => literal.write_bits_be(vec),
68 Literal::U32(literal) => literal.write_bits_be(vec),
69 Literal::U64(literal) => literal.write_bits_be(vec),
70 Literal::U128(literal) => literal.write_bits_be(vec),
71 Literal::Scalar(literal) => literal.write_bits_be(vec),
72 Literal::Signature(literal) => literal.write_bits_be(vec),
73 Literal::String(literal) => literal.as_bytes().write_bits_be(vec),
74 }
75 }
76}