1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#![deny(missing_docs)]
/*!
This crate contains new traits useful for working with vector spaces.
It contains a bunch of default implementations, so you just implement a few methods to get a lot of common tools you need.
But you can also implement the methods yourself.

These traits are inteded to work with different kinds of vector implementations, like dynamically sized, dimension specific implementations or generic ones.

You can also define your library in terms of these traits instead of using a specific vector math implementation, so the user can choose, which to use, or even use multiple depending on the use case.
**/

/// Implements traits to create and get basis vectors.
pub mod basis;
mod inner_space;
mod products;
mod vector_space;

pub use inner_space::InnerSpace;
pub use products::{DotProduct, OuterProduct};
pub use vector_space::VectorSpace;