lol-repa-0.0.0.1: 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.1
synopsis: A repa backend for <https://hackage.haskell.org/package/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:
arithmoi >= 0.4.1.3,
base >= 4.9 && < 5,
bytestring,
constraints,
containers >= 0.5.6.2,
crypto-api,
data-default >= 0.3.0,
deepseq >= 1.4.1.1,
lol >= 0.6.0.0,
monadcryptorandom,
MonadRandom >= 0.2,
mtl >= 2.2.1,
numeric-prelude >= 0.4.2,
protocol-buffers,
protocol-buffers-descriptor,
random >= 1.1,
reflection >= 1.5.1,
repa>=3.4,
singletons >= 1.1.2.1,
th-desugar >= 1.5.4,
tagged-transformer >= 0.7,
template-haskell >= 2.2.0.0,
transformers >= 0.4.2.0,
vector>=0.11,
vector-th-unbox >= 0.2.1.0
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=110
build-depends:
base >= 4.9 && < 5,
DRBG,
lol >= 0.6.0.0,
lol-benches,
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