1//! 演算を定義するトレイト 2 3/// 累乗 4pub trait Pow { 5 /// `pow`の結果の型 6 type Output; 7 /// `self`の`p`乗を求める。 8 fn pow(self, p: u64) -> Self::Output; 9} 10 11/// 乗法の逆元 12pub trait Inv { 13 /// `inv`の結果の型 14 type Output; 15 /// `self`の乗法の逆元を求める。 16 fn inv(self) -> Self::Output; 17}