xref: /freebsd/lib/libmp/mp.h (revision 1669d8afc64812c8d2d1d147ae1fd42ff441e1b1)
1 /* $FreeBSD$ */
2 
3 #ifndef _MP_H_
4 #define _MP_H_
5 
6 #ifndef HEADER_BN_H_
7 #include <openssl/bn.h>
8 #endif
9 
10 typedef struct _mint {
11 	BIGNUM *bn;
12 } MINT;
13 
14 void gcd(const MINT *, const MINT *, MINT *);
15 MINT *itom(short);
16 void madd(const MINT *, const MINT *, MINT *);
17 int mcmp(const MINT *, const MINT *);
18 void mdiv(const MINT *, const MINT *, MINT *, MINT *);
19 void mfree(MINT *);
20 void min(MINT *);
21 void mout(const MINT *);
22 void move(const MINT *, MINT *);
23 void msqrt(const MINT *, MINT *, MINT *);
24 void msub(const MINT *, const MINT *, MINT *);
25 char *mtox(const MINT *);
26 void mult(const MINT *, const MINT *, MINT *);
27 void pow(const MINT *, const MINT *, const MINT *, MINT *);
28 void rpow(const MINT *, short, MINT *);
29 void sdiv(const MINT *, short, MINT *, short *);
30 MINT *xtom(const char *);
31 
32 #endif /* !_MP_H_ */
33