1 /* TomsFastMath, a fast ISO C bignum library.
3 * This project is meant to fill in where LibTomMath
4 * falls short. That is speed ;-)
6 * This project is public domain and free for all purposes.
8 * Tom St Denis, tomstdenis@gmail.com
10 #ifndef TFM_PRIVATE_H_
11 #define TFM_PRIVATE_H_
15 /* VARIOUS LOW LEVEL STUFFS */
16 void s_fp_add(fp_int *a, fp_int *b, fp_int *c);
17 void s_fp_sub(fp_int *a, fp_int *b, fp_int *c);
18 void fp_reverse(unsigned char *s, int len);
20 void fp_mul_comba(fp_int *A, fp_int *B, fp_int *C);
23 void fp_mul_comba_small(fp_int *A, fp_int *B, fp_int *C);
27 void fp_mul_comba3(fp_int *A, fp_int *B, fp_int *C);
30 void fp_mul_comba4(fp_int *A, fp_int *B, fp_int *C);
33 void fp_mul_comba6(fp_int *A, fp_int *B, fp_int *C);
36 void fp_mul_comba7(fp_int *A, fp_int *B, fp_int *C);
39 void fp_mul_comba8(fp_int *A, fp_int *B, fp_int *C);
42 void fp_mul_comba9(fp_int *A, fp_int *B, fp_int *C);
45 void fp_mul_comba12(fp_int *A, fp_int *B, fp_int *C);
48 void fp_mul_comba17(fp_int *A, fp_int *B, fp_int *C);
52 void fp_mul_comba20(fp_int *A, fp_int *B, fp_int *C);
55 void fp_mul_comba24(fp_int *A, fp_int *B, fp_int *C);
58 void fp_mul_comba28(fp_int *A, fp_int *B, fp_int *C);
61 void fp_mul_comba32(fp_int *A, fp_int *B, fp_int *C);
64 void fp_mul_comba48(fp_int *A, fp_int *B, fp_int *C);
67 void fp_mul_comba64(fp_int *A, fp_int *B, fp_int *C);
70 void fp_sqr_comba(fp_int *A, fp_int *B);
73 void fp_sqr_comba_small(fp_int *A, fp_int *B);
77 void fp_sqr_comba3(fp_int *A, fp_int *B);
80 void fp_sqr_comba4(fp_int *A, fp_int *B);
83 void fp_sqr_comba6(fp_int *A, fp_int *B);
86 void fp_sqr_comba7(fp_int *A, fp_int *B);
89 void fp_sqr_comba8(fp_int *A, fp_int *B);
92 void fp_sqr_comba9(fp_int *A, fp_int *B);
95 void fp_sqr_comba12(fp_int *A, fp_int *B);
98 void fp_sqr_comba17(fp_int *A, fp_int *B);
102 void fp_sqr_comba20(fp_int *A, fp_int *B);
105 void fp_sqr_comba24(fp_int *A, fp_int *B);
108 void fp_sqr_comba28(fp_int *A, fp_int *B);
111 void fp_sqr_comba32(fp_int *A, fp_int *B);
114 void fp_sqr_comba48(fp_int *A, fp_int *B);
117 void fp_sqr_comba64(fp_int *A, fp_int *B);
119 extern const char *fp_s_rmap;