repa-array-4.2.2.1: Data/Repa/Array/Material/Auto/InstUnit.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.Repa.Array.Material.Auto.InstUnit where
import Data.Repa.Array.Material.Auto.Base as A
import Data.Repa.Array.Material.Boxed as A
import Data.Repa.Array.Meta.Window as A
import Data.Repa.Array.Internals.Bulk as A
import Data.Repa.Array.Internals.Target as A
#include "repa-array.h"
instance Bulk A () where
data Array A () = AArray_Unit !Int
layout (AArray_Unit len) = Auto len
index (AArray_Unit _len) _ix = ()
{-# INLINE_ARRAY layout #-}
{-# INLINE_ARRAY index #-}
deriving instance Show (Array A ())
instance Windowable A () where
window _st len' (AArray_Unit _len)
= AArray_Unit len'
instance Target A () where
data Buffer A ()
= ABuffer_Unit !Int
unsafeNewBuffer (Auto len)
= return $ ABuffer_Unit len
{-# INLINE_ARRAY unsafeNewBuffer #-}
unsafeReadBuffer (ABuffer_Unit _len) _ix
= return ()
{-# INLINE_ARRAY unsafeReadBuffer #-}
unsafeWriteBuffer (ABuffer_Unit _len) _ix _x
= return ()
{-# INLINE_ARRAY unsafeWriteBuffer #-}
unsafeGrowBuffer (ABuffer_Unit len) bump
= return $ ABuffer_Unit (len + bump)
{-# INLINE_ARRAY unsafeGrowBuffer #-}
unsafeFreezeBuffer (ABuffer_Unit len)
= return $ AArray_Unit len
{-# INLINE_ARRAY unsafeFreezeBuffer #-}
unsafeThawBuffer (AArray_Unit len)
= return $ ABuffer_Unit len
{-# INLINE_ARRAY unsafeThawBuffer #-}
unsafeSliceBuffer _st len (ABuffer_Unit _len)
= return $ ABuffer_Unit len
{-# INLINE_ARRAY unsafeSliceBuffer #-}
touchBuffer (ABuffer_Unit _len)
= return ()
{-# INLINE_ARRAY touchBuffer #-}
bufferLayout (ABuffer_Unit len)
= Auto len
{-# INLINE_ARRAY bufferLayout #-}