#number-theory #real #complex #flint #wrapper

inertia-core

Core functionality of the Inertia crate with high level wrappers for FLINT, Arb, and Antic

8 releases

0.4.0 Jan 1, 2023
0.2.0 May 31, 2022
0.1.6 May 31, 2022
0.1.3 Apr 6, 2022
0.1.1 Mar 29, 2022

#2009 in Math


Used in inertia

GPL-3.0-or-later

470KB
11K SLoC

inertia-core

This is a work in progress!

inertia-core contains the core functionality of the Inertia crate, providing high-level wrappers for the FLINT, Arb, and Antic C libraries.

TODO:

  • better name distancing it from inertia
  • split into features or workspace (maybe make workspace with flint, arb, antic crates with individual features?)
  • add LGPL
  • rand - see Rug/gmp-mpfr-sys
  • tons of boilerplate, docs, TODO/FIXME comments
  • rest of Flint, Arb, Antic types
  • serde
  • TryFrom conversions
  • borrows for FFI types
  • improve op guards to avoid seg faults in C
  • improved constructors - New/NewCtx may be suboptimal in some situations
  • better polynomial/matrix pretty printing
  • (unsafe?) shallow copies could avoid unnecessary allocations in some contexts, like some hash impls
  • combine From/Assign impl macros, maybe derive From from Assign impls?
  • macros could use general improvements, proc macro crate for op and From impls in inertia-generic and inertia-core might be ideal

Dependencies

~49MB
~1M SLoC