Clone of libtommath library
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE.md
README.md
ibp_external__libtommatch_set01__bn_fast_mp_invmod.cpp
ibp_external__libtommatch_set01__bn_fast_mp_montgomery_reduce.cpp
ibp_external__libtommatch_set01__bn_fast_s_mp_mul_digs.cpp
ibp_external__libtommatch_set01__bn_fast_s_mp_mul_high_digs.cpp
ibp_external__libtommatch_set01__bn_fast_s_mp_sqr.cpp
ibp_external__libtommatch_set01__bn_mp_2expt.cpp
ibp_external__libtommatch_set01__bn_mp_abs.cpp
ibp_external__libtommatch_set01__bn_mp_add.cpp
ibp_external__libtommatch_set01__bn_mp_add_d.cpp
ibp_external__libtommatch_set01__bn_mp_clamp.cpp
ibp_external__libtommatch_set01__bn_mp_clear_v3.cpp
ibp_external__libtommatch_set01__bn_mp_cmp.cpp
ibp_external__libtommatch_set01__bn_mp_cmp_d.cpp
ibp_external__libtommatch_set01__bn_mp_cmp_mag.cpp
ibp_external__libtommatch_set01__bn_mp_copy.cpp
ibp_external__libtommatch_set01__bn_mp_count_bits_v2.cpp
ibp_external__libtommatch_set01__bn_mp_debug__check_int__light.cpp
ibp_external__libtommatch_set01__bn_mp_debug__check_int__total.cpp
ibp_external__libtommatch_set01__bn_mp_div.cpp
ibp_external__libtommatch_set01__bn_mp_div_2.cpp
ibp_external__libtommatch_set01__bn_mp_div_2d.cpp
ibp_external__libtommatch_set01__bn_mp_div_3.cpp
ibp_external__libtommatch_set01__bn_mp_div_d.cpp
ibp_external__libtommatch_set01__bn_mp_dr_is_modulus.cpp
ibp_external__libtommatch_set01__bn_mp_dr_reduce.cpp
ibp_external__libtommatch_set01__bn_mp_dr_setup.cpp
ibp_external__libtommatch_set01__bn_mp_dump_w.cpp
ibp_external__libtommatch_set01__bn_mp_exch.cpp
ibp_external__libtommatch_set01__bn_mp_exptmod.cpp
ibp_external__libtommatch_set01__bn_mp_exptmod_fast.cpp
ibp_external__libtommatch_set01__bn_mp_grow.cpp
ibp_external__libtommatch_set01__bn_mp_init_v3.cpp
ibp_external__libtommatch_set01__bn_mp_invmod.cpp
ibp_external__libtommatch_set01__bn_mp_invmod_slow.cpp
ibp_external__libtommatch_set01__bn_mp_karatsuba_mul.cpp
ibp_external__libtommatch_set01__bn_mp_karatsuba_sqr.cpp
ibp_external__libtommatch_set01__bn_mp_lshd.cpp
ibp_external__libtommatch_set01__bn_mp_mod.cpp
ibp_external__libtommatch_set01__bn_mp_mod_2d.cpp
ibp_external__libtommatch_set01__bn_mp_montgomery_calc_normalization.cpp
ibp_external__libtommatch_set01__bn_mp_montgomery_reduce.cpp
ibp_external__libtommatch_set01__bn_mp_montgomery_setup.cpp
ibp_external__libtommatch_set01__bn_mp_mul.cpp
ibp_external__libtommatch_set01__bn_mp_mul_2.cpp
ibp_external__libtommatch_set01__bn_mp_mul_2d.cpp
ibp_external__libtommatch_set01__bn_mp_mul_d.cpp
ibp_external__libtommatch_set01__bn_mp_mulmod.cpp
ibp_external__libtommatch_set01__bn_mp_radix_size.cpp
ibp_external__libtommatch_set01__bn_mp_radix_smap.cpp
ibp_external__libtommatch_set01__bn_mp_read_radix.cpp
ibp_external__libtommatch_set01__bn_mp_read_unsigned_bin_v2.cpp
ibp_external__libtommatch_set01__bn_mp_reduce.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_2k.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_2k_l.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_2k_setup.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_2k_setup_l.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_is_2k.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_is_2k_l.cpp
ibp_external__libtommatch_set01__bn_mp_reduce_setup.cpp
ibp_external__libtommatch_set01__bn_mp_rshd.cpp
ibp_external__libtommatch_set01__bn_mp_set_v2.cpp
ibp_external__libtommatch_set01__bn_mp_sqr.cpp
ibp_external__libtommatch_set01__bn_mp_sub.cpp
ibp_external__libtommatch_set01__bn_mp_sub_d.cpp
ibp_external__libtommatch_set01__bn_mp_to_unsigned_bin.cpp
ibp_external__libtommatch_set01__bn_mp_toom_mul.cpp
ibp_external__libtommatch_set01__bn_mp_toom_sqr.cpp
ibp_external__libtommatch_set01__bn_mp_toradix_n.cpp
ibp_external__libtommatch_set01__bn_mp_unsigned_bin_size_v2.cpp
ibp_external__libtommatch_set01__bn_mp_zero.cpp
ibp_external__libtommatch_set01__bn_s_mp_add.cpp
ibp_external__libtommatch_set01__bn_s_mp_exptmod.cpp
ibp_external__libtommatch_set01__bn_s_mp_mul_digs.cpp
ibp_external__libtommatch_set01__bn_s_mp_mul_high_digs.cpp
ibp_external__libtommatch_set01__bn_s_mp_sqr.cpp
ibp_external__libtommatch_set01__bn_s_mp_sub.cpp
ibp_external__libtommatch_set01__bncore.cpp
ibp_external__libtommatch_set01__tommath.h
ibp_external__libtommatch_set01__tommath_class.h
ibp_external__libtommatch_set01__tommath_private.cpp
ibp_external__libtommatch_set01__tommath_private.h
ibp_external__libtommatch_set01__tommath_superclass.h

README.md

libtommath-for-ibprovider--set01

Clone of libtommath library

This library contains the direct copy of reworked version of LibTomMath library (free math library for work with large numbers), that used in IBProvider.

License: WTFPL.

Original source code was obtained from Firebird SQL Server: https://github.com/FirebirdSQL/firebird/tree/B3_0_Release/extern/libtommath

Home repository of LibTomMath: https://github.com/libtom/libtommath

The primary changes:

  • Conversion to C++ code
  • Added the asserts
  • Correction of mistakes

The main target of this code:

  • Education and Research

You may use this code as addtional source for research and preparation of original LibTomMath for using in your projects.

If you want to directly use a THIS code in your project, need correct the paths to headers.

I created a multiple tests for THIS code. But they is part of my internal "Unit Test System for IBProvider" and can't be published. Sorry.