GCDRingFunctions

trait GCDRingFunctions[R <: (GCDRing)] extends RingFunctions[R]
trait RingFunctions[R]
trait MultiplicativeMonoidFunctions[R]
trait MultiplicativeSemigroupFunctions[R]
trait AdditiveGroupFunctions[R]
trait AdditiveMonoidFunctions[R]
trait AdditiveSemigroupFunctions[R]
class Object
trait Matchable
class Any

Value members

Concrete methods

def gcd[@specialized(Int, Long, Float, Double) A](a: A, b: A)(implicit ev: R[A], eqA: Eq[A]): A
def lcm[@specialized(Int, Long, Float, Double) A](a: A, b: A)(implicit ev: R[A], eqA: Eq[A]): A

Inherited methods

final
def defaultFromBigInt[@specialized(Int, Long, Float, Double) A](n: BigInt)(implicit ev: R[A]): A
Inherited from
RingFunctions
final
def defaultFromDouble[A](a: Double)(implicit ringA: Ring[A], mgA: MultiplicativeGroup[A]): A

Returns the given Double, understood as a rational number, in the provided (division) ring.

Returns the given Double, understood as a rational number, in the provided (division) ring.

This is implemented in terms of basic ops. However, this is probably significantly less efficient than can be done with a specific type. So, it is recommended to specialize this general method.

Inherited from
RingFunctions
def fromBigInt[@specialized(Int, Long, Float, Double) A](n: BigInt)(implicit ev: R[A]): A
Inherited from
RingFunctions
def fromInt[@specialized(Int, Long, Float, Double) A](n: Int)(implicit ev: R[A]): A
Inherited from
RingFunctions
def isAdditiveCommutative[A](implicit ev: R[A]): Boolean
Inherited from
AdditiveSemigroupFunctions
def isMultiplicativeCommutative[A](implicit ev: R[A]): Boolean
Inherited from
MultiplicativeSemigroupFunctions
def isOne[@specialized(Int, Long, Float, Double) A](a: A)(implicit ev0: R[A], ev1: Eq[A]): Boolean
Inherited from
MultiplicativeMonoidFunctions
def isZero[@specialized(Int, Long, Float, Double) A](a: A)(implicit ev0: R[A], ev1: Eq[A]): Boolean
Inherited from
AdditiveMonoidFunctions
def minus[@specialized(Int, Long, Float, Double) A](x: A, y: A)(implicit ev: R[A]): A
Inherited from
AdditiveGroupFunctions
def negate[@specialized(Int, Long, Float, Double) A](x: A)(implicit ev: R[A]): A
Inherited from
AdditiveGroupFunctions
def one[@specialized(Int, Long, Float, Double) A](implicit ev: R[A]): A
Inherited from
MultiplicativeMonoidFunctions
def plus[@specialized(Int, Long, Float, Double) A](x: A, y: A)(implicit ev: R[A]): A
Inherited from
AdditiveSemigroupFunctions
def pow[@specialized(Int, Long, Float, Double) A](a: A, n: Int)(implicit ev: R[A]): A
Inherited from
MultiplicativeSemigroupFunctions
def product[@specialized(Int, Long, Float, Double) A](as: IterableOnce[A])(implicit ev: R[A]): A
Inherited from
MultiplicativeMonoidFunctions
def sum[@specialized(Int, Long, Float, Double) A](as: IterableOnce[A])(implicit ev: R[A]): A
Inherited from
AdditiveMonoidFunctions
def sumN[@specialized(Int, Long, Float, Double) A](a: A, n: Int)(implicit ev: R[A]): A
Inherited from
AdditiveSemigroupFunctions
def times[@specialized(Int, Long, Float, Double) A](x: A, y: A)(implicit ev: R[A]): A
Inherited from
MultiplicativeSemigroupFunctions
def tryProduct[A](as: IterableOnce[A])(implicit ev: R[A]): Option[A]
Inherited from
MultiplicativeSemigroupFunctions
def trySum[A](as: IterableOnce[A])(implicit ev: R[A]): Option[A]
Inherited from
AdditiveSemigroupFunctions
def zero[@specialized(Int, Long, Float, Double) A](implicit ev: R[A]): A
Inherited from
AdditiveMonoidFunctions