ball 0.1.1

The n-dimension ball
Documentation
#![allow(non_upper_case_globals)]
#![deny(missing_docs)]
#![deny(missing_debug_implementations)]
#![doc = include_str!("../Readme.md")]

mod methods;
mod traits;

pub use float::*;

#[cfg(feature = "f32")]
mod float {
    /// Float Type
    pub type Float = f32;
    /// constant π
    pub const Pi: Float = std::f32::consts::PI;
}

#[cfg(feature = "f64")]
mod float {
    /// Float Type
    pub type Float = f64;
    /// constant π
    pub const Pi: Float = std::f64::consts::PI;
}

/// A circle in 2D plane.
pub type Circle = Ball<2>;

/// A n-dimension point.
pub type Point<const N: usize> = [Float; N];

/// A ball in n-dimensional space.
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct Ball<const N: usize> {
    /// N dimensional center
    pub center: [Float; N],
    /// Radius of n-ball
    pub radius: Float,
}