#include <openssl/bn.h>
#include <assert.h>
#include "internal.h"
Go to the source code of this file.
|
#define | mul(r, a, w, c) |
|
#define | mul_add(r, a, w, c) |
|
#define | mul_add_c(a, b, c0, c1, c2) |
|
#define | mul_add_c2(a, b, c0, c1, c2) |
|
#define | sqr(r0, r1, a) |
|
#define | sqr_add_c(a, i, c0, c1, c2) |
|
#define | sqr_add_c2(a, i, j, c0, c1, c2) mul_add_c2((a)[i], (a)[j], c0, c1, c2) |
|
|
BN_ULONG | bn_add_words (BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, size_t n) |
|
BN_ULONG | bn_mul_add_words (BN_ULONG *rp, const BN_ULONG *ap, size_t num, BN_ULONG w) |
|
void | bn_mul_comba4 (BN_ULONG r[8], const BN_ULONG a[4], const BN_ULONG b[4]) |
|
void | bn_mul_comba8 (BN_ULONG r[16], const BN_ULONG a[8], const BN_ULONG b[8]) |
|
BN_ULONG | bn_mul_words (BN_ULONG *rp, const BN_ULONG *ap, size_t num, BN_ULONG w) |
|
void | bn_sqr_comba4 (BN_ULONG r[8], const BN_ULONG a[4]) |
|
void | bn_sqr_comba8 (BN_ULONG r[16], const BN_ULONG a[8]) |
|
void | bn_sqr_words (BN_ULONG *r, const BN_ULONG *a, size_t n) |
|
BN_ULONG | bn_sub_words (BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, size_t n) |
|
◆ mul
#define mul |
( |
|
r, |
|
|
|
a, |
|
|
|
w, |
|
|
|
c |
|
) |
| |
Value: do { \
BN_ULONG high, low,
ret, ta = (
a); \
BN_UMULT_LOHI(low, high, w, ta); \
(
c) += (
ret < low) ? 1 : 0; \
} while (0)
Definition at line 110 of file generic.c.
◆ mul_add
#define mul_add |
( |
|
r, |
|
|
|
a, |
|
|
|
w, |
|
|
|
c |
|
) |
| |
Value: do { \
BN_ULONG high, low,
ret,
tmp = (
a); \
BN_UMULT_LOHI(low, high, w,
tmp); \
(
c) = (
ret < (
c)) ? 1 : 0; \
ret += low; \
(
c) += (
ret < low) ? 1 : 0; \
} while (0)
Definition at line 97 of file generic.c.
◆ mul_add_c
#define mul_add_c |
( |
|
a, |
|
|
|
b, |
|
|
|
c0, |
|
|
|
c1, |
|
|
|
c2 |
|
) |
| |
Value: do { \
BN_ULONG ta = (
a), tb = (
b); \
BN_ULONG lo, hi; \
BN_UMULT_LOHI(lo, hi, ta, tb); \
(c0) += lo; \
hi += ((c0) < lo) ? 1 : 0; \
(
c2) += ((
c1) < hi) ? 1 : 0; \
} while (0)
Definition at line 416 of file generic.c.
◆ mul_add_c2
#define mul_add_c2 |
( |
|
a, |
|
|
|
b, |
|
|
|
c0, |
|
|
|
c1, |
|
|
|
c2 |
|
) |
| |
Value: do { \
BN_ULONG ta = (
a), tb = (
b); \
BN_ULONG lo, hi, tt; \
BN_UMULT_LOHI(lo, hi, ta, tb); \
(c0) += lo; \
tt = hi + (((c0) < lo) ? 1 : 0); \
(
c2) += ((
c1) < tt) ? 1 : 0; \
(c0) += lo; \
hi += (c0 < lo) ? 1 : 0; \
(
c2) += ((
c1) < hi) ? 1 : 0; \
} while (0)
Definition at line 427 of file generic.c.
◆ sqr
#define sqr |
( |
|
r0, |
|
|
|
r1, |
|
|
|
a |
|
) |
| |
Value: do { \
BN_UMULT_LOHI(r0, r1,
tmp,
tmp); \
} while (0)
Definition at line 120 of file generic.c.
◆ sqr_add_c
#define sqr_add_c |
( |
|
a, |
|
|
|
i, |
|
|
|
c0, |
|
|
|
c1, |
|
|
|
c2 |
|
) |
| |
Value: do { \
BN_ULONG lo, hi; \
BN_UMULT_LOHI(lo, hi, ta, ta); \
(c0) += lo; \
hi += (c0 < lo) ? 1 : 0; \
(
c2) += ((
c1) < hi) ? 1 : 0; \
} while (0)
Definition at line 442 of file generic.c.
◆ sqr_add_c2
#define sqr_add_c2 |
( |
|
a, |
|
|
|
i, |
|
|
|
j, |
|
|
|
c0, |
|
|
|
c1, |
|
|
|
c2 |
|
) |
| mul_add_c2((a)[i], (a)[j], c0, c1, c2) |
◆ bn_add_words()
BN_ULONG bn_add_words |
( |
BN_ULONG * |
r, |
|
|
const BN_ULONG * |
a, |
|
|
const BN_ULONG * |
b, |
|
|
size_t |
n |
|
) |
| |
◆ bn_mul_add_words()
BN_ULONG bn_mul_add_words |
( |
BN_ULONG * |
rp, |
|
|
const BN_ULONG * |
ap, |
|
|
size_t |
num, |
|
|
BN_ULONG |
w |
|
) |
| |
◆ bn_mul_comba4()
void bn_mul_comba4 |
( |
BN_ULONG |
r[8], |
|
|
const BN_ULONG |
a[4], |
|
|
const BN_ULONG |
b[4] |
|
) |
| |
◆ bn_mul_comba8()
void bn_mul_comba8 |
( |
BN_ULONG |
r[16], |
|
|
const BN_ULONG |
a[8], |
|
|
const BN_ULONG |
b[8] |
|
) |
| |
◆ bn_mul_words()
BN_ULONG bn_mul_words |
( |
BN_ULONG * |
rp, |
|
|
const BN_ULONG * |
ap, |
|
|
size_t |
num, |
|
|
BN_ULONG |
w |
|
) |
| |
◆ bn_sqr_comba4()
void bn_sqr_comba4 |
( |
BN_ULONG |
r[8], |
|
|
const BN_ULONG |
a[4] |
|
) |
| |
◆ bn_sqr_comba8()
void bn_sqr_comba8 |
( |
BN_ULONG |
r[16], |
|
|
const BN_ULONG |
a[8] |
|
) |
| |
◆ bn_sqr_words()
void bn_sqr_words |
( |
BN_ULONG * |
r, |
|
|
const BN_ULONG * |
a, |
|
|
size_t |
n |
|
) |
| |
◆ bn_sub_words()
BN_ULONG bn_sub_words |
( |
BN_ULONG * |
r, |
|
|
const BN_ULONG * |
a, |
|
|
const BN_ULONG * |
b, |
|
|
size_t |
n |
|
) |
| |