snarkvm_circuit_program/data/literal/
to_fields.rs1use super::*;
17
18impl<A: Aleo> ToFields for Literal<A> {
19 type Field = Field<A>;
20
21 fn to_fields(&self) -> Vec<Field<A>> {
23 (&self).to_fields()
24 }
25}
26
27impl<A: Aleo> ToFields for &Literal<A> {
28 type Field = Field<A>;
29
30 fn to_fields(&self) -> Vec<Self::Field> {
32 match self {
33 Literal::Address(literal) => vec![literal.to_field()],
34 Literal::Boolean(literal) => vec![Field::from_boolean(literal)],
35 Literal::Field(literal) => vec![literal.clone()],
36 Literal::Group(literal) => vec![literal.to_x_coordinate()],
37 Literal::I8(literal) => vec![literal.to_field()],
38 Literal::I16(literal) => vec![literal.to_field()],
39 Literal::I32(literal) => vec![literal.to_field()],
40 Literal::I64(literal) => vec![literal.to_field()],
41 Literal::I128(literal) => vec![literal.to_field()],
42 Literal::U8(literal) => vec![literal.to_field()],
43 Literal::U16(literal) => vec![literal.to_field()],
44 Literal::U32(literal) => vec![literal.to_field()],
45 Literal::U64(literal) => vec![literal.to_field()],
46 Literal::U128(literal) => vec![literal.to_field()],
47 Literal::Scalar(literal) => vec![literal.to_field()],
48 Literal::Signature(literal) => literal.to_fields(),
49 Literal::String(literal) => literal.to_fields(),
50 }
51 }
52}