Algebraic traits and default numeric instances that define the generic foundation for LunaFlow math packages.
moon check
moon testimpl FromInteger for Intimpl FromInteger for Int16impl FromInteger for Int64impl FromInteger for UIntimpl FromInteger for UInt16impl FromInteger for UInt64impl FromInteger for Floatimpl FromInteger for Doubleimpl FromInteger for BigIntimpl IntegralHomomorphism for Floatimpl IntegralHomomorphism for Doublepub(open) trait Inverse {
fn inv(Self) -> Self
}impl NatHomomorphism for Floatimpl NatHomomorphism for Doublepub(open) trait One {
fn one() -> Self
}pub(open) trait Zero {
fn zero() -> Self
}pub struct Algebra[S, A] {
// private fields
}pub struct Hom[S, A, B] {
// private fields
}#deprecated("Use `Hom::from_integer` with `Section::of_integral`, or `lift_to`.")
fn[Z : Integral + Semiring + AddMonoid + Add + Zero + MulMonoid + Mul + One + FromInteger + FromNat, R : IntegralHomomorphism + NatHomomorphism] Hom::from_integral() -> Hom[SemiringSig, Z, R]#deprecated("Use `Hom::from_integer` with `Section::of_integral`, or `lift_to`.")
fn[N : Nat + Integral + Semiring + AddMonoid + Add + Zero + MulMonoid + Mul + One + FromInteger + FromNat, R : NatHomomorphism] Hom::from_nat() -> Hom[SemiringSig, N, R]pub struct Reduct[S, T] {
// private fields
}pub struct Section[S, Q, A] {
// private fields
}Install
Download zipAlgebraic traits and default numeric instances that define the generic foundation for LunaFlow math packages.