#![no_std]
#![forbid(unsafe_code)]
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
use tinyvec::ArrayVec;
pub mod bezier_segment;
pub mod cubic_bezier;
pub mod line;
pub mod quadratic_bezier;
pub mod bezier;
pub mod bspline;
pub mod point_generic;
pub mod bspline_path;
pub mod find_root;
pub mod path;
pub mod point;
mod roots;
#[cfg(feature = "nalgebra")]
mod adapters;
pub use bezier::Bezier;
pub use bspline::BSpline;
pub use bspline_path::BSplinePath;
pub use cubic_bezier::CubicBezier;
pub use find_root::FindRoot;
pub use line::LineSegment;
pub use path::BezierPath;
pub use point::Point;
pub use point::{PointDot, PointIndex, PointNorm};
pub use point_generic::PointN;
pub use quadratic_bezier::QuadraticBezier;
#[cfg(test)]
#[cfg(target_pointer_width = "64")]
pub(crate) const EPSILON: f64 = f64::EPSILON;
#[cfg(test)]
#[cfg(not(target_pointer_width = "64"))]
pub(crate) const EPSILON: f32 = f32::EPSILON;