1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use algebra::abstr::Semiring;
use std::ops::Neg;

/// Ring
///
///<a href="https://en.wikipedia.org/wiki/Ring_(mathematics)">https://en.wikipedia.org/wiki/Ring_(mathematics)</a>
pub trait Ring: Semiring + Neg<Output = Self>
{
	/// Absolute value
	fn abs(self: &Self) -> Self;
}