primal-0.3.0.0: Primeval world of Haskell.
Copyright(c) Alexey Kuleshevich 2020
LicenseBSD3
MaintainerAlexey Kuleshevich <alexey@kuleshevi.ch>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Prim.Atomic

Description

 
Synopsis

Documentation

class (Prim a, Eq a) => Atomic a where Source #

Minimal complete definition

Nothing

Methods

atomicReadMutableByteArray# Source #

Arguments

:: MutableByteArray# s

Mutable array to read the element from

-> Int#

Offset into the array in number of elements

-> State# s 
-> (# State# s, a #) 

Read an element from MutableByteArray# atomically. Implies full memory barrier.

atomicWriteMutableByteArray# Source #

Arguments

:: MutableByteArray# s

Mutable array to write the element into

-> Int#

Offset into the array in number of elements

-> a

Element to write

-> State# s 
-> State# s 

Write an element into MutableByteArray# atomically. Implies full memory barrier.

atomicReadOffAddr# Source #

Arguments

:: Addr#

Pointer to the beginning of memory

-> Int#

Offset in number of elements from the supplied pointer

-> State# s 
-> (# State# s, a #) 

Read an element from memory atomically. Implies full memory barrier.

atomicWriteOffAddr# Source #

Arguments

:: Addr#

Pointer to the beginning of memory

-> Int#

Offset in number of elements from the supplied pointer

-> a

Element to write

-> State# s 
-> State# s 

Write an element directly into memory atomically. Implies full memory barrier.

casMutableByteArray# Source #

Arguments

:: MutableByteArray# s

Array to be mutated

-> Int#

Offset into the array in number of elements

-> a

Expected old value

-> a

New value

-> State# s

Starting state

-> (# State# s, a #) 

Compare-and-swap (CAS) operation. Given a mutable array, offset in number of elements, an old value and a new value atomically swap the old value for the new one, but only if the actual old value was an exact match to the expetced old one that was supplied. Returns the actual old value, which if compared to supplied expected one will tell us whether atomic swap occured or not.

default casMutableByteArray# :: Atomic (PrimBase a) => MutableByteArray# s -> Int# -> a -> a -> State# s -> (# State# s, a #) Source #

casOffAddr# :: Addr# -> Int# -> a -> a -> State# s -> (# State# s, a #) Source #

default casOffAddr# :: Atomic (PrimBase a) => Addr# -> Int# -> a -> a -> State# s -> (# State# s, a #) Source #

casBoolMutableByteArray# Source #

Arguments

:: MutableByteArray# s

Array to be mutated

-> Int#

Offset into the array in number of elements

-> a

Expected old value

-> a

New value

-> State# s

Starting state

-> (# State# s, Bool #) 

default casBoolMutableByteArray# :: Atomic (PrimBase a) => MutableByteArray# s -> Int# -> a -> a -> State# s -> (# State# s, Bool #) Source #

casBoolOffAddr# :: Addr# -> Int# -> a -> a -> State# s -> (# State# s, Bool #) Source #

default casBoolOffAddr# :: Atomic (PrimBase a) => Addr# -> Int# -> a -> a -> State# s -> (# State# s, Bool #) Source #

atomicModifyMutableByteArray# Source #

Arguments

:: MutableByteArray# s

Array to be mutated

-> Int#

Index in number of Int# elements into the MutableByteArray#

-> (a -> (# a, b #))

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, b #) 

Using casMutableByteArray# perform atomic modification of an element in a MutableByteArray#. This is essentially an implementation of a spinlock using CAS.

Since: 0.1.0

atomicModifyOffAddr# Source #

Arguments

:: Addr#

Array to be mutated

-> Int#

Index in number of Int# elements into the OffAddr#

-> (a -> (# a, b #))

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, b #) 

Using casOffAddr# perform atomic modification of an element in a OffAddr#. This is essentially an implementation of a spinlock using CAS.

Since: 0.1.0

Instances

Instances details
Atomic Bool Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Char Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Int Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Int8 Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Int16 Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Int32 Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Int64 Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Atomic Ordering Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Word Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Word8 Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Word16 Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Word32 Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Word64 Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Atomic BlockReason Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic ThreadStatus Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Fd Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Errno Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Newline Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic NewlineMode Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic IODeviceType Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic SeekMode Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic All Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic Any Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CChar Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CSChar Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CUChar Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CShort Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CUShort Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CInt Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CUInt Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CLong Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CULong Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CLLong Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Atomic CULLong Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Atomic CBool Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CPtrdiff Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CSize Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CWchar Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CSigAtomic Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CIntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CUIntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CIntMax Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic CUIntMax Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic WordPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic IntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic IOMode Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic GeneralCategory Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic (Ptr a) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicReadMutableByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Ptr a #) Source #

atomicWriteMutableByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> State# s -> State# s Source #

atomicReadOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Ptr a #) Source #

atomicWriteOffAddr# :: Addr# -> Int# -> Ptr a -> State# s -> State# s Source #

casMutableByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> Ptr a -> State# s -> (# State# s, Ptr a #) Source #

casOffAddr# :: Addr# -> Int# -> Ptr a -> Ptr a -> State# s -> (# State# s, Ptr a #) Source #

casBoolMutableByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> Ptr a -> State# s -> (# State# s, Bool #) Source #

casBoolOffAddr# :: Addr# -> Int# -> Ptr a -> Ptr a -> State# s -> (# State# s, Bool #) Source #

atomicModifyMutableByteArray# :: MutableByteArray# s -> Int# -> (Ptr a -> (# Ptr a, b #)) -> State# s -> (# State# s, b #) Source #

atomicModifyOffAddr# :: Addr# -> Int# -> (Ptr a -> (# Ptr a, b #)) -> State# s -> (# State# s, b #) Source #

Atomic (FunPtr a) Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic a => Atomic (Min a) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicReadMutableByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Min a #) Source #

atomicWriteMutableByteArray# :: MutableByteArray# s -> Int# -> Min a -> State# s -> State# s Source #

atomicReadOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Min a #) Source #

atomicWriteOffAddr# :: Addr# -> Int# -> Min a -> State# s -> State# s Source #

casMutableByteArray# :: MutableByteArray# s -> Int# -> Min a -> Min a -> State# s -> (# State# s, Min a #) Source #

casOffAddr# :: Addr# -> Int# -> Min a -> Min a -> State# s -> (# State# s, Min a #) Source #

casBoolMutableByteArray# :: MutableByteArray# s -> Int# -> Min a -> Min a -> State# s -> (# State# s, Bool #) Source #

casBoolOffAddr# :: Addr# -> Int# -> Min a -> Min a -> State# s -> (# State# s, Bool #) Source #

atomicModifyMutableByteArray# :: MutableByteArray# s -> Int# -> (Min a -> (# Min a, b #)) -> State# s -> (# State# s, b #) Source #

atomicModifyOffAddr# :: Addr# -> Int# -> (Min a -> (# Min a, b #)) -> State# s -> (# State# s, b #) Source #

Atomic a => Atomic (Max a) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicReadMutableByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Max a #) Source #

atomicWriteMutableByteArray# :: MutableByteArray# s -> Int# -> Max a -> State# s -> State# s Source #

atomicReadOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Max a #) Source #

atomicWriteOffAddr# :: Addr# -> Int# -> Max a -> State# s -> State# s Source #

casMutableByteArray# :: MutableByteArray# s -> Int# -> Max a -> Max a -> State# s -> (# State# s, Max a #) Source #

casOffAddr# :: Addr# -> Int# -> Max a -> Max a -> State# s -> (# State# s, Max a #) Source #

casBoolMutableByteArray# :: MutableByteArray# s -> Int# -> Max a -> Max a -> State# s -> (# State# s, Bool #) Source #

casBoolOffAddr# :: Addr# -> Int# -> Max a -> Max a -> State# s -> (# State# s, Bool #) Source #

atomicModifyMutableByteArray# :: MutableByteArray# s -> Int# -> (Max a -> (# Max a, b #)) -> State# s -> (# State# s, b #) Source #

atomicModifyOffAddr# :: Addr# -> Int# -> (Max a -> (# Max a, b #)) -> State# s -> (# State# s, b #) Source #

Atomic a => Atomic (First a) Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic a => Atomic (Last a) Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic a => Atomic (Identity a) Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic a => Atomic (Dual a) Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic a => Atomic (Sum a) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicReadMutableByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Sum a #) Source #

atomicWriteMutableByteArray# :: MutableByteArray# s -> Int# -> Sum a -> State# s -> State# s Source #

atomicReadOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Sum a #) Source #

atomicWriteOffAddr# :: Addr# -> Int# -> Sum a -> State# s -> State# s Source #

casMutableByteArray# :: MutableByteArray# s -> Int# -> Sum a -> Sum a -> State# s -> (# State# s, Sum a #) Source #

casOffAddr# :: Addr# -> Int# -> Sum a -> Sum a -> State# s -> (# State# s, Sum a #) Source #

casBoolMutableByteArray# :: MutableByteArray# s -> Int# -> Sum a -> Sum a -> State# s -> (# State# s, Bool #) Source #

casBoolOffAddr# :: Addr# -> Int# -> Sum a -> Sum a -> State# s -> (# State# s, Bool #) Source #

atomicModifyMutableByteArray# :: MutableByteArray# s -> Int# -> (Sum a -> (# Sum a, b #)) -> State# s -> (# State# s, b #) Source #

atomicModifyOffAddr# :: Addr# -> Int# -> (Sum a -> (# Sum a, b #)) -> State# s -> (# State# s, b #) Source #

Atomic a => Atomic (Product a) Source # 
Instance details

Defined in Data.Prim.Atomic

Atomic a => Atomic (Down a) Source # 
Instance details

Defined in Data.Prim.Atomic

(Eq a, Prim a) => Atomic (Atom a) Source # 
Instance details

Defined in Data.Prim.Atom

Atomic a => Atomic (Const a b) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicReadMutableByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Const a b #) Source #

atomicWriteMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> State# s Source #

atomicReadOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Const a b #) Source #

atomicWriteOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> State# s Source #

casMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> Const a b -> State# s -> (# State# s, Const a b #) Source #

casOffAddr# :: Addr# -> Int# -> Const a b -> Const a b -> State# s -> (# State# s, Const a b #) Source #

casBoolMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> Const a b -> State# s -> (# State# s, Bool #) Source #

casBoolOffAddr# :: Addr# -> Int# -> Const a b -> Const a b -> State# s -> (# State# s, Bool #) Source #

atomicModifyMutableByteArray# :: MutableByteArray# s -> Int# -> (Const a b -> (# Const a b, b0 #)) -> State# s -> (# State# s, b0 #) Source #

atomicModifyOffAddr# :: Addr# -> Int# -> (Const a b -> (# Const a b, b0 #)) -> State# s -> (# State# s, b0 #) Source #

class (Bits a, Atomic a) => AtomicBits a where Source #

Minimal complete definition

Nothing

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicAndFetchOldOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicAndFetchNewOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicNandFetchOldOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicNandFetchNewOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicOrFetchOldOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicOrFetchNewOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicXorFetchOldOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicXorFetchNewOffAddr# :: AtomicBits (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

Instances

Instances details
AtomicBits Bool Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Bool -> State# s -> (# State# s, Bool #) Source #

AtomicBits Int Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Int -> State# s -> (# State# s, Int #) Source #

AtomicBits Int8 Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> (# State# s, Int8 #) Source #

AtomicBits Int16 Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> (# State# s, Int16 #) Source #

AtomicBits Int32 Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> (# State# s, Int32 #) Source #

AtomicBits Int64 Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> (# State# s, Int64 #) Source #

AtomicBits Word Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Word -> State# s -> (# State# s, Word #) Source #

AtomicBits Word8 Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> (# State# s, Word8 #) Source #

AtomicBits Word16 Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> (# State# s, Word16 #) Source #

AtomicBits Word32 Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> (# State# s, Word32 #) Source #

AtomicBits Word64 Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> (# State# s, Word64 #) Source #

AtomicBits Fd Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Fd -> State# s -> (# State# s, Fd #) Source #

AtomicBits CChar Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CChar -> State# s -> (# State# s, CChar #) Source #

AtomicBits CSChar Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> (# State# s, CSChar #) Source #

AtomicBits CUChar Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> (# State# s, CUChar #) Source #

AtomicBits CShort Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CShort -> State# s -> (# State# s, CShort #) Source #

AtomicBits CUShort Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> (# State# s, CUShort #) Source #

AtomicBits CInt Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CInt -> State# s -> (# State# s, CInt #) Source #

AtomicBits CUInt Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> (# State# s, CUInt #) Source #

AtomicBits CLong Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CLong -> State# s -> (# State# s, CLong #) Source #

AtomicBits CULong Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CULong -> State# s -> (# State# s, CULong #) Source #

AtomicBits CLLong Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> (# State# s, CLLong #) Source #

AtomicBits CULLong Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> (# State# s, CULLong #) Source #

AtomicBits CBool Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CBool -> State# s -> (# State# s, CBool #) Source #

AtomicBits CPtrdiff Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> (# State# s, CPtrdiff #) Source #

AtomicBits CSize Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CSize -> State# s -> (# State# s, CSize #) Source #

AtomicBits CWchar Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> (# State# s, CWchar #) Source #

AtomicBits CSigAtomic Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> (# State# s, CSigAtomic #) Source #

AtomicBits CIntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> (# State# s, CIntPtr #) Source #

AtomicBits CUIntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> (# State# s, CUIntPtr #) Source #

AtomicBits CIntMax Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> (# State# s, CIntMax #) Source #

AtomicBits CUIntMax Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> (# State# s, CUIntMax #) Source #

AtomicBits WordPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> (# State# s, WordPtr #) Source #

AtomicBits IntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> (# State# s, IntPtr #) Source #

AtomicBits a => AtomicBits (Identity a) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> (# State# s, Identity a #) Source #

(Bits a, Eq a, Prim a) => AtomicBits (Atom a) Source # 
Instance details

Defined in Data.Prim.Atom

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Atom a -> State# s -> (# State# s, Atom a #) Source #

AtomicBits a => AtomicBits (Const a b) Source # 
Instance details

Defined in Data.Prim.Atomic

Methods

atomicAndFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicAndFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicNandFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicNandFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicOrFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicOrFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicXorFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicXorFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicAndFetchOldOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicAndFetchNewOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicNandFetchOldOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicNandFetchNewOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicOrFetchOldOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicOrFetchNewOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicXorFetchOldOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

atomicXorFetchNewOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> (# State# s, Const a b #) Source #

class Atomic a => AtomicCount a where Source #

Minimal complete definition

Nothing

Methods

atomicAddFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicAddFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicSubFetchOldMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicSubFetchNewMutableByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicAddFetchOldOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicAddFetchOldOffAddr# :: AtomicCount (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicAddFetchNewOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicAddFetchNewOffAddr# :: AtomicCount (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicSubFetchOldOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicSubFetchOldOffAddr# :: AtomicCount (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

atomicSubFetchNewOffAddr# :: Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

default atomicSubFetchNewOffAddr# :: AtomicCount (PrimBase a) => Addr# -> Int# -> a -> State# s -> (# State# s, a #) Source #

Instances

Instances details
AtomicCount Int Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Int8 Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Int16 Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Int32 Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Int64 Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

AtomicCount Word Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Word8 Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Word16 Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Word32 Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Word64 Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

AtomicCount Fd Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount Errno Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CChar Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CSChar Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CUChar Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CShort Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CUShort Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CInt Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CUInt Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CLong Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CULong Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CLLong Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

AtomicCount CULLong Source #

Available only on 64bit architectures

Instance details

Defined in Data.Prim.Atomic

AtomicCount CBool Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CPtrdiff Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CSize Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CWchar Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CSigAtomic Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CIntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CUIntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CIntMax Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount CUIntMax Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount WordPtr Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount IntPtr Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount a => AtomicCount (Identity a) Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount a => AtomicCount (Dual a) Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount a => AtomicCount (Sum a) Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount a => AtomicCount (Product a) Source # 
Instance details

Defined in Data.Prim.Atomic

AtomicCount a => AtomicCount (Down a) Source # 
Instance details

Defined in Data.Prim.Atomic

(Num a, Eq a, Prim a) => AtomicCount (Atom a) Source # 
Instance details

Defined in Data.Prim.Atom

AtomicCount a => AtomicCount (Const a b) Source # 
Instance details

Defined in Data.Prim.Atomic

atomicBoolModifyMutableByteArray# Source #

Arguments

:: Atomic a 
=> MutableByteArray# s

Array to be mutated

-> Int#

Index in number of Int# elements into the MutableByteArray#

-> (a -> (# a, b #))

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, b #) 

Using casBoolMutableByteArray# perform atomic modification of an element in a MutableByteArray#. This is essentially an implementation of a spinlock using CAS.

Since: 0.1.0

atomicBoolModifyFetchOldMutableByteArray# Source #

Arguments

:: Atomic a 
=> MutableByteArray# s

Array to be mutated

-> Int#

Index in number of Int# elements into the MutableByteArray#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, a #) 

Using casBoolMutableByteArray# perform atomic modification of an element in a MutableByteArray#. Returns the previous value.

Since: 0.1.0

atomicModifyMutableByteArray_# Source #

Arguments

:: Atomic a 
=> MutableByteArray# s

Array to be mutated

-> Int#

Index in number of Int# elements into the MutableByteArray#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> State# s 

Using casMutableByteArray# perform atomic modification of an element in a MutableByteArray#.

Since: 0.1.0

atomicModifyFetchOldMutableByteArray# Source #

Arguments

:: Atomic a 
=> MutableByteArray# s

Array to be mutated

-> Int#

Index in number of Int# elements into the MutableByteArray#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, a #) 

Using casMutableByteArray# perform atomic modification of an element in a MutableByteArray#. Returns the previous value.

Since: 0.1.0

atomicModifyFetchNewMutableByteArray# Source #

Arguments

:: Atomic a 
=> MutableByteArray# s

Array to be mutated

-> Int#

Index in number of Int# elements into the MutableByteArray#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, a #) 

Using casMutableByteArray# perform atomic modification of an element in a MutableByteArray#. Returns the new value.

Since: 0.1.0

atomicModifyOffAddr_# Source #

Arguments

:: Atomic a 
=> Addr#

Array to be mutated

-> Int#

Index in number of Int# elements into the OffAddr#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> State# s 

Using casOffAddr# perform atomic modification of an element in a OffAddr#.

Since: 0.1.0

atomicBoolModifyOffAddr# Source #

Arguments

:: Atomic a 
=> Addr#

Array to be mutated

-> Int#

Index in number of Int# elements into the OffAddr#

-> (a -> (# a, b #))

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, b #) 

Using casBoolOffAddr# perform atomic modification of an element in a OffAddr#. This is essentially an implementation of a spinlock using CAS.

Since: 0.1.0

atomicModifyFetchOldOffAddr# Source #

Arguments

:: Atomic a 
=> Addr#

Array to be mutated

-> Int#

Index in number of Int# elements into the OffAddr#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, a #) 

Using casOffAddr# perform atomic modification of an element in a OffAddr#. Returns the previous value.

Since: 0.1.0

atomicModifyFetchNewOffAddr# Source #

Arguments

:: Atomic a 
=> Addr#

Array to be mutated

-> Int#

Index in number of Int# elements into the OffAddr#

-> (a -> a)

Function to be applied atomically to the element

-> State# s

Starting state

-> (# State# s, a #) 

Using casOffAddr# perform atomic modification of an element in a OffAddr#. Returns the new value.

Since: 0.1.0

atomicNotFetchOldMutableByteArray# :: forall a s. AtomicBits a => MutableByteArray# s -> Int# -> State# s -> (# State# s, a #) Source #

Flip all bits atomically in the element of an array at the supplied offset. Returns the previous value. Implies full memory barrier.

atomicNotFetchNewMutableByteArray# :: forall a s. AtomicBits a => MutableByteArray# s -> Int# -> State# s -> (# State# s, a #) Source #

Flip all bits atomically in the element of an array at the supplied offset. Returns the new value. Implies full memory barrier.

atomicNotFetchOldOffAddr# :: forall a s. AtomicBits a => Addr# -> Int# -> State# s -> (# State# s, a #) Source #

Flip all bits atomically in the element of an array at the supplied offset. Returns the previous value. Implies full memory barrier.

atomicNotFetchNewOffAddr# :: forall a s. AtomicBits a => Addr# -> Int# -> State# s -> (# State# s, a #) Source #

Flip all bits atomically in the element of an array at the supplied offset. Returns the new value. Implies full memory barrier.