#gmp #bignum #ffi #prime

sys gmp-ecm-sys

Rust low-level bindings for GMP-ECM

1 unstable release

0.1.0 Nov 14, 2024

#2001 in Math

Download history 102/week @ 2024-11-10 21/week @ 2024-11-17 4/week @ 2024-11-24 33/week @ 2024-12-01 39/week @ 2024-12-08

105 downloads per month
Used in gmp-ecm

LGPL-3.0+

2MB
46K SLoC

C 39K SLoC // 0.2% comments Rust 2K SLoC // 0.0% comments Visual Studio Project 1.5K SLoC M4 1.5K SLoC // 0.2% comments Assembly 1K SLoC // 0.1% comments CUDA 676 SLoC // 0.2% comments Python 424 SLoC // 0.5% comments Automake 304 SLoC // 0.2% comments GNU Style Assembly 152 SLoC Visual Studio Solution 122 SLoC Shell 99 SLoC // 0.2% comments Batch 41 SLoC

Contains (obscure autoconf code, 26KB) ecm-7.0.6-c/configure.ac

GMP-ECM-sys

Crate.io

Rust low-level bindings for GMP-ECM.

Caching the built C libraries

Building the C libraries can take some time. In order to save compilation time, the built libraries are cached in the user’s cache directory as follows:

  • on GNU/Linux: inside $XDG_CACHE_HOME/gmp-ecm-sys or $HOME/.cache/gmp-ecm-sys
  • on macOS: inside $HOME/Library/Caches/gmp-ecm-sys
  • on Windows: inside {FOLDERID_LocalAppData}\gmp-ecm-sys

To use a different directory, you can set the environment variable GMP_ECM_SYS_CACHE to the desired cache directory. Setting the GMP_ECM_SYS_CACHE variable to an empty string or to a single underscore ("_") will disable caching.

License

The gmp-ecm-sys crate is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the full text of the GNU LGPL and GNU GPL for details.

Dependencies