packages feed

easytensor-0.1.0.0: easytensor.cabal

name: easytensor
version: 0.1.0.0
cabal-version: >=1.20
build-type: Simple
license: MIT
license-file: LICENSE
copyright: (c) Artem Chirkin
maintainer: chirkin@arch.ethz.ch
homepage: https://github.com/achirkin/easytensor#readme
synopsis: Initial project template from stack
description:
    Pure haskell vector/matrix/tensor library.
    Features dimensionality type-checking for all operations.
    Generic n-dimensional versions are implemented using low-level prim ops.
    Allows ad-hoc replacement with fixed low-dimensionality vectors and matrices without changing user interface.
    Please see README.md
category: Math, Geometry
author: Artem Chirkin

source-repository head
    type: git
    location: https://github.com/achirkin/easytensor.git

flag unsafeindices
    description:
        Disable bound checks when accessing elements of a tensor/matrix/vector.
    default: False

library

    if flag(unsafeindices)
        cpp-options: -DUNSAFE_INDICES
    exposed-modules:
        Numeric.EasyTensor
        Numeric.Tensor
        Numeric.Commons
    build-depends:
        base >=4.9 && <5,
        ghc-prim >=0.5
    default-language: Haskell2010
    hs-source-dirs: src
    other-modules:
        Numeric.Matrix
        Numeric.Matrix.Base.FloatXNM
        Numeric.Matrix.Class
        Numeric.Matrix.Family
        Numeric.Vector
        Numeric.Vector.Base.FloatX2
        Numeric.Vector.Base.FloatXN
        Numeric.Vector.Class
        Numeric.Vector.Family
    ghc-options: -Wall -fwarn-tabs

executable easytensor-exe
    main-is: Main.hs
    build-depends:
        base -any,
        easytensor -any,
        ghc-prim >=0.5
    default-language: Haskell2010
    hs-source-dirs: app
    ghc-options: -Wall -fwarn-tabs -threaded -rtsopts -with-rtsopts=-N

test-suite easytensor-test
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    build-depends:
        base -any,
        easytensor -any
    default-language: Haskell2010
    hs-source-dirs: test
    ghc-options: -Wall -fwarn-tabs -threaded -rtsopts -with-rtsopts=-N