object numeric extends NumericValidate with NumericInference
Module for numeric predicates. Predicates that take type parameters
support both shapeless' natural numbers (Nat) and numeric singleton
types (which are made available by shapeless' Witness - abbreviated
as W in refined) which include subtypes of Int, Long,
Double, Char etc.
Example:
scala> import eu.timepit.refined.api.Refined | import eu.timepit.refined.numeric.Greater | import shapeless.nat._5 scala> refineMV[Greater[_5]](10) res1: Int Refined Greater[_5] = 10 scala> refineMV[Greater[W.`1.5`.T]](1.6) res2: Double Refined Greater[W.`1.5`.T] = 1.6
Note: generic.Equal can also be used for numeric types.
- Source
- numeric.scala
- Alphabetic
- By Inheritance
- numeric
- NumericInference
- NumericValidate
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
final
case class
Greater
[N](n: N) extends Product with Serializable
Predicate that checks if a numeric value is greater than
N. -
type
GreaterEqual[N] = Not[Less[N]]
Predicate that checks if a numeric value is greater than or equal to
N. -
final
case class
Less
[N](n: N) extends Product with Serializable
Predicate that checks if a numeric value is less than
N. -
type
LessEqual[N] = Not[Greater[N]]
Predicate that checks if a numeric value is less than or equal to
N. -
type
Negative = Less[_0]
Predicate that checks if a numeric value is negative (< 0).
-
type
NonNegative = Not[Negative]
Predicate that checks if a numeric value is zero or positive (>= 0).
-
type
NonPositive = Not[Positive]
Predicate that checks if a numeric value is zero or negative (<= 0).
-
type
Positive = Greater[_0]
Predicate that checks if a numeric value is positive (> 0).
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
implicit
def
greaterInferenceNat[A <: Nat, B <: Nat](implicit ta: ToInt[A], tb: ToInt[B]): ==>[Greater[A], Greater[B]]
- Definition Classes
- NumericInference
-
implicit
def
greaterInferenceWit[C, A <: C, B <: C](implicit wa: Aux[A], wb: Aux[B], nc: Numeric[C]): ==>[Greater[A], Greater[B]]
- Definition Classes
- NumericInference
-
implicit
def
greaterInferenceWitNat[C, A <: C, B <: Nat](implicit wa: Aux[A], tb: ToInt[B], nc: Numeric[C]): ==>[Greater[A], Greater[B]]
- Definition Classes
- NumericInference
-
implicit
def
greaterValidateNat[N <: Nat, T](implicit tn: ToInt[N], wn: Aux[N], nt: Numeric[T]): Plain[T, Greater[N]]
- Definition Classes
- NumericValidate
-
implicit
def
greaterValidateWit[T, N <: T](implicit wn: Aux[N], nt: Numeric[T]): Plain[T, Greater[N]]
- Definition Classes
- NumericValidate
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
implicit
def
lessInferenceNat[A <: Nat, B <: Nat](implicit ta: ToInt[A], tb: ToInt[B]): ==>[Less[A], Less[B]]
- Definition Classes
- NumericInference
-
implicit
def
lessInferenceWit[C, A <: C, B <: C](implicit wa: Aux[A], wb: Aux[B], nc: Numeric[C]): ==>[Less[A], Less[B]]
- Definition Classes
- NumericInference
-
implicit
def
lessInferenceWitNat[C, A <: C, B <: Nat](implicit wa: Aux[A], tb: ToInt[B], nc: Numeric[C]): ==>[Less[A], Less[B]]
- Definition Classes
- NumericInference
-
implicit
def
lessValidateNat[N <: Nat, T](implicit tn: ToInt[N], wn: Aux[N], nt: Numeric[T]): Plain[T, Less[N]]
- Definition Classes
- NumericValidate
-
implicit
def
lessValidateWit[T, N <: T](implicit wn: Aux[N], nt: Numeric[T]): Plain[T, Less[N]]
- Definition Classes
- NumericValidate
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- object Interval