dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::{
    algebraic_structure::*,
    power_semigroup::pow_semigroup,
};

pub trait PowSemigroup: Semigroup
where
    Self::S: Clone,
{
    fn pow_seimigroup(
        x: Self::S,
        exp: u64,
    ) -> Self::S {
        pow_semigroup(&Self::op, x, exp)
    }
}

impl<T: Semigroup> PowSemigroup for T where T::S: Clone {}