massiv-0.3.2.0: Massiv (Массив) is an Array Library.

Copyright(c) Alexey Kuleshevich 2018-2019
LicenseBSD3
MaintainerAlexey Kuleshevich <lehins@yandex.ru>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Massiv.Array.Stencil.Unsafe

Contents

Description

 
Synopsis

Stencil

makeUnsafeStencil Source #

Arguments

:: Index ix 
=> Sz ix

Size of the stencil

-> ix

Center of the stencil

-> (ix -> (ix -> e) -> a)

Stencil function.

-> Stencil ix e a 

Similar to makeStencil, but there are no guarantees that the stencil will not read out of bounds memory. This stencil is also a bit more powerful in sense it gets an extra peice of information, namely the exact index for the element it is constructing.

Since: 0.3.0

forStencilUnsafe Source #

Arguments

:: (Source r ix e, Manifest r ix e) 
=> Array r ix e 
-> Sz ix

Size of the stencil

-> ix

Center of the stencil

-> ((ix -> Maybe e) -> a)

Stencil function that receives a "get" function as it's argument that can retrieve values of cells in the source array with respect to the center of the stencil. Stencil function must return a value that will be assigned to the cell in the result array. Offset supplied to the "get" function cannot go outside the boundaries of the stencil.

-> Array DW ix a 

This is an unsafe version of the stencil computation. There are no bounds checking further from the border, so if you do make sure you are not going outside the size of the stencil, you will be safe, but this is not enforced.

Since: 0.1.7