Lines Matching refs:top
69 // top, c[] += a[] * b
70 // Returns new top
73 p256_digit top,
84 return top + (p256_digit)carry;
87 // top, c[] -= top_a, a[]
108 // top, c[] -= MOD[] & mask (0 or -1)
109 // returns new top.
111 p256_digit top,
122 return top + (p256_digit)borrow;
125 // top, c[] += MOD[] & mask (0 or -1)
126 // returns new top.
128 p256_digit top,
139 return top + (p256_digit)carry;
149 p256_digit top = 0;
154 if (i) tmp[i + P256_NDIGITS - 1] = top;
155 top = mulAdd(a, P256_DIGIT(b, i), 0, tmp + i);
158 // Multiply/add top digit
159 tmp[i + P256_NDIGITS - 1] = top;
160 top = mulAdd(a, top_b, 0, tmp + i);
167 // top can be any value at this point.
168 // Guestimate reducer as top * MOD, since msw of MOD is -1.
169 top_reducer = mulAdd(MOD, top, 0, reducer);
171 // Subtract reducer from top | tmp.
172 top = subTop(top_reducer, reducer, top, tmp + i);
174 // top is now either 0 or 1. Make it 0, fixed-timing.
175 assert(top <= 1);
177 top = subM(MOD, top, tmp + i, ~(top - 1));
179 assert(top == 0);
181 // We have now reduced the top digit off tmp. Fetch new top digit.
182 top = tmp[i + P256_NDIGITS - 1];
196 p256_digit top = P256_DIGIT(a, P256_NDIGITS - 1);
206 top = (p256_digit)((((p256_ddigit)top) << n) >> P256_BITSPERDIGIT);
208 return top;