primal-memory-0.3.0.0: src/Data/Prim/Memory.hs
-- |
-- Module : Data.Prim.Memory
-- Copyright : (c) Alexey Kuleshevich 2020
-- License : BSD3
-- Maintainer : Alexey Kuleshevich <alexey@kuleshevi.ch>
-- Stability : experimental
-- Portability : non-portable
--
{-# LANGUAGE BangPatterns #-}
module Data.Prim.Memory
( module Data.Prim
, Pinned(..)
-- * Immutable
, Bytes
, MemRead
-- ** Size
, countMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, countRemMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, byteCountMem -- DOC: [x], DOCTEST [ ], TEST: [x]
-- ** Index
, indexOffMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, indexByteOffMem -- DOC: [x], DOCTEST [ ], TEST: [x]
-- ** Construct
, emptyMem -- DOC: [x], DOCTEST [x], TEST: [x]
, singletonMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, cycleMemN -- DOC: [x], DOCTEST [x], TEST: [ ]
, createMemST -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, createMemST_ -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, createZeroMemST -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, createZeroMemST_ -- DOC: [x], DOCTEST [x], TEST: [ ]
-- ** Copy
, cloneMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, copyMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, copyByteOffMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, copyByteOffToMBytesMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, copyByteOffToPtrMem -- DOC: [x], DOCTEST [ ], TEST: [x]
-- ** Compare
, eqMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, eqOffMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, eqByteMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, eqByteOffMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, compareMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, compareOffMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, compareByteMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, compareByteOffMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, compareByteOffToPtrMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, compareByteOffToBytesMem -- DOC: [x], DOCTEST [ ], TEST: [x]
-- ** Convert
, convertMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
-- *** To list
, toListMem -- DOC: [x], DOCTEST [x], TEST: [x]
, toListSlackMem -- DOC: [x], DOCTEST [x], TEST: [x]
, toByteListMem -- DOC: [x], DOCTEST [x], TEST: [x]
, foldrCountMem -- DOC: [x], DOCTEST [-], TEST: [-]
, showsHexMem -- DOC: [x], DOCTEST [x], TEST: [ ]
-- *** From list
, fromListMem -- DOC: [x], DOCTEST [x], TEST: [x]
, fromByteListMem -- DOC: [x], DOCTEST [x], TEST: [x]
, fromListMemN -- DOC: [x], DOCTEST [x], TEST: [x]
, fromListZeroMemN -- DOC: [x], DOCTEST [x], TEST: [ ]
, fromListZeroMemN_ -- DOC: [x], DOCTEST [x], TEST: [ ]
-- * Mutable
, MBytes
, MemWrite
, MemAlloc(FrozenMem)
, MemState(..)
-- ** Size
, getCountMutMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, getCountRemMutMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, getByteCountMutMem -- DOC: [x], DOCTEST [x], TEST: [ ]
-- ** Read
, readOffMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, readByteOffMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
-- ** Write
, writeOffMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, writeByteOffMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, setMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, modifyFetchOldMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, modifyFetchOldMutMemM -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, modifyFetchNewMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, modifyFetchNewMutMemM -- DOC: [ ], DOCTEST [ ], TEST: [ ]
-- ** Allocate
, allocMutMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, allocZeroMutMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, reallocMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, withScrubbedMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, defaultReallocMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
-- ** Thaw/Freeze
, thawCloneMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, thawCopyMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, thawMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, freezeCloneMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, freezeCopyMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, freezeMutMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
-- ** Move
, cloneMutMem -- DOC: [x], DOCTEST [ ], TEST: [-]
, moveMutMem -- DOC: [ ], DOCTEST [ ], TEST: [x]
, moveByteOffMutMem -- DOC: [x], DOCTEST [ ], TEST: [ ]
, moveByteOffToMBytesMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
, moveByteOffToPtrMutMem -- DOC: [x], DOCTEST [ ], TEST: [x]
-- ** Load list
, loadListMutMem -- DOC: [x], DOCTEST [x], TEST: [x]
, loadListMutMem_ -- DOC: [x], DOCTEST [x], TEST: [ ]
, loadListMutMemN -- DOC: [x], DOCTEST [ ], TEST: [ ]
, loadListMutMemN_ -- DOC: [x], DOCTEST [ ], TEST: [ ]
-- *** With offset
, loadListOffMutMem -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, loadListOffMutMemN -- DOC: [ ], DOCTEST [ ], TEST: [ ]
, loadListByteOffMutMem -- DOC: [x], DOCTEST [x], TEST: [ ]
, loadListByteOffMutMemN -- DOC: [x], DOCTEST [x], TEST: [ ]
) where
import Data.Prim
import Data.Prim.Memory.Internal
import Data.Prim.Memory.Fold