Lines Matching defs:output
53 static __always_inline void fproduct_copy_from_wide_(u64 *output, u128 *input)
57 output[0] = ((u64)(xi));
61 output[1] = ((u64)(xi));
65 output[2] = ((u64)(xi));
69 output[3] = ((u64)(xi));
73 output[4] = ((u64)(xi));
78 fproduct_sum_scalar_multiplication_(u128 *output, u64 *input, u64 s)
80 output[0] += (u128)input[0] * s;
81 output[1] += (u128)input[1] * s;
82 output[2] += (u128)input[2] * s;
83 output[3] += (u128)input[3] * s;
84 output[4] += (u128)input[4] * s;
128 static __always_inline void fmul_shift_reduce(u64 *output)
130 u64 tmp = output[4];
134 u64 z = output[ctr - 1];
135 output[ctr] = z;
139 u64 z = output[ctr - 1];
140 output[ctr] = z;
144 u64 z = output[ctr - 1];
145 output[ctr] = z;
149 u64 z = output[ctr - 1];
150 output[ctr] = z;
152 output[0] = tmp;
153 b0 = output[0];
154 output[0] = 19 * b0;
157 static __always_inline void fmul_mul_shift_reduce_(u128 *output, u64 *input,
164 fproduct_sum_scalar_multiplication_(output, input, input2i);
169 fproduct_sum_scalar_multiplication_(output, input, input2i);
174 fproduct_sum_scalar_multiplication_(output, input, input2i);
179 fproduct_sum_scalar_multiplication_(output, input, input2i);
184 fproduct_sum_scalar_multiplication_(output, input, input2i);
187 static __always_inline void fmul_fmul(u64 *output, u64 *input, u64 *input21)
208 fproduct_copy_from_wide_(output, t);
209 i0 = output[0];
210 i1 = output[1];
213 output[0] = i0_;
214 output[1] = i1_;
218 static __always_inline void fsquare_fsquare__(u128 *tmp, u64 *output)
220 u64 r0 = output[0];
221 u64 r1 = output[1];
222 u64 r2 = output[2];
223 u64 r3 = output[3];
224 u64 r4 = output[4];
247 static __always_inline void fsquare_fsquare_(u128 *tmp, u64 *output)
257 fsquare_fsquare__(tmp, output);
265 fproduct_copy_from_wide_(output, tmp);
266 i0 = output[0];
267 i1 = output[1];
270 output[0] = i0_;
271 output[1] = i1_;
274 static __always_inline void fsquare_fsquare_times_(u64 *output, u128 *tmp,
278 fsquare_fsquare_(tmp, output);
280 fsquare_fsquare_(tmp, output);
283 static __always_inline void fsquare_fsquare_times(u64 *output, u64 *input,
287 memcpy(output, input, 5 * sizeof(*input));
288 fsquare_fsquare_times_(output, t, count1);
291 static __always_inline void fsquare_fsquare_times_inplace(u64 *output,
295 fsquare_fsquare_times_(output, t, count1);
397 static __always_inline void fscalar(u64 *output, u64 *b, u64 s)
431 fproduct_copy_from_wide_(output, tmp);
434 static __always_inline void fmul(u64 *output, u64 *a, u64 *b)
436 fmul_fmul(output, a, b);
439 static __always_inline void crecip(u64 *output, u64 *input)
441 crecip_crecip(output, input);
473 static __always_inline void point_copy(u64 *output, u64 *input)
475 memcpy(output, input, 5 * sizeof(*input));
476 memcpy(output + 5, input + 5, 5 * sizeof(*input));
603 static __always_inline void format_fexpand(u64 *output, const u8 *input)
620 output[0] = output0;
621 output[1] = output1;
622 output[2] = output2;
623 output[3] = output3;
624 output[4] = output4;
718 static __always_inline void format_fcontract_store(u8 *output, u64 *input)
729 u8 *b0 = output;
730 u8 *b1 = output + 8;
731 u8 *b2 = output + 16;
732 u8 *b3 = output + 24;
739 static __always_inline void format_fcontract(u8 *output, u64 *input)
744 format_fcontract_store(output, input);