1#[cfg(feature = "arithmetic")]
3pub use crate::{
4 checked_add, checked_div_ceil, checked_div_floor, checked_is_divisible_by, checked_lcm,
5 checked_mod_floor, checked_mul, checked_sub, div_ceil, div_floor, mod_floor, saturating_add,
6 saturating_mul, saturating_sub, wrapping_add, wrapping_mul, wrapping_sub,
7};
8
9#[cfg(feature = "algebra")]
10pub use crate::{
11 has_inverses, identity_element, is_abelian_group, is_associative, is_closed_under,
12 is_commutative, is_distributive_over, is_group, is_monoid, is_ring,
13};
14
15#[cfg(feature = "catalan")]
16pub use crate::{CatalanError, catalan, fuss_catalan};
17
18#[cfg(feature = "collatz")]
19pub use crate::{
20 CollatzParity, CollatzRangeSummary, collatz_next, collatz_sequence, max_value_in_trajectory,
21 parity, parity_vector, reaches_one, stopping_time, total_stopping_time, trajectory_len,
22 verify_range,
23};
24
25#[cfg(feature = "calculus")]
26pub use crate::{
27 CalculusError, Differentiator, IntegrationInterval, Integrator, LimitApproximator,
28 central_difference, second_central_difference, simpson_integral, symmetric_limit,
29 trapezoidal_integral,
30};
31
32#[cfg(feature = "combinatorics")]
33pub use crate::{CombinatoricsError, combinations, factorial, permutations};
34
35#[cfg(feature = "complex")]
36pub use crate::{Complex, Imaginary};
37
38#[cfg(feature = "geode")]
39pub use crate::{
40 GeodeError, TypeVector, face_count, geode_memoized, hyper_catalan, polygon_edge_count,
41 polygon_vertex_count,
42};
43
44#[cfg(feature = "geode")]
45pub use crate::geode::geode;
46
47#[cfg(feature = "integer")]
48pub use crate::{
49 IntegerError, IntegerSign, are_coprime, classify_sign, gcd, is_divisible_by, is_even, is_odd,
50 lcm,
51};
52
53#[cfg(feature = "interval")]
54pub use crate::{Bound, Interval};
55
56#[cfg(feature = "modular")]
57pub use crate::{
58 Modular, is_congruent, mod_add, mod_inverse, mod_mul, mod_normalize, mod_pow, mod_sub,
59};
60
61#[cfg(feature = "prime")]
62pub use crate::{
63 factorization, is_composite, is_prime, next_prime, previous_prime, prime_factors, primes_up_to,
64 sieve, unique_prime_factors,
65};
66
67#[cfg(feature = "polynomial")]
68pub use crate::{Polynomial, linear_root, quadratic_roots};
69
70#[cfg(feature = "equation")]
71pub use crate::{
72 LinearEquation, LinearSystem2, QuadraticEquation, RootSolver, Roots, solve_linear,
73 solve_quadratic,
74};
75
76#[cfg(all(feature = "equation", feature = "polynomial"))]
77pub use crate::solve_polynomial_degree_1_or_2;
78
79#[cfg(feature = "eigen")]
80pub use crate::{
81 EigenError, EigenMultiplicity, EigenSpace, Eigenpair, Eigensystem, Eigenvalue, Eigenvector,
82};
83
84#[cfg(feature = "logic")]
85pub use crate::{equivalence, exclusive_or, implication, majority, nand, nor};
86
87#[cfg(feature = "matrix")]
88pub use crate::{Matrix2, Matrix3, Matrix4};
89
90#[cfg(feature = "linear")]
91pub use crate::{LinearError, solve_2x2};
92
93#[cfg(feature = "vector")]
94pub use crate::{Vector, Vector2, Vector3, Vector4};
95
96#[cfg(feature = "number")]
97pub use crate::{
98 GOLDEN_RATIO, GOLDEN_RATIO_F32, NumberCategory, NumberSign, SQRT_3, SQRT_3_F32,
99 classify_number, classify_number_sign, is_finite_number,
100};
101
102#[cfg(feature = "probability")]
103pub use crate::{
104 Bernoulli, Probability, ProbabilityError, independent_intersection, independent_union,
105};
106
107#[cfg(feature = "rational")]
108pub use crate::{Rational, RationalError};
109
110#[cfg(feature = "real")]
111pub use crate::{Real, RealError, RealInterval, approx_eq};
112
113#[cfg(feature = "series")]
114pub use crate::{
115 SeriesError, arithmetic_nth_term, arithmetic_sum, geometric_nth_term, geometric_sum,
116};
117
118#[cfg(feature = "set")]
119pub use crate::{
120 are_disjoint, contains_member, is_subset, set_difference, set_intersection,
121 set_symmetric_difference, set_union,
122};
123
124#[cfg(feature = "statistics")]
125pub use crate::{
126 StatisticsError, mean, median, population_std_dev, population_variance, sample_std_dev,
127 sample_variance,
128};
129
130#[cfg(feature = "trigonometry")]
131pub use crate::{
132 Angle, cos_deg, degrees_to_radians, normalize_degrees, normalize_radians, radians_to_degrees,
133 sin_deg, tan_deg,
134};