Skip to content

Commit

Permalink
Close #72 - [core] Add NegFloat, NonNegFloat, PosFloat and NonPosFloa…
Browse files Browse the repository at this point in the history
…t to numeric package
  • Loading branch information
kevin-lee committed Dec 8, 2023
1 parent 5db1f94 commit 65e46b4
Show file tree
Hide file tree
Showing 2 changed files with 490 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,37 @@ trait numeric {

}

type NegFloat = NegFloat.Type
object NegFloat extends Numeric[Float] {
override inline def invalidReason(a: Float): String = expectedMessage("a negative Float")

override inline def predicate(a: Float): Boolean = a < 0f

}

type NonNegFloat = NonNegFloat.Type
object NonNegFloat extends Numeric[Float] {
override inline def invalidReason(a: Float): String = expectedMessage("a non-negative Float")

override inline def predicate(a: Float): Boolean = a >= 0f

}

type PosFloat = PosFloat.Type
object PosFloat extends Numeric[Float] {
override inline def invalidReason(a: Float): String = expectedMessage("a positive Float")

override inline def predicate(a: Float): Boolean = a > 0f

}

type NonPosFloat = NonPosFloat.Type
object NonPosFloat extends Numeric[Float] {
override inline def invalidReason(a: Float): String = expectedMessage("a non-positive Float")

override inline def predicate(a: Float): Boolean = a <= 0f

}

}
object numeric extends numeric
Loading

0 comments on commit 65e46b4

Please sign in to comment.