Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: nss/lib/freebl/ecl/ecl-priv.h

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 #ifndef __ecl_priv_h_ 5 #ifndef __ecl_priv_h_
6 #define __ecl_priv_h_ 6 #define __ecl_priv_h_
7 7
8 #include "ecl.h" 8 #include "ecl.h"
9 #include "mpi.h" 9 #include "mpi.h"
10 #include "mplogic.h" 10 #include "mplogic.h"
(...skipping 11 matching lines...) Expand all
22 #define ECL_BITS (sizeof(mp_digit)*8) 22 #define ECL_BITS (sizeof(mp_digit)*8)
23 #define ECL_MAX_FIELD_SIZE_DIGITS (80/sizeof(mp_digit)) 23 #define ECL_MAX_FIELD_SIZE_DIGITS (80/sizeof(mp_digit))
24 24
25 /* Gets the i'th bit in the binary representation of a. If i >= length(a), 25 /* Gets the i'th bit in the binary representation of a. If i >= length(a),
26 * then return 0. (The above behaviour differs from mpl_get_bit, which 26 * then return 0. (The above behaviour differs from mpl_get_bit, which
27 * causes an error if i >= length(a).) */ 27 * causes an error if i >= length(a).) */
28 #define MP_GET_BIT(a, i) \ 28 #define MP_GET_BIT(a, i) \
29 ((i) >= mpl_significant_bits((a))) ? 0 : mpl_get_bit((a), (i)) 29 ((i) >= mpl_significant_bits((a))) ? 0 : mpl_get_bit((a), (i))
30 30
31 #if !defined(MP_NO_MP_WORD) && !defined(MP_NO_ADD_WORD) 31 #if !defined(MP_NO_MP_WORD) && !defined(MP_NO_ADD_WORD)
32 #define MP_ADD_CARRY(a1, a2, s, cin, cout) \ 32 #define MP_ADD_CARRY(a1, a2, s, carry) \
33 { mp_word w; \ 33 { mp_word w; \
34 w = ((mp_word)(cin)) + (a1) + (a2); \ 34 w = ((mp_word)carry) + (a1) + (a2); \
35 s = ACCUM(w); \ 35 s = ACCUM(w); \
36 cout = CARRYOUT(w); } 36 carry = CARRYOUT(w); }
37 37
38 #define MP_SUB_BORROW(a1, a2, s, bin, bout) \ 38 #define MP_SUB_BORROW(a1, a2, s, borrow) \
39 { mp_word w; \ 39 { mp_word w; \
40 w = ((mp_word)(a1)) - (a2) - (bin); \ 40 w = ((mp_word)(a1)) - (a2) - borrow; \
41 s = ACCUM(w); \ 41 s = ACCUM(w); \
42 bout = (w >> MP_DIGIT_BIT) & 1; } 42 borrow = (w >> MP_DIGIT_BIT) & 1; }
43 43
44 #else 44 #else
45 /* NOTE, 45 /* NOTE,
46 * cin and cout could be the same variable. 46 * carry and borrow are both read and written.
47 * bin and bout could be the same variable.
48 * a1 or a2 and s could be the same variable. 47 * a1 or a2 and s could be the same variable.
49 * don't trash those outputs until their respective inputs have 48 * don't trash those outputs until their respective inputs have
50 * been read. */ 49 * been read. */
51 #define MP_ADD_CARRY(a1, a2, s, cin, cout) \ 50 #define MP_ADD_CARRY(a1, a2, s, carry) \
52 { mp_digit tmp,sum; \ 51 { mp_digit tmp,sum; \
53 tmp = (a1); \ 52 tmp = (a1); \
54 sum = tmp + (a2); \ 53 sum = tmp + (a2); \
55 tmp = (sum < tmp); /* detect overflow */ \ 54 tmp = (sum < tmp); /* detect overflow */ \
56 s = sum += (cin); \ 55 s = sum += carry; \
57 cout = tmp + (sum < (cin)); } 56 carry = tmp + (sum < carry); }
58 57
59 #define MP_SUB_BORROW(a1, a2, s, bin, bout) \ 58 #define MP_SUB_BORROW(a1, a2, s, borrow) \
60 { mp_digit tmp; \ 59 { mp_digit tmp; \
61 tmp = (a1); \ 60 tmp = (a1); \
62 s = tmp - (a2); \ 61 s = tmp - (a2); \
63 tmp = (s > tmp); /* detect borrow */ \ 62 tmp = (s > tmp); /* detect borrow */ \
64 if ((bin) && !s--) tmp++;» \ 63 if (borrow && !s--) tmp++;» \
65 bout = tmp; } 64 borrow = tmp; }
66 #endif 65 #endif
67 66
68 67
69 struct GFMethodStr; 68 struct GFMethodStr;
70 typedef struct GFMethodStr GFMethod; 69 typedef struct GFMethodStr GFMethod;
71 struct GFMethodStr { 70 struct GFMethodStr {
72 /* Indicates whether the structure was constructed from dynamic memory 71 /* Indicates whether the structure was constructed from dynamic memory
73 * or statically created. */ 72 * or statically created. */
74 int constructed; 73 int constructed;
75 /* Irreducible that defines the field. For prime fields, this is the 74 /* Irreducible that defines the field. For prime fields, this is the
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 mp_err ec_group_set_gfp256_32(ECGroup *group, ECCurveName name); 239 mp_err ec_group_set_gfp256_32(ECGroup *group, ECCurveName name);
241 240
242 /* Optimized floating-point arithmetic */ 241 /* Optimized floating-point arithmetic */
243 #ifdef ECL_USE_FP 242 #ifdef ECL_USE_FP
244 mp_err ec_group_set_secp160r1_fp(ECGroup *group); 243 mp_err ec_group_set_secp160r1_fp(ECGroup *group);
245 mp_err ec_group_set_nistp192_fp(ECGroup *group); 244 mp_err ec_group_set_nistp192_fp(ECGroup *group);
246 mp_err ec_group_set_nistp224_fp(ECGroup *group); 245 mp_err ec_group_set_nistp224_fp(ECGroup *group);
247 #endif 246 #endif
248 247
249 #endif /* __ecl_priv_h_ */ 248 #endif /* __ecl_priv_h_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698