Cargo Features
feanor-math has no features set by default.
[dependencies]
feanor-math = { version = "2.3.0", features = ["generic_tests", "unstable-enable", "mpir", "parallel", "ndarray", "unrolled_strassen", "elementwrapper-caret-pow"] }
- generic_tests
-
Enables the export of "generic tests", functions that test the set of axioms associated with a trait.
Enables serde_assert
- unstable-enable
-
Makes all unstable items visible to outside crates
- mpir
-
Try to link to the mpir library for arbitrary-precision integers, and make
BigIntRing
refer to it.Enables bytemuck
Affects
integer::BigIntRing
,integer::BigIntRingBase
,rings::mpir
… - parallel
-
Enables parallel computation in some underlying algorithms. Currently this applies only to F4.
Enables rayon
Affects
parallel::potential_parallel_for_each
… - ndarray
-
Includes the matrix and tensor library ndarray, together with a (currently minimalistic) interface to matrices in this crate.
Enables ndarray ^0.15.6
- unrolled_strassen
-
Uses macros to unroll all stages in the Strassen algorithm. Slightly improves performance at the cost of compilation time.
- elementwrapper-caret-pow
-
Use the symbol ^ for exponentiation of
RingElementWrapper
. Note that this is an abuse of the Rust operator conventions, and in particular the binding strength of ^ is not correct. This is also why this is feature-gated and not enabled by default