on master help sign in
Add `compareSize`.
commit2be75d4e61a07a55a69b5a45c612a1e82fa15d45 authorEdward Kmett <ekmett@gmail.com> dateFri 4 Apr 2014, 08:18 (13 years ago) parentf4fc30c
1 file changed+9
Data/Text/Internal/Fusion/Size.hs+9
Data/Text/Internal/Fusion/Size.hs+9
@@ -28,6 +28,7 @@ module Data.Text.Internal.Fusion.Size
2828 , larger
2929 , upperBound
3030 , lowerBound
31+ , compareSize
3132 , isEmpty
3233 ) where
3334
@@ -144,6 +145,14 @@ lowerBound _ (Between n _) = n
144145lowerBound k _ = k
145146{-# INLINE lowerBound #-}
146147
148+compareSize :: Size -> Int -> Maybe Ordering
149+compareSize (Between ma mb) n
150+ | mb < n = Just LT
151+ | ma > n = Just GT
152+ | ma == n && mb == n = Just EQ
153+compareSize _ _ = Nothing
154+
155+
147156isEmpty :: Size -> Bool
148157isEmpty (Between _ n) = n <= 0
149158isEmpty _ = False