unicode-transforms-0.2.1: Data/Unicode/Properties/BitArray.hs
-- |
-- Module : Data.Unicode.Properties.BitArray
-- Copyright : (c) 2017 Harendra Kumar
--
-- License : BSD-style
-- Maintainer : harendra.kumar@gmail.com
-- Stability : experimental
--
module Data.Unicode.Properties.BitArray
(bitArraySetBits)
where
import Control.Monad
import Control.Monad.ST
import Data.BitArray.ST
import Data.BitArray (BitArray)
-- | Initialize a bitarray with default bits as False and bits supplied in the
-- list argument set as True.
--
bitArraySetBits :: (Int,Int) -> [Int] -> BitArray
bitArraySetBits range xs = runST $ do
ar <- newBitArray range False
forM_ xs $ \i -> do
writeBit ar i True
unsafeFreezeBitArray ar