1#![forbid(unsafe_code)]
2#![doc = include_str!("../README.md")]
3
4#[cfg(feature = "arithmetic")]
7pub use use_arithmetic as arithmetic;
8
9#[cfg(feature = "arithmetic")]
10pub use use_arithmetic::{
11 CheckedArithmetic, SaturatingArithmetic, WrappingArithmetic, checked_add, checked_div_ceil,
12 checked_div_floor, checked_is_divisible_by, checked_lcm, checked_mod_floor, checked_mul,
13 checked_sub, div_ceil, div_floor, mod_floor, saturating_add, saturating_mul, saturating_sub,
14 wrapping_add, wrapping_mul, wrapping_sub,
15};
16
17#[cfg(feature = "algebra")]
18pub use use_algebra as algebra;
19
20#[cfg(feature = "algebra")]
21pub use use_algebra::{
22 has_inverses, identity_element, is_abelian_group, is_associative, is_closed_under,
23 is_commutative, is_distributive_over, is_group, is_monoid, is_ring,
24};
25
26#[cfg(feature = "calculus")]
27pub use use_calculus as calculus;
28
29#[cfg(feature = "calculus")]
30pub use use_calculus::{
31 CalculusError, Differentiator, IntegrationInterval, Integrator, LimitApproximator,
32 central_difference, second_central_difference, simpson_integral, symmetric_limit,
33 trapezoidal_integral,
34};
35
36#[cfg(feature = "catalan")]
37pub use use_catalan as catalan;
38
39#[cfg(feature = "catalan")]
40pub use use_catalan::{CatalanError, catalan, fuss_catalan};
41
42#[cfg(feature = "combinatorics")]
43pub use use_combinatorics as combinatorics;
44
45#[cfg(feature = "combinatorics")]
46pub use use_combinatorics::{CombinatoricsError, combinations, factorial, permutations};
47
48#[cfg(feature = "complex")]
49pub use use_complex as complex;
50
51#[cfg(feature = "complex")]
52pub use use_complex::{Complex, Imaginary};
53
54#[cfg(feature = "geometry")]
55pub use use_geometry as geometry;
56
57#[cfg(feature = "geometry")]
58pub use use_geometry::{
59 Aabb2, Circle, GeometryError, Line2, Orientation2, Point2, Segment2, Triangle, Vector2,
60 aabb_from_points, distance_2d, distance_squared_2d, midpoint_2d, orientation_2d,
61 orientation_2d_with_tolerance, triangle_area, triangle_twice_area, triangle_twice_signed_area,
62 try_orientation_2d, try_orientation_2d_with_tolerance,
63};
64
65#[cfg(feature = "geode")]
66pub mod geode {
67 pub use use_geode::*;
68}
69
70#[cfg(feature = "geode")]
71pub use use_geode::{
72 GeodeError, TypeVector, catalan_from_geode_dimension, checked_factorial,
73 checked_product_factorials, diagonal_geode_2d, diagonal_geode_3d, diagonal_geode_4d,
74 exact_divide, face_count, geode_memoized, geode_on_first_axis, hyper_catalan,
75 polygon_edge_count, polygon_vertex_count,
76};
77
78#[cfg(feature = "integer")]
79pub use use_integer as integer;
80
81#[cfg(feature = "integer")]
82pub use use_integer::{
83 IntegerError, IntegerSign, are_coprime, classify_sign, gcd, is_divisible_by, is_even, is_odd,
84 lcm,
85};
86
87#[cfg(feature = "linear")]
88pub use use_linear as linear;
89
90#[cfg(feature = "linear")]
91pub use use_linear::{LinearError, Matrix2, Vector2 as LinearVector2, dot, solve_2x2};
92
93#[cfg(feature = "logic")]
94pub use use_logic as logic;
95
96#[cfg(feature = "logic")]
97pub use use_logic::{equivalence, exclusive_or, implication, majority, nand, nor};
98
99#[cfg(feature = "number")]
100pub use use_number as number;
101
102#[cfg(feature = "number")]
103pub use use_number::{
104 GOLDEN_RATIO, GOLDEN_RATIO_F32, NumberCategory, NumberSign, SQRT_3, SQRT_3_F32,
105 classify_number, classify_number_sign, is_finite_number,
106};
107
108#[cfg(feature = "probability")]
109pub use use_probability as probability;
110
111#[cfg(feature = "probability")]
112pub use use_probability::{
113 Bernoulli, Probability, ProbabilityError, independent_intersection, independent_union,
114};
115
116#[cfg(feature = "rational")]
117pub use use_rational as rational;
118
119#[cfg(feature = "rational")]
120pub use use_rational::{Rational, RationalError};
121
122#[cfg(feature = "real")]
123pub use use_real as real;
124
125#[cfg(feature = "real")]
126pub use use_real::{Real, RealError, RealInterval, approx_eq};
127
128#[cfg(feature = "series")]
129pub use use_series as series;
130
131#[cfg(feature = "series")]
132pub use use_series::{
133 SeriesError, arithmetic_nth_term, arithmetic_sum, geometric_nth_term, geometric_sum,
134};
135
136#[cfg(feature = "set")]
137pub use use_set as set;
138
139#[cfg(feature = "set")]
140pub use use_set::{
141 are_disjoint, contains_member, is_subset, set_difference, set_intersection,
142 set_symmetric_difference, set_union,
143};
144
145#[cfg(feature = "statistics")]
146pub use use_statistics as statistics;
147
148#[cfg(feature = "statistics")]
149pub use use_statistics::{
150 StatisticsError, mean, median, population_std_dev, population_variance, sample_std_dev,
151 sample_variance,
152};
153
154#[cfg(feature = "trigonometry")]
155pub use use_trigonometry as trigonometry;
156
157#[cfg(feature = "trigonometry")]
158pub use use_trigonometry::{
159 Angle, cos_deg, degrees_to_radians, normalize_degrees, normalize_radians, radians_to_degrees,
160 sin_deg, tan_deg,
161};
162
163pub mod prelude;