init_t4
(
skip: bool,
segment_id: usize,
in_q4yc1: &Segment,
in_q4yc0: &Segment,
in_q4xc1: &Segment,
in_q4xc0: &Segment,
)
| 98 | |
| 99 | // init_t4 |
| 100 | pub(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 |
| 138 | pub(crate) fn wrap_hints_dense_dense_mul( |
no test coverage detected