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