MCPcopy Create free account
hub / github.com/BitVM/BitVM / wrap_hint_init_t4

Function wrap_hint_init_t4

bitvm/src/chunk/g16_runner_utils.rs:100–135  ·  view source on GitHub ↗

init_t4

(
    skip: bool,
    segment_id: usize,
    in_q4yc1: &Segment,
    in_q4yc0: &Segment,
    in_q4xc1: &Segment,
    in_q4xc0: &Segment,
)

Source from the content-addressed store, hash-verified

98
99// init_t4
100pub(crate) fn wrap_hint_init_t4(
101 skip: bool,
102 segment_id: usize,
103 in_q4yc1: &Segment,
104 in_q4yc0: &Segment,
105 in_q4xc1: &Segment,
106 in_q4xc0: &Segment,
107) -> Segment {
108 let input_segment_info: Vec<(SegmentID, ElementType)> = vec![
109 (in_q4yc1.id, ElementType::FieldElem),
110 (in_q4yc0.id, ElementType::FieldElem),
111 (in_q4xc1.id, ElementType::FieldElem),
112 (in_q4xc0.id, ElementType::FieldElem),
113 ];
114
115 let q4xc0: ark_ff::BigInt<4> = in_q4xc0.result.0.try_into().unwrap();
116 let q4xc1: ark_ff::BigInt<4> = in_q4xc1.result.0.try_into().unwrap();
117 let q4yc0: ark_ff::BigInt<4> = in_q4yc0.result.0.try_into().unwrap();
118 let q4yc1: ark_ff::BigInt<4> = in_q4yc1.result.0.try_into().unwrap();
119
120 let (mut tmpt4, mut is_valid_input, mut scr, mut op_hints) =
121 (ElemG2Eval::mock(), true, script! {}, vec![]);
122 if !skip {
123 (tmpt4, is_valid_input, scr, op_hints) = chunk_init_t4([q4xc0, q4xc1, q4yc0, q4yc1]);
124 }
125
126 Segment {
127 id: segment_id as u32,
128 is_valid_input,
129 parameter_ids: input_segment_info,
130 result: (DataType::G2EvalData(tmpt4), ElementType::G2EvalPoint),
131 hints: op_hints,
132 scr_type: ScriptType::PreMillerInitT4,
133 scr: scr.compile(),
134 }
135}
136
137// dmul
138pub(crate) fn wrap_hints_dense_dense_mul(

Callers 1

Calls 1

chunk_init_t4Function · 0.85

Tested by

no test coverage detected