{-# 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