@@ -44,6 +44,10 @@ module Streamly.Internal.Data.Array.Type
44 -- * Split
44 -- * Split
47 -- * Elimination
51 -- * Elimination
48 , unsafeIndexIO
52 , unsafeIndexIO
49 , getIndexUnsafe
53 , getIndexUnsafe
@@ -303,6 +307,18 @@ fromStreamD :: forall m a. (MonadIO m, Unbox a)
303 => D.Stream m a -> m (Array a)
307 => D.Stream m a -> m (Array a)
304fromStreamD str = unsafeFreeze <$> MA.fromStreamD str
308fromStreamD str = unsafeFreeze <$> MA.fromStreamD str
310+-------------------------------------------------------------------------------
312+-------------------------------------------------------------------------------
315+clone :: MonadIO m => Array a -> m (Array a)
316+clone = fmap unsafeFreeze . MA.clone . unsafeThaw
318+{-# INLINE pinnedClone #-}
319+pinnedClone :: MonadIO m => Array a -> m (Array a)
320+pinnedClone = fmap unsafeFreeze . MA.pinnedClone . unsafeThaw
306-------------------------------------------------------------------------------
322-------------------------------------------------------------------------------
307-- Streams of arrays
323-- Streams of arrays
308-------------------------------------------------------------------------------
324-------------------------------------------------------------------------------