Home | History | Annotate | Download | only in libmincrypt

Lines Matching refs:p256_digit

59   return (P256_DIGIT(scalar, bit / P256_BITSPERDIGIT)
65 for (i = 0; i < P256_NDIGITS; ++i) result |= P256_DIGIT(a, i);
71 static p256_digit mulAdd(const p256_int* a,
72 p256_digit b,
73 p256_digit top,
74 p256_digit* c) {
80 carry += (p256_ddigit)P256_DIGIT(a, i) * b;
81 *c++ = (p256_digit)carry;
84 return top + (p256_digit)carry;
88 static p256_digit subTop(p256_digit top_a,
89 const p256_digit* a,
90 p256_digit top_c,
91 p256_digit* c) {
98 *c++ = (p256_digit)borrow;
103 top_c = (p256_digit)borrow;
110 static p256_digit subM(const p256_int* MOD,
111 p256_digit top,
112 p256_digit* c,
113 p256_digit mask) {
118 borrow -= P256_DIGIT(MOD, i) & mask;
119 *c++ = (p256_digit)borrow;
122 return top + (p256_digit)borrow;
127 static p256_digit addM(const p256_int* MOD,
128 p256_digit top,
129 p256_digit* c,
130 p256_digit mask) {
135 carry += P256_DIGIT(MOD, i) & mask;
136 *c++ = (p256_digit)carry;
139 return top + (p256_digit)carry;
145 const p256_digit top_b,
148 p256_digit tmp[P256_NDIGITS * 2 + 1] = { 0 };
149 p256_digit top = 0;
155 top = mulAdd(a, P256_DIGIT(b, i), 0, tmp + i);
164 p256_digit reducer[P256_NDIGITS] = { 0 };
165 p256_digit top_reducer;
191 int p256_is_odd(const p256_int* a) { return P256_DIGIT(a, 0) & 1; }
192 int p256_is_even(const p256_int* a) { return !(P256_DIGIT(a, 0) & 1); }
194 p256_digit p256_shl(const p256_int* a, int n, p256_int* b) {
196 p256_digit top = P256_DIGIT(a, P256_NDIGITS - 1);
200 p256_digit accu = (P256_DIGIT(a, i) << n);
201 accu |= (P256_DIGIT(a, i - 1) >> (P256_BITSPERDIGIT - n));
202 P256_DIGIT(b, i) = accu;
204 P256_DIGIT(b, i) = (P256_DIGIT(a, i) << n);
206 top = (p256_digit)((((p256_ddigit)top) << n) >> P256_BITSPERDIGIT);
216 p256_digit accu = (P256_DIGIT(a, i) >> n);
217 accu |= (P256_DIGIT(a, i + 1) << (P256_BITSPERDIGIT - n));
218 P256_DIGIT(b, i) = accu;
220 P256_DIGIT(b, i) = (P256_DIGIT(a, i) >> n);
227 p256_digit accu = (P256_DIGIT(a, i) >> 1);
228 accu |= (P256_DIGIT(a, i + 1) << (P256_BITSPERDIGIT - 1));
229 P256_DIGIT(b, i) = accu;
231 P256_DIGIT(b, i) = (P256_DIGIT(a, i) >> 1) |
239 p256_digit notzero = 0;
242 borrow += (p256_sddigit)P256_DIGIT(a, i) - P256_DIGIT(b, i);
245 notzero |= !!((p256_digit)borrow);
257 borrow += (p256_sddigit)P256_DIGIT(a, i) - P256_DIGIT(b, i);
258 if (c) P256_DIGIT(c, i) = (p256_digit)borrow;
270 carry += (p256_ddigit)P256_DIGIT(a, i) + P256_DIGIT(b, i);
271 if (c) P256_DIGIT(c, i) = (p256_digit)carry;
278 int p256_add_d(const p256_int* a, p256_digit d, p256_int* b) {
283 carry += (p256_ddigit)P256_DIGIT(a, i);
284 if (b) P256_DIGIT(b, i) = (p256_digit)carry;
366 P256_DIGIT(dst, i) =