xor-0.0.1.0: xor.cabal
cabal-version: 2.2
name: xor
version: 0.0.1.0
category: Data, Codec
author: Herbert Valerio Riedel
maintainer: hvr@gnu.org
bug-reports: https://github.com/hvr/xor/issues
copyright: © 2020 Herbert Valerio Riedel
license: GPL-2.0-or-later
license-file: LICENSE.GPLv2
synopsis: Efficient XOR masking
description:
This package provides efficient implementations of routines for applying <https://en.wikipedia.org/wiki/Bitwise_operation#XOR bitwise XOR> masks to binary data.
.
The currently supported operations (see "Data.XOR" API documentation for more details) are applying
.
* 8-bit wide XOR masks or
* 32-bit wide XOR masks
.
to binary data represented by
.
* Strict @ByteString@s,
* Lazy @ByteString@s,
* @ShortByteString@s (i.e. @ByteArray#@s), or
* @CStringLen@ (i.e. @Ptr@s).
.
The performance is comparable to portable ISO C99 implementations but this library is implemented as pure Haskell and is thereby compatible with compile targets such as <https://github.com/ghcjs/ghcjs GHCJS>.
source-repository head
type: git
location: https://github.com/hvr/xor.git
common defaults
default-language: Haskell2010
other-extensions: CPP
BangPatterns
UnboxedTuples
MagicHash
build-depends:
, base >= 4.5 && < 4.15
, bytestring ^>= 0.10.4
, ghc-byteorder ^>= 4.11.0.0
ghc-options: -Wall
library
import: defaults
hs-source-dirs: src
exposed-modules:
Data.XOR
other-modules:
Endianness
benchmark bench
import: defaults
type: exitcode-stdio-1.0
hs-source-dirs: src-bench
main-is: Main.hs
build-depends:
, xor
-- dependencies specific to this component
, criterion ^>= 1.5.6
test-suite test
import: defaults
type: exitcode-stdio-1.0
hs-source-dirs: src-test
main-is: Main.hs
build-depends:
build-depends:
, xor
-- dependencies specific to this component
, tasty ^>= 1.2.3
, tasty-hunit ^>= 0.10
, tasty-quickcheck ^>= 0.10
, QuickCheck ^>= 2.14