rio-0.1.10.0: src/RIO/Vector/Unboxed.hs
{-# LANGUAGE CPP #-}
-- | Unboxed @Vector@. Import as:
--
-- > import qualified RIO.Vector.Unboxed as VU
--
-- This module does not export any partial or unsafe functions. For those, see
-- "RIO.Vector.Unboxed.Partial" and "RIO.Vector.Unboxed.Unsafe"
module RIO.Vector.Unboxed
(
-- * Unboxed vectors
Data.Vector.Unboxed.Vector
, Data.Vector.Unboxed.MVector(..)
, Data.Vector.Unboxed.Unbox
-- * Accessors
-- ** Length information
, Data.Vector.Unboxed.length
, Data.Vector.Unboxed.null
-- ** Indexing
, (Data.Vector.Unboxed.!?)
-- ** Extracting subvectors
, Data.Vector.Unboxed.slice
, Data.Vector.Unboxed.take
, Data.Vector.Unboxed.drop
, Data.Vector.Unboxed.splitAt
-- * Construction
-- ** Initialisation
, Data.Vector.Unboxed.empty
, Data.Vector.Unboxed.singleton
, Data.Vector.Unboxed.replicate
, Data.Vector.Unboxed.generate
, Data.Vector.Unboxed.iterateN
-- ** Monadic initialisation
, Data.Vector.Unboxed.replicateM
, Data.Vector.Unboxed.generateM
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.Unboxed.iterateNM
#endif
, Data.Vector.Unboxed.create
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.Unboxed.createT
#endif
-- ** Unfolding
, Data.Vector.Unboxed.unfoldr
, Data.Vector.Unboxed.unfoldrN
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.Unboxed.unfoldrM
, Data.Vector.Unboxed.unfoldrNM
#endif
, Data.Vector.Unboxed.constructN
, Data.Vector.Unboxed.constructrN
-- ** Enumeration
, Data.Vector.Unboxed.enumFromN
, Data.Vector.Unboxed.enumFromStepN
, Data.Vector.Unboxed.enumFromTo
, Data.Vector.Unboxed.enumFromThenTo
-- ** Concatenation
, Data.Vector.Unboxed.cons
, Data.Vector.Unboxed.snoc
, (Data.Vector.Unboxed.++)
, Data.Vector.Unboxed.concat
-- ** Restricting memory usage
, Data.Vector.Unboxed.force
-- * Modifying vectors
-- ** Permutations
, Data.Vector.Unboxed.reverse
-- ** Safe destructive update
, Data.Vector.Unboxed.modify
-- * Elementwise operations
-- ** Indexing
, Data.Vector.Unboxed.indexed
-- ** Mapping
, Data.Vector.Unboxed.map
, Data.Vector.Unboxed.imap
, Data.Vector.Unboxed.concatMap
-- ** Monadic mapping
, Data.Vector.Unboxed.mapM
, Data.Vector.Unboxed.imapM
, Data.Vector.Unboxed.mapM_
, Data.Vector.Unboxed.imapM_
, Data.Vector.Unboxed.forM
, Data.Vector.Unboxed.forM_
-- ** Zipping
, Data.Vector.Unboxed.zipWith
, Data.Vector.Unboxed.zipWith3
, Data.Vector.Unboxed.zipWith4
, Data.Vector.Unboxed.zipWith5
, Data.Vector.Unboxed.zipWith6
, Data.Vector.Unboxed.izipWith
, Data.Vector.Unboxed.izipWith3
, Data.Vector.Unboxed.izipWith4
, Data.Vector.Unboxed.izipWith5
, Data.Vector.Unboxed.izipWith6
, Data.Vector.Unboxed.zip
, Data.Vector.Unboxed.zip3
, Data.Vector.Unboxed.zip4
, Data.Vector.Unboxed.zip5
, Data.Vector.Unboxed.zip6
-- ** Monadic zipping
, Data.Vector.Unboxed.zipWithM
, Data.Vector.Unboxed.izipWithM
, Data.Vector.Unboxed.zipWithM_
, Data.Vector.Unboxed.izipWithM_
-- ** Unzipping
, Data.Vector.Unboxed.unzip
, Data.Vector.Unboxed.unzip3
, Data.Vector.Unboxed.unzip4
, Data.Vector.Unboxed.unzip5
, Data.Vector.Unboxed.unzip6
-- * Working with predicates
-- ** Filtering
, Data.Vector.Unboxed.filter
, Data.Vector.Unboxed.ifilter
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.Unboxed.uniq
, Data.Vector.Unboxed.mapMaybe
, Data.Vector.Unboxed.imapMaybe
#endif
, Data.Vector.Unboxed.filterM
, Data.Vector.Unboxed.takeWhile
, Data.Vector.Unboxed.dropWhile
-- ** Partitioning
, Data.Vector.Unboxed.partition
, Data.Vector.Unboxed.unstablePartition
, Data.Vector.Unboxed.span
, Data.Vector.Unboxed.break
-- ** Searching
, Data.Vector.Unboxed.elem
, Data.Vector.Unboxed.notElem
, Data.Vector.Unboxed.find
, Data.Vector.Unboxed.findIndex
, Data.Vector.Unboxed.findIndices
, Data.Vector.Unboxed.elemIndex
, Data.Vector.Unboxed.elemIndices
-- * Folding
, Data.Vector.Unboxed.foldl
, Data.Vector.Unboxed.foldl'
, Data.Vector.Unboxed.foldr
, Data.Vector.Unboxed.foldr'
, Data.Vector.Unboxed.ifoldl
, Data.Vector.Unboxed.ifoldl'
, Data.Vector.Unboxed.ifoldr
, Data.Vector.Unboxed.ifoldr'
-- ** Specialised folds
, Data.Vector.Unboxed.all
, Data.Vector.Unboxed.any
, Data.Vector.Unboxed.and
, Data.Vector.Unboxed.or
, Data.Vector.Unboxed.sum
, Data.Vector.Unboxed.product
-- ** Monadic folds
, Data.Vector.Unboxed.foldM
, Data.Vector.Unboxed.ifoldM
, Data.Vector.Unboxed.foldM'
, Data.Vector.Unboxed.ifoldM'
, Data.Vector.Unboxed.foldM_
, Data.Vector.Unboxed.ifoldM_
, Data.Vector.Unboxed.foldM'_
, Data.Vector.Unboxed.ifoldM'_
-- * Prefix sums (scans)
, Data.Vector.Unboxed.prescanl
, Data.Vector.Unboxed.prescanl'
, Data.Vector.Unboxed.postscanl
, Data.Vector.Unboxed.postscanl'
, Data.Vector.Unboxed.scanl
, Data.Vector.Unboxed.scanl'
, Data.Vector.Unboxed.prescanr
, Data.Vector.Unboxed.prescanr'
, Data.Vector.Unboxed.postscanr
, Data.Vector.Unboxed.postscanr'
, Data.Vector.Unboxed.scanr
, Data.Vector.Unboxed.scanr'
-- * Conversions
-- ** Lists
, Data.Vector.Unboxed.toList
, Data.Vector.Unboxed.fromList
, Data.Vector.Unboxed.fromListN
-- ** Different vector types
, Data.Vector.Unboxed.convert
-- ** Mutable vectors
, Data.Vector.Unboxed.freeze
, Data.Vector.Unboxed.thaw
, Data.Vector.Unboxed.copy
) where
import qualified Data.Vector.Unboxed