lol-repa-0.0.0.2: lol-repa.cabal
name: lol-repa
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.0.0.2
synopsis: A repa backend for <https://hackage.haskell.org/package/lol lol>.
homepage: https://github.com/cpeikert/Lol
Bug-Reports: https://github.com/cpeikert/Lol/issues
license: GPL-2
license-file: LICENSE
author: Eric Crockett <ecrockett0@gmail.com>, Chris Peikert <cpeikert@alum.mit.edu>
maintainer: Eric Crockett <ecrockett0@gmail.com>
copyright: Eric Crockett, Chris Peikert
category: Crypto
stability: experimental
build-type: Simple
extra-source-files: README, CHANGES.md
cabal-version: >= 1.10
description:
Λ ∘ λ (Lol) is a general-purpose library for ring-based lattice cryptography.
This package provides a pure Haskell implementation of Lol's Tensor interface
using the repa library for parallel arrays.
source-repository head
type: git
location: https://github.com/cpeikert/Lol
-- For information on compiling C with cabal: http://blog.ezyang.com/2010/06/setting-up-cabal-the-ffi-and-c2hs/
Flag llvm
Description: Compile via LLVM. This produces much better object code,
but you need to have the LLVM compiler installed.
-- If you enable this and get errors like "Error: can't resolve `.rodata' {.rodata section}"
-- then GHC doesn't like your version of LLVM!
Default: False
Flag opt
Description: Turn on library optimizations
Default: True
library
default-language: Haskell2010
ghc-options: -fwarn-dodgy-imports
if flag(llvm)
ghc-options: -fllvm -optlo-O3
-- ghc optimizations
if flag(opt)
-- makes lift much faster!
ghc-options: -funfolding-use-threshold1000
exposed-modules:
Crypto.Lol.Cyclotomic.Tensor.Repa
other-modules:
Crypto.Lol.Cyclotomic.Tensor.Repa.CRT
Crypto.Lol.Cyclotomic.Tensor.Repa.Extension
Crypto.Lol.Cyclotomic.Tensor.Repa.Dec
Crypto.Lol.Cyclotomic.Tensor.Repa.GL
Crypto.Lol.Cyclotomic.Tensor.Repa.Instances
Crypto.Lol.Cyclotomic.Tensor.Repa.RTCommon
build-depends:
base >= 4.9 && < 5,
constraints < 0.10,
data-default >= 0.3.0 && < 0.8,
deepseq >= 1.4.1.1 && < 1.5,
lol >= 0.6.0.0 && < 0.7,
MonadRandom >= 0.2 && < 0.6,
mtl >= 2.2.1 && < 2.3,
numeric-prelude >= 0.4.2 && < 0.5,
reflection >= 1.5.1 && < 2.2,
repa >=3.4 && < 3.5,
singletons >= 1.1.2.1 && < 2.3,
vector>=0.11 && < 0.13,
vector-th-unbox >= 0.2.1.0 && < 0.3
other-extensions: TemplateHaskell
Benchmark bench-lol-repa
type: exitcode-stdio-1.0
default-language: Haskell2010
main-is: BenchRepaMain.hs
ghc-options: -main-is BenchRepaMain
hs-source-dirs: benchmarks
ghc-options: -O2 -funfolding-creation-threshold=15000 -funfolding-use-threshold=1000
ghc-options: -fsimpl-tick-factor=115
build-depends:
base >= 4.9 && < 5,
DRBG < 0.6,
lol >= 0.6.0.0 && < 0.7,
lol-benches >= 0.0.0.3 && < 0.1,
lol-repa
test-suite test-lol-repa
type: exitcode-stdio-1.0
default-language: Haskell2010
main-is: TestRepaMain.hs
ghc-options: -main-is TestRepaMain
hs-source-dirs: tests
ghc-options: -threaded -O2
build-depends:
base >= 4.9 && < 5,
lol-repa,
lol-tests < 0.1