TolerantNumerics

Provides Equality and Equivalence instances for Numeric types that compare for equality with a given tolerance.

Here's an example:

scala> import org.scalactic._
import org.scalactic._

scala> import TripleEquals._
import TripleEquals._

scala> 2.001 === 2.0
res0: Boolean = false

scala> implicit val doubleEquality = TolerantNumerics.tolerantDoubleEquality(0.01)
doubleEquality: org.scalactic.Equality[Double] = org.scalactic.TolerantNumerics$$anon$1@16c2bd13

scala> 2.001 === 2.0
res1: Boolean = true
Companion:
object
Source:
TolerantNumerics.scala
class Object
trait Matchable
class Any
object TolerantNumerics.type

Value members

Concrete methods

def tolerantByteEquality(tolerance: Byte): Equality[Byte]

Provides an Equality instance for Bytes that compares for equality with the passed tolerance.

Provides an Equality instance for Bytes that compares for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Bytes.

Returns:

an Equality that compares Bytes using the passed tolerance.

Source:
TolerantNumerics.scala
def tolerantDoubleEquality(tolerance: Double): Equality[Double]

Provides an Equality instance for Doubles that compares for equality with the passed tolerance.

Provides an Equality instance for Doubles that compares for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Doubles.

Returns:

an Equality that compares Doubles using the passed tolerance.

Source:
TolerantNumerics.scala
def tolerantEquivalence[N : Numeric](tolerance: N): Equivalence[N]

Provides an Equivalence[N] instance for any type for which a Numeric[N] is available that compares Ns for equality with the passed tolerance.

Provides an Equivalence[N] instance for any type for which a Numeric[N] is available that compares Ns for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Numerics.

Returns:

an Equivalence that compares Numerics using the passed tolerance.

Source:
TolerantNumerics.scala
def tolerantFloatEquality(tolerance: Float): Equality[Float]

Provides an Equality instance for Floats that compares for equality with the passed tolerance.

Provides an Equality instance for Floats that compares for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Floats.

Returns:

an Equality that compares Floats using the passed tolerance.

Source:
TolerantNumerics.scala
def tolerantIntEquality(tolerance: Int): Equality[Int]

Provides an Equality instance for Ints that compares for equality with the passed tolerance.

Provides an Equality instance for Ints that compares for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Ints.

Returns:

an Equality that compares Ints using the passed tolerance.

Source:
TolerantNumerics.scala
def tolerantLongEquality(tolerance: Long): Equality[Long]

Provides an Equality instance for Longs that compares for equality with the passed tolerance.

Provides an Equality instance for Longs that compares for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Longs.

Returns:

an Equality that compares Longs using the passed tolerance.

Source:
TolerantNumerics.scala
def tolerantShortEquality(tolerance: Short): Equality[Short]

Provides an Equality instance for Shorts that compares for equality with the passed tolerance.

Provides an Equality instance for Shorts that compares for equality with the passed tolerance.

Value parameters:
tolerance

the tolerance with which the returned Equality will compare Shorts.

Returns:

an Equality that compares Shorts using the passed tolerance.

Source:
TolerantNumerics.scala