#![warn(missing_docs)]
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
pub mod algebras;
pub mod arithmetic;
pub mod category;
pub mod groups;
pub mod modules;
pub mod rings;
pub mod tensors;
pub use core::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign};
pub use num_traits::{One, Zero};
pub use crate::arithmetic::{Additive, Multiplicative};
pub mod prelude {
pub use crate::{
Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, One, Sub, SubAssign, Zero,
algebras::Algebra,
arithmetic::{Additive, Multiplicative},
category::Category,
groups::{AbelianGroup, Group, NonAbelianGroup},
modules::{
LeftModule, LeftSemimodule, RightModule, RightSemimodule, TwoSidedModule, TwoSidedSemimodule,
VectorSpace,
},
rings::{Field, Ring},
};
}
#[cfg(test)]
mod fixtures {
use crate::{modular, prime_field};
modular!(Mod7, u32, 7);
prime_field!(Mod7);
}