Scalactic is brought to you by:

trait TolerantNumerics extends AnyRef

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

Source
TolerantNumerics.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TolerantNumerics
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. 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.

    tolerance

    the tolerance with which the returned Equality will compare Bytes.

    returns

    an Equality that compares Bytes using the passed tolerance.

  2. 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.

    tolerance

    the tolerance with which the returned Equality will compare Doubles.

    returns

    an Equality that compares Doubles using the passed tolerance.

  3. def tolerantEquivalence[N](tolerance: N)(implicit arg0: Numeric[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.

    tolerance

    the tolerance with which the returned Equality will compare Numerics.

    returns

    an Equivalence that compares Numerics using the passed tolerance.

  4. 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.

    tolerance

    the tolerance with which the returned Equality will compare Floats.

    returns

    an Equality that compares Floats using the passed tolerance.

  5. 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.

    tolerance

    the tolerance with which the returned Equality will compare Ints.

    returns

    an Equality that compares Ints using the passed tolerance.

  6. 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.

    tolerance

    the tolerance with which the returned Equality will compare Longs.

    returns

    an Equality that compares Longs using the passed tolerance.

  7. 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.

    tolerance

    the tolerance with which the returned Equality will compare Shorts.

    returns

    an Equality that compares Shorts using the passed tolerance.