summaryrefslogtreecommitdiffstats
path: root/libtommath/tommath_class.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-01-22 16:26:59 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-01-22 16:26:59 (GMT)
commit3cf1eb2c2370405ae05a7740dfdfdb206883b522 (patch)
tree22c4598980ea3b3377c1d8bfb95f1d33ef9f30fb /libtommath/tommath_class.h
parentf8876cc390ecf388114f426db15e641a5adb20fc (diff)
downloadtcl-3cf1eb2c2370405ae05a7740dfdfdb206883b522.zip
tcl-3cf1eb2c2370405ae05a7740dfdfdb206883b522.tar.gz
tcl-3cf1eb2c2370405ae05a7740dfdfdb206883b522.tar.bz2
Update to libtommath v1.1.0-rc4
Diffstat (limited to 'libtommath/tommath_class.h')
-rw-r--r--libtommath/tommath_class.h129
1 files changed, 118 insertions, 11 deletions
diff --git a/libtommath/tommath_class.h b/libtommath/tommath_class.h
index 1989054..6363042 100644
--- a/libtommath/tommath_class.h
+++ b/libtommath/tommath_class.h
@@ -1,3 +1,14 @@
+/* LibTomMath, multiple-precision integer library -- Tom St Denis
+ *
+ * LibTomMath is a library that provides multiple-precision
+ * integer arithmetic as well as number theoretic functionality.
+ *
+ * The library was designed directly after the MPI library by
+ * Michael Fromberger but has been written from scratch with
+ * additional optimizations in place.
+ *
+ * SPDX-License-Identifier: Unlicense
+ */
#if !(defined(LTM1) && defined(LTM2) && defined(LTM3))
#if defined(LTM2)
# define LTM3
@@ -6,7 +17,6 @@
# define LTM2
#endif
#define LTM1
-
#if defined(LTM_ALL)
# define BN_ERROR_C
# define BN_FAST_MP_INVMOD_C
@@ -48,6 +58,8 @@
# define BN_MP_FREAD_C
# define BN_MP_FWRITE_C
# define BN_MP_GCD_C
+# define BN_MP_GET_BIT_C
+# define BN_MP_GET_DOUBLE_C
# define BN_MP_GET_INT_C
# define BN_MP_GET_LONG_C
# define BN_MP_GET_LONG_LONG_C
@@ -65,6 +77,7 @@
# define BN_MP_JACOBI_C
# define BN_MP_KARATSUBA_MUL_C
# define BN_MP_KARATSUBA_SQR_C
+# define BN_MP_KRONECKER_C
# define BN_MP_LCM_C
# define BN_MP_LSHD_C
# define BN_MP_MOD_C
@@ -83,12 +96,14 @@
# define BN_MP_NEG_C
# define BN_MP_OR_C
# define BN_MP_PRIME_FERMAT_C
+# define BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
# define BN_MP_PRIME_IS_DIVISIBLE_C
# define BN_MP_PRIME_IS_PRIME_C
# define BN_MP_PRIME_MILLER_RABIN_C
# define BN_MP_PRIME_NEXT_PRIME_C
# define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
# define BN_MP_PRIME_RANDOM_EX_C
+# define BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
# define BN_MP_RADIX_SIZE_C
# define BN_MP_RADIX_SMAP_C
# define BN_MP_RAND_C
@@ -105,6 +120,7 @@
# define BN_MP_REDUCE_SETUP_C
# define BN_MP_RSHD_C
# define BN_MP_SET_C
+# define BN_MP_SET_DOUBLE_C
# define BN_MP_SET_INT_C
# define BN_MP_SET_LONG_C
# define BN_MP_SET_LONG_LONG_C
@@ -142,7 +158,6 @@
# define BN_S_MP_SUB_C
# define BNCORE_C
#endif
-
#if defined(BN_ERROR_C)
# define BN_MP_ERROR_TO_STRING_C
#endif
@@ -160,6 +175,7 @@
# define BN_MP_CMP_C
# define BN_MP_CMP_D_C
# define BN_MP_ADD_C
+# define BN_MP_CMP_MAG_C
# define BN_MP_EXCH_C
# define BN_MP_CLEAR_MULTI_C
#endif
@@ -425,6 +441,14 @@
# define BN_MP_CLEAR_C
#endif
+#if defined(BN_MP_GET_BIT_C)
+# define BN_MP_ISZERO_C
+#endif
+
+#if defined(BN_MP_GET_DOUBLE_C)
+# define BN_MP_ISNEG_C
+#endif
+
#if defined(BN_MP_GET_INT_C)
#endif
@@ -509,14 +533,9 @@
#endif
#if defined(BN_MP_JACOBI_C)
+# define BN_MP_KRONECKER_C
# define BN_MP_ISNEG_C
# define BN_MP_CMP_D_C
-# define BN_MP_ISZERO_C
-# define BN_MP_INIT_COPY_C
-# define BN_MP_CNT_LSB_C
-# define BN_MP_DIV_2D_C
-# define BN_MP_MOD_C
-# define BN_MP_CLEAR_C
#endif
#if defined(BN_MP_KARATSUBA_MUL_C)
@@ -541,6 +560,18 @@
# define BN_MP_CLEAR_C
#endif
+#if defined(BN_MP_KRONECKER_C)
+# define BN_MP_ISZERO_C
+# define BN_MP_ISEVEN_C
+# define BN_MP_INIT_COPY_C
+# define BN_MP_CNT_LSB_C
+# define BN_MP_DIV_2D_C
+# define BN_MP_CMP_D_C
+# define BN_MP_COPY_C
+# define BN_MP_MOD_C
+# define BN_MP_CLEAR_C
+#endif
+
#if defined(BN_MP_LCM_C)
# define BN_MP_INIT_MULTI_C
# define BN_MP_GCD_C
@@ -666,16 +697,49 @@
# define BN_MP_CLEAR_C
#endif
+#if defined(BN_MP_PRIME_FROBENIUS_UNDERWOOD_C)
+# define BN_MP_PRIME_IS_PRIME_C
+# define BN_MP_INIT_MULTI_C
+# define BN_MP_SET_LONG_C
+# define BN_MP_SQR_C
+# define BN_MP_SUB_D_C
+# define BN_MP_KRONECKER_C
+# define BN_MP_GCD_C
+# define BN_MP_ADD_D_C
+# define BN_MP_SET_C
+# define BN_MP_COUNT_BITS_C
+# define BN_MP_MUL_2_C
+# define BN_MP_MUL_D_C
+# define BN_MP_ADD_C
+# define BN_MP_MUL_C
+# define BN_MP_SUB_C
+# define BN_MP_MOD_C
+# define BN_MP_GET_BIT_C
+# define BN_MP_EXCH_C
+# define BN_MP_ISZERO_C
+# define BN_MP_CMP_C
+# define BN_MP_CLEAR_MULTI_C
+#endif
+
#if defined(BN_MP_PRIME_IS_DIVISIBLE_C)
# define BN_MP_MOD_D_C
#endif
#if defined(BN_MP_PRIME_IS_PRIME_C)
+# define BN_MP_ISEVEN_C
+# define BN_MP_IS_SQUARE_C
# define BN_MP_CMP_D_C
# define BN_MP_PRIME_IS_DIVISIBLE_C
-# define BN_MP_INIT_C
-# define BN_MP_SET_C
+# define BN_MP_INIT_SET_C
# define BN_MP_PRIME_MILLER_RABIN_C
+# define BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
+# define BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
+# define BN_MP_READ_RADIX_C
+# define BN_MP_CMP_C
+# define BN_MP_SET_C
+# define BN_MP_COUNT_BITS_C
+# define BN_MP_RAND_C
+# define BN_MP_DIV_2D_C
# define BN_MP_CLEAR_C
#endif
@@ -699,7 +763,7 @@
# define BN_MP_MOD_D_C
# define BN_MP_INIT_C
# define BN_MP_ADD_D_C
-# define BN_MP_PRIME_MILLER_RABIN_C
+# define BN_MP_PRIME_IS_PRIME_C
# define BN_MP_CLEAR_C
#endif
@@ -715,6 +779,37 @@
# define BN_MP_ADD_D_C
#endif
+#if defined(BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C)
+# define BN_MP_PRIME_IS_PRIME_C
+# define BN_MP_MUL_D_C
+# define BN_S_MP_MUL_SI_C
+# define BN_MP_INIT_C
+# define BN_MP_SET_LONG_C
+# define BN_MP_MUL_C
+# define BN_MP_CLEAR_C
+# define BN_MP_INIT_MULTI_C
+# define BN_MP_GCD_C
+# define BN_MP_CMP_D_C
+# define BN_MP_CMP_C
+# define BN_MP_KRONECKER_C
+# define BN_MP_ADD_D_C
+# define BN_MP_CNT_LSB_C
+# define BN_MP_DIV_2D_C
+# define BN_MP_SET_C
+# define BN_MP_MUL_2_C
+# define BN_MP_COUNT_BITS_C
+# define BN_MP_MOD_C
+# define BN_MP_SQR_C
+# define BN_MP_SUB_C
+# define BN_MP_GET_BIT_C
+# define BN_MP_ADD_C
+# define BN_MP_ISODD_C
+# define BN_MP_DIV_2_C
+# define BN_MP_SUB_D_C
+# define BN_MP_ISZERO_C
+# define BN_MP_CLEAR_MULTI_C
+#endif
+
#if defined(BN_MP_RADIX_SIZE_C)
# define BN_MP_ISZERO_C
# define BN_MP_COUNT_BITS_C
@@ -730,6 +825,7 @@
#endif
#if defined(BN_MP_RAND_C)
+# define BN_MP_RAND_DIGIT_C
# define BN_MP_ZERO_C
# define BN_MP_ADD_D_C
# define BN_MP_LSHD_C
@@ -833,6 +929,13 @@
# define BN_MP_ZERO_C
#endif
+#if defined(BN_MP_SET_DOUBLE_C)
+# define BN_MP_SET_LONG_LONG_C
+# define BN_MP_DIV_2D_C
+# define BN_MP_MUL_2D_C
+# define BN_MP_ISZERO_C
+#endif
+
#if defined(BN_MP_SET_INT_C)
# define BN_MP_ZERO_C
# define BN_MP_MUL_2D_C
@@ -1113,3 +1216,7 @@
#else
# define LTM_LAST
#endif
+
+/* ref: $Format:%D$ */
+/* git commit: $Format:%H$ */
+/* commit time: $Format:%ai$ */