{-# LANGUAGE BangPatterns, Safe #-}
module Data.RangeSet.Internal.Enum (module Data.RangeSet.Internal.Enum) where

import Prelude

import Data.RangeSet.Internal.Types (E, Size)

{-# INLINE range #-}
range :: Enum a => a -> a -> [a]
range :: a -> a -> [a]
range a
l a
u = [a
l..a
u]

{-# INLINE diffE #-}
diffE :: E -> E -> Size
diffE :: E -> E -> E
diffE !E
l !E
u = E
u E -> E -> E
forall a. Num a => a -> a -> a
- E
l E -> E -> E
forall a. Num a => a -> a -> a
+ E
1