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

import Prelude

import Data.RangeSet.Internal.Types (E)

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

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