diff options
author | aiju <devnull@localhost> | 2015-12-08 18:29:22 +0100 |
---|---|---|
committer | aiju <devnull@localhost> | 2015-12-08 18:29:22 +0100 |
commit | 87abbc649f9064660128b840ef3aabad3e55abce (patch) | |
tree | 60a1bdd496f6268b3c0da90f8bd6da2d9f583a5b /sys/include/mp.h | |
parent | 5f155322607bb8771881961a2fed71bb3dea8cf1 (diff) |
mp: add logic operations; mpfmt: include 0x with #
Diffstat (limited to 'sys/include/mp.h')
-rw-r--r-- | sys/include/mp.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/include/mp.h b/sys/include/mp.h index b17df619c..31e4ef3d8 100644 --- a/sys/include/mp.h +++ b/sys/include/mp.h @@ -76,6 +76,15 @@ void mpmul(mpint *b1, mpint *b2, mpint *prod); /* prod = b1*b2 */ void mpexp(mpint *b, mpint *e, mpint *m, mpint *res); /* res = b**e mod m */ void mpmod(mpint *b, mpint *m, mpint *remainder); /* remainder = b mod m */ +/* logical operations */ +void mpand(mpint *b1, mpint *b2, mpint *res); +void mpbic(mpint *b1, mpint *b2, mpint *res); +void mpor(mpint *b1, mpint *b2, mpint *res); +void mpnot(mpint *b, mpint *res); +void mpxor(mpint *b1, mpint *b2, mpint *res); +void mptrunc(mpint *b, int n, mpint *res); +void mpxtend(mpint *b, int n, mpint *res); + /* modular arithmetic, time invariant when 0≤b1≤m-1 and 0≤b2≤m-1 */ void mpmodadd(mpint *b1, mpint *b2, mpint *m, mpint *sum); /* sum = b1+b2 % m */ void mpmodsub(mpint *b1, mpint *b2, mpint *m, mpint *diff); /* diff = b1-b2 % m */ |