FieldFunctions

trait FieldFunctions[F <: ([T] =>> Field[T])] extends RingFunctions[F] with MultiplicativeGroupFunctions[F]
object Field

Value members

Concrete methods

def fromDouble[@specialized(Int, Long, Float, Double) A](n: Double)(ev: F[A]): A

Inherited methods

final def defaultFromBigInt[@specialized(Int, Long, Float, Double) A](n: BigInt)(ev: F[A]): A
Inherited from
RingFunctions
final def defaultFromDouble[A](a: Double)(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 div[@specialized(Int, Long, Float, Double) A](x: A, y: A)(ev: F[A]): A
def fromBigInt[@specialized(Int, Long, Float, Double) A](n: BigInt)(ev: F[A]): A
Inherited from
RingFunctions
def fromInt[@specialized(Int, Long, Float, Double) A](n: Int)(ev: F[A]): A
Inherited from
RingFunctions
def isAdditiveCommutative[A](ev: F[A]): Boolean
def isMultiplicativeCommutative[A](ev: F[A]): Boolean
def isOne[@specialized(Int, Long, Float, Double) A](a: A)(ev0: F[A], ev1: Eq[A]): Boolean
def isZero[@specialized(Int, Long, Float, Double) A](a: A)(ev0: F[A], ev1: Eq[A]): Boolean
def minus[@specialized(Int, Long, Float, Double) A](x: A, y: A)(ev: F[A]): A
def negate[@specialized(Int, Long, Float, Double) A](x: A)(ev: F[A]): A
def one[@specialized(Int, Long, Float, Double) A](ev: F[A]): A
def plus[@specialized(Int, Long, Float, Double) A](x: A, y: A)(ev: F[A]): A
def pow[@specialized(Int, Long, Float, Double) A](a: A, n: Int)(ev: F[A]): A
def product[@specialized(Int, Long, Float, Double) A](as: IterableOnce[A])(ev: F[A]): A
def reciprocal[@specialized(Int, Long, Float, Double) A](x: A)(ev: F[A]): A
def sum[@specialized(Int, Long, Float, Double) A](as: IterableOnce[A])(ev: F[A]): A
def sumN[@specialized(Int, Long, Float, Double) A](a: A, n: Int)(ev: F[A]): A
def times[@specialized(Int, Long, Float, Double) A](x: A, y: A)(ev: F[A]): A
def tryProduct[A](as: IterableOnce[A])(ev: F[A]): Option[A]
def trySum[A](as: IterableOnce[A])(ev: F[A]): Option[A]
def zero[@specialized(Int, Long, Float, Double) A](ev: F[A]): A