1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
//! # Summary
//! Oxygen Quark is a maths library primarily aimed for the Oxygen game engine.
//! Use for it in any other project is allowed and encouraged.
//!
//! - It holds parts of linear algebra: [square matrices](./matrix/index.html) along [two-dimensional](./vector/vector2d/struct.Vector2D.html) and [three-dimensional vectors](./vector/vector3d/struct.Vector3D.html).
//! - It is also containing a [`Fraction`](./fraction/struct.Fraction.html) data-type to allow for more precise calculations when floating-point is proven inaccurate.
//! - The last part is the imaginary part, holding [`Quaternion`](./imaginary/quaternion/struct.Quaternion.html) as well as [`Complex`](./imaginary/complex/struct.Complex.html) data-types, one for three-dimensional rotations
//! and the other for mathematical completeness.
//! ## Vector
//! The module containing the implementation details for [`Vector2d`](./vector/vector2d/struct.Vector2D.html) and [`Vector3d`](./vector/vector3d/struct.Vector3D.html).
//! ## Matrix
//! This module holds the implementations of [`Matrix2x2`](./matrix/matrix2x2/struct.Matrix2x2.html), [`Matrix3x3`](./matrix/matrix3x3/struct.Matrix3x3.html) and [`Matrix4x4`](./matrix/matrix4x4/struct.Matrix4x4.html).
//! ## Imaginary
//! This module contains [`Complex`](./imaginary/complex/struct.Complex.html) and [`Quaternion`](./imaginary/quaternion/struct.Quaternion.html) implementations.
//! ## Fraction
//! This module yields the implementation for [`Fraction`](./fraction/struct.Fraction.html).
pub use imaginary::complex::Complex;
pub use imaginary::quaternion::Quaternion;
pub use matrix::matrix2x2::Matrix2x2;
pub use matrix::matrix3x3::Matrix3x3;
pub use matrix::matrix4x4::Matrix4x4;
pub use vector::vector2d::Vector2D;
pub use vector::vector3d::Vector3D;
pub use fraction::Fraction;
pub use colour::Colour;
// Linear algebra
/// Holds the implementations for `Vector2d` and `Vector3d`.
pub mod vector;
/// Holds the implementations for `Matrix2x2`, `Matrix3x3` and `Matrix4x4`.
pub mod matrix;
// Complex numbers
/// Holds the implementations for `Complex` and `Quaternion`.
pub mod imaginary;
// Fractions
/// Holds the implementation for the `Fraction` data-type.
pub mod fraction;
// Colours
// Holds the implementation for the `Colour` data-type.
pub mod colour;