#![warn(missing_docs)]
pub use hyperreal::{
DomainFacts as RealDomainFacts, DomainStatus as RealDomainStatus,
ExpressionDegree as RealExpressionDegree, MagnitudeBits as RealMagnitudeBits, Rational,
RationalStorageClass, Real, RealExactSetDenominatorKind, RealExactSetDyadicExponentClass,
RealExactSetSignPattern, RealSign, RealStructuralFacts as RealFacts,
SymbolicDependencyMask as RealSymbolicDependencyMask, ZeroKnowledge as ZeroStatus,
ZeroOneMinusOneStatus as RealZeroOneMinusOneStatus,
};
mod trace;
pub(crate) use trace::trace_dispatch;
mod error;
pub use error::{AbortSignal, BlasResult, CheckedBlasResult, Problem};
mod kernels;
pub use kernels::ExactRealSetFacts;
pub(crate) use kernels::{ExactRationalKind, RealKernelExt};
mod algebra2;
pub use algebra2::{
Displacement2Facts, Orient2Facts, ProductSum2Facts, ProductTerm2Facts, displacement2,
displacement2_facts, dot2, orient2_expr, orient2_expr_facts, positive_product_sum2,
product_sum2_facts, product_term2_facts, signed_product_sum2, squared_distance2, squared_norm2,
wedge2,
};
mod scalar;
pub use scalar::{
acos, acos_with_abort, acosh, acosh_with_abort, asin, asin_with_abort, asinh, asinh_with_abort,
atan, atan_with_abort, atanh, atanh_with_abort, cos, cosh, e, exp, i, ln, log10,
log10_with_abort, one, pi, pow, powi, reciprocal, reciprocal_checked,
reciprocal_checked_with_abort, reciprocal_ref, reciprocal_ref_checked, sin, sinh, sqrt, tan,
tanh, tau, zero, zero_status, zero_status_with_abort,
};
mod complex;
pub use complex::Complex;
mod vector;
pub use vector::{
Axis2, SharedScaleVec, SignedAxis2, Vector2, Vector2Facts, Vector3, Vector3Facts, Vector4,
Vector4Facts, Vector4HomogeneousKind, VectorSharedScaleFacts, VectorSharedScaleView,
};
mod point;
pub use point::{
Point2, Point2Facts, Point3, Point3Facts, PointSharedScaleFacts, PointSharedScaleView,
};
mod aabb;
pub use aabb::Aabb;
mod projective;
pub use projective::{
HomogeneousLine3, HomogeneousPoint3, Plane3Coefficients, ProjectivePlane3,
homogeneous_point_plane_expression, intersect_homogeneous_line_plane, intersect_three_planes,
intersect_two_planes,
};
mod matrix;
pub use matrix::{
Matrix3, Matrix3StructuralFacts, Matrix3TransformKind, Matrix4, Matrix4StructuralFacts,
Matrix4TransformKind, MatrixDeterminantScheduleHint, MatrixPreparedCacheState, PreparedMatrix3,
PreparedMatrix4, PreparedRightDivisor3, PreparedRightDivisor4, SignedAxis4,
};
#[cfg(feature = "arbitrary")]
mod arbitrary_impls;