Skip to content

Commit 51f7560

Browse files
committed
Prepare reexports for creation of patterns
for unsafe unboxed vectors
1 parent 36aee16 commit 51f7560

File tree

2 files changed

+31
-29
lines changed

2 files changed

+31
-29
lines changed

vector/src/Data/Vector/Unboxed.hs

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -212,21 +212,22 @@ module Data.Vector.Unboxed (
212212
freeze, thaw, copy, unsafeFreeze, unsafeThaw, unsafeCopy,
213213

214214
-- ** Deriving via
215-
UnboxViaPrim(..),
216-
As(..),
217-
IsoUnbox(..),
218-
UnboxViaStorable(..),
215+
U.UnboxViaPrim(..),
216+
U.As(..),
217+
U.IsoUnbox(..),
218+
U.UnboxViaStorable(..),
219219

220220
-- *** /Lazy/ boxing
221-
DoNotUnboxLazy(..),
221+
U.DoNotUnboxLazy(..),
222222

223223
-- *** /Strict/ boxing
224-
DoNotUnboxStrict(..),
225-
DoNotUnboxNormalForm(..)
224+
U.DoNotUnboxStrict(..),
225+
U.DoNotUnboxNormalForm(..)
226226
) where
227227

228228
import Control.Applicative (Applicative)
229-
import Data.Vector.Unboxed.Unsafe
229+
import Data.Vector.Unboxed.Unsafe (Vector,MVector,Unbox)
230+
import qualified Data.Vector.Unboxed.Unsafe as U
230231
import qualified Data.Vector.Generic as G
231232
import qualified Data.Vector.Fusion.Bundle as Bundle
232233
import Data.Vector.Fusion.Util ( delayed_min )
@@ -2175,7 +2176,7 @@ copy = G.copy
21752176
-- | /O(1)/ Zip 2 vectors.
21762177
zip :: (Unbox a, Unbox b) => Vector a -> Vector b -> Vector (a, b)
21772178
{-# INLINE_FUSED zip #-}
2178-
zip as bs = V_2 len (unsafeSlice 0 len as) (unsafeSlice 0 len bs)
2179+
zip as bs = U.V_2 len (unsafeSlice 0 len as) (unsafeSlice 0 len bs)
21792180
where len = length as `delayed_min` length bs
21802181
{-# RULES "stream/zip [Vector.Unboxed]" forall as bs .
21812182
G.stream (zip as bs) = Bundle.zipWith (,) (G.stream as)
@@ -2185,14 +2186,14 @@ zip as bs = V_2 len (unsafeSlice 0 len as) (unsafeSlice 0 len bs)
21852186
unzip :: (Unbox a, Unbox b) => Vector (a, b) -> (Vector a,
21862187
Vector b)
21872188
{-# INLINE unzip #-}
2188-
unzip (V_2 _ as bs) = (as, bs)
2189+
unzip (U.V_2 _ as bs) = (as, bs)
21892190

21902191
-- | /O(1)/ Zip 3 vectors.
21912192
zip3 :: (Unbox a, Unbox b, Unbox c) => Vector a ->
21922193
Vector b ->
21932194
Vector c -> Vector (a, b, c)
21942195
{-# INLINE_FUSED zip3 #-}
2195-
zip3 as bs cs = V_3 len (unsafeSlice 0 len as)
2196+
zip3 as bs cs = U.V_3 len (unsafeSlice 0 len as)
21962197
(unsafeSlice 0 len bs)
21972198
(unsafeSlice 0 len cs)
21982199
where
@@ -2207,15 +2208,15 @@ unzip3 :: (Unbox a,
22072208
Unbox b,
22082209
Unbox c) => Vector (a, b, c) -> (Vector a, Vector b, Vector c)
22092210
{-# INLINE unzip3 #-}
2210-
unzip3 (V_3 _ as bs cs) = (as, bs, cs)
2211+
unzip3 (U.V_3 _ as bs cs) = (as, bs, cs)
22112212

22122213
-- | /O(1)/ Zip 4 vectors.
22132214
zip4 :: (Unbox a, Unbox b, Unbox c, Unbox d) => Vector a ->
22142215
Vector b ->
22152216
Vector c ->
22162217
Vector d -> Vector (a, b, c, d)
22172218
{-# INLINE_FUSED zip4 #-}
2218-
zip4 as bs cs ds = V_4 len (unsafeSlice 0 len as)
2219+
zip4 as bs cs ds = U.V_4 len (unsafeSlice 0 len as)
22192220
(unsafeSlice 0 len bs)
22202221
(unsafeSlice 0 len cs)
22212222
(unsafeSlice 0 len ds)
@@ -2239,7 +2240,7 @@ unzip4 :: (Unbox a,
22392240
Vector c,
22402241
Vector d)
22412242
{-# INLINE unzip4 #-}
2242-
unzip4 (V_4 _ as bs cs ds) = (as, bs, cs, ds)
2243+
unzip4 (U.V_4 _ as bs cs ds) = (as, bs, cs, ds)
22432244

22442245
-- | /O(1)/ Zip 5 vectors.
22452246
zip5 :: (Unbox a,
@@ -2252,7 +2253,7 @@ zip5 :: (Unbox a,
22522253
Vector d ->
22532254
Vector e -> Vector (a, b, c, d, e)
22542255
{-# INLINE_FUSED zip5 #-}
2255-
zip5 as bs cs ds es = V_5 len (unsafeSlice 0 len as)
2256+
zip5 as bs cs ds es = U.V_5 len (unsafeSlice 0 len as)
22562257
(unsafeSlice 0 len bs)
22572258
(unsafeSlice 0 len cs)
22582259
(unsafeSlice 0 len ds)
@@ -2285,7 +2286,7 @@ unzip5 :: (Unbox a,
22852286
Vector d,
22862287
Vector e)
22872288
{-# INLINE unzip5 #-}
2288-
unzip5 (V_5 _ as bs cs ds es) = (as, bs, cs, ds, es)
2289+
unzip5 (U.V_5 _ as bs cs ds es) = (as, bs, cs, ds, es)
22892290

22902291
-- | /O(1)/ Zip 6 vectors.
22912292
zip6 :: (Unbox a,
@@ -2300,7 +2301,7 @@ zip6 :: (Unbox a,
23002301
Vector e ->
23012302
Vector f -> Vector (a, b, c, d, e, f)
23022303
{-# INLINE_FUSED zip6 #-}
2303-
zip6 as bs cs ds es fs = V_6 len (unsafeSlice 0 len as)
2304+
zip6 as bs cs ds es fs = U.V_6 len (unsafeSlice 0 len as)
23042305
(unsafeSlice 0 len bs)
23052306
(unsafeSlice 0 len cs)
23062307
(unsafeSlice 0 len ds)
@@ -2339,7 +2340,7 @@ unzip6 :: (Unbox a,
23392340
Vector e,
23402341
Vector f)
23412342
{-# INLINE unzip6 #-}
2342-
unzip6 (V_6 _ as bs cs ds es fs) = (as, bs, cs, ds, es, fs)
2343+
unzip6 (U.V_6 _ as bs cs ds es fs) = (as, bs, cs, ds, es, fs)
23432344

23442345

23452346
-- $setup

vector/src/Data/Vector/Unboxed/Mutable.hs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ module Data.Vector.Unboxed.Mutable (
6868
PrimMonad, PrimState, RealWorld
6969
) where
7070

71-
import Data.Vector.Unboxed.Unsafe
71+
import Data.Vector.Unboxed.Unsafe (MVector, STVector,Unbox,IOVector)
72+
import qualified Data.Vector.Unboxed.Unsafe as U
7273
import qualified Data.Vector.Generic.Mutable as G
7374
import Data.Vector.Fusion.Util ( delayed_min )
7475
import Control.Monad.Primitive
@@ -671,20 +672,20 @@ ifoldrM' = G.ifoldrM'
671672
zip :: (Unbox a, Unbox b) => MVector s a ->
672673
MVector s b -> MVector s (a, b)
673674
{-# INLINE_FUSED zip #-}
674-
zip as bs = MV_2 len (unsafeSlice 0 len as) (unsafeSlice 0 len bs)
675+
zip as bs = U.MV_2 len (unsafeSlice 0 len as) (unsafeSlice 0 len bs)
675676
where len = length as `delayed_min` length bs
676677
-- | /O(1)/ Unzip 2 vectors.
677678
unzip :: (Unbox a, Unbox b) => MVector s (a, b) -> (MVector s a,
678679
MVector s b)
679680
{-# INLINE unzip #-}
680-
unzip (MV_2 _ as bs) = (as, bs)
681+
unzip (U.MV_2 _ as bs) = (as, bs)
681682

682683
-- | /O(1)/ Zip 3 vectors.
683684
zip3 :: (Unbox a, Unbox b, Unbox c) => MVector s a ->
684685
MVector s b ->
685686
MVector s c -> MVector s (a, b, c)
686687
{-# INLINE_FUSED zip3 #-}
687-
zip3 as bs cs = MV_3 len (unsafeSlice 0 len as)
688+
zip3 as bs cs = U.MV_3 len (unsafeSlice 0 len as)
688689
(unsafeSlice 0 len bs)
689690
(unsafeSlice 0 len cs)
690691
where
@@ -696,15 +697,15 @@ unzip3 :: (Unbox a,
696697
MVector s b,
697698
MVector s c)
698699
{-# INLINE unzip3 #-}
699-
unzip3 (MV_3 _ as bs cs) = (as, bs, cs)
700+
unzip3 (U.MV_3 _ as bs cs) = (as, bs, cs)
700701

701702
-- | /O(1)/ Zip 4 vectors.
702703
zip4 :: (Unbox a, Unbox b, Unbox c, Unbox d) => MVector s a ->
703704
MVector s b ->
704705
MVector s c ->
705706
MVector s d -> MVector s (a, b, c, d)
706707
{-# INLINE_FUSED zip4 #-}
707-
zip4 as bs cs ds = MV_4 len (unsafeSlice 0 len as)
708+
zip4 as bs cs ds = U.MV_4 len (unsafeSlice 0 len as)
708709
(unsafeSlice 0 len bs)
709710
(unsafeSlice 0 len cs)
710711
(unsafeSlice 0 len ds)
@@ -722,7 +723,7 @@ unzip4 :: (Unbox a,
722723
MVector s c,
723724
MVector s d)
724725
{-# INLINE unzip4 #-}
725-
unzip4 (MV_4 _ as bs cs ds) = (as, bs, cs, ds)
726+
unzip4 (U.MV_4 _ as bs cs ds) = (as, bs, cs, ds)
726727

727728
-- | /O(1)/ Zip 5 vectors.
728729
zip5 :: (Unbox a,
@@ -735,7 +736,7 @@ zip5 :: (Unbox a,
735736
MVector s d ->
736737
MVector s e -> MVector s (a, b, c, d, e)
737738
{-# INLINE_FUSED zip5 #-}
738-
zip5 as bs cs ds es = MV_5 len (unsafeSlice 0 len as)
739+
zip5 as bs cs ds es = U.MV_5 len (unsafeSlice 0 len as)
739740
(unsafeSlice 0 len bs)
740741
(unsafeSlice 0 len cs)
741742
(unsafeSlice 0 len ds)
@@ -757,7 +758,7 @@ unzip5 :: (Unbox a,
757758
MVector s d,
758759
MVector s e)
759760
{-# INLINE unzip5 #-}
760-
unzip5 (MV_5 _ as bs cs ds es) = (as, bs, cs, ds, es)
761+
unzip5 (U.MV_5 _ as bs cs ds es) = (as, bs, cs, ds, es)
761762

762763
-- | /O(1)/ Zip 6 vectors.
763764
zip6 :: (Unbox a,
@@ -772,7 +773,7 @@ zip6 :: (Unbox a,
772773
MVector s e ->
773774
MVector s f -> MVector s (a, b, c, d, e, f)
774775
{-# INLINE_FUSED zip6 #-}
775-
zip6 as bs cs ds es fs = MV_6 len (unsafeSlice 0 len as)
776+
zip6 as bs cs ds es fs = U.MV_6 len (unsafeSlice 0 len as)
776777
(unsafeSlice 0 len bs)
777778
(unsafeSlice 0 len cs)
778779
(unsafeSlice 0 len ds)
@@ -798,7 +799,7 @@ unzip6 :: (Unbox a,
798799
MVector s e,
799800
MVector s f)
800801
{-# INLINE unzip6 #-}
801-
unzip6 (MV_6 _ as bs cs ds es fs) = (as, bs, cs, ds, es, fs)
802+
unzip6 (U.MV_6 _ as bs cs ds es fs) = (as, bs, cs, ds, es, fs)
802803

803804
-- $setup
804805
-- >>> import Prelude (Char, (*), ($))

0 commit comments

Comments
 (0)