packages feed

yarr-1.3.2: yarr.cabal

Name:                yarr
Version:             1.3.2
Synopsis:            Yet another array library
Description:
    Yarr is a new blazing fast dataflow framework (array library),
    mainly intented to process @Storable@s (including all \"primitive\" numeric types)
    and @fixed-vector@s of them, for example coordinates,
    color components, complex numbers.
    .
    Yarr framework is inspired by @repa@ library and inherits its features,
    including shape-polymorphism and auto-parallelism.
    Additionaly, the framework is polymorphic over type and arity
    of fixed-size vectors and supports neat flow operations over them.
    For example, you can convert colored image to greyscale like this:
    .
    > let greyImage = zipElems (\r g b -> 0.21 * r + 0.71 * g + 0.07 * b) image
    .
    In some cases the library is considerably faster than @repa@.
    See benchmark results: <https://github.com/leventov/yarr/blob/master/tests/bench-results.md>
    .
    Shortcoming by design: lack of pure indexing interface.
    .
    /Changes in 1.3 (ex. 0.9.3):/
    .
        * IFusion -- mapping/zipping with index
    .
        * Rename: Work -> Walk
    .
    /Changes in version 0.9.2:/
    .
        * Safe folds -- see "Data.Yarr.Walk"
    .
        * Issue with slice-wise loading with unrolled filling function solved
    .
    To start with, read documentation in the root module: "Data.Yarr".
    .
    [@Yarr!@] 

License:             MIT
License-file:        LICENSE
Author:              Roman Leventov
Maintainer:          Roman Leventov <leventov@ya.ru>
Bug-reports:         https://github.com/leventov/yarr/issues
Category:            Data Structures, Data Flow, Graphics
Build-type:          Simple
Cabal-version:       >= 1.8

source-repository head
    type:     git
    location: https://github.com/leventov/yarr.git
    subdir:   yarr

Library
    build-depends:
        base             == 4.6.*,
        ghc-prim         == 0.3.*,
        deepseq          == 1.3.*,
        fixed-vector     == 0.1.2.1,
        primitive        >= 0.2 && < 0.6,
        template-haskell == 2.8.*,
        missing-foreign  == 0.1.1

    extensions:
        TypeFamilies, MultiParamTypeClasses, FunctionalDependencies,
        FlexibleContexts,
        EmptyDataDecls,
        FlexibleInstances, TypeSynonymInstances,
        UndecidableInstances, OverlappingInstances,
        GeneralizedNewtypeDeriving, StandaloneDeriving,
        RankNTypes, ScopedTypeVariables,
        MagicHash, BangPatterns, UnboxedTuples,
        TemplateHaskell, CPP

    exposed-modules:
        Data.Yarr
        Data.Yarr.Base
        Data.Yarr.Fusion
        Data.Yarr.Eval
        Data.Yarr.Flow
        Data.Yarr.Walk
        Data.Yarr.Shape
        Data.Yarr.Repr.Foreign
        Data.Yarr.Repr.Boxed
        Data.Yarr.Repr.Delayed
        Data.Yarr.Repr.Separate
        Data.Yarr.Convolution
        Data.Yarr.IO.List
        Data.Yarr.Utils.FixedVector
        Data.Yarr.Utils.Fork
        Data.Yarr.Utils.Parallel
        Data.Yarr.Utils.Split
        Data.Yarr.Utils.Primitive
        Debug.Yarr

    other-modules:
        -- re-exported in Utils.FixedVector
        Data.Yarr.Utils.FixedVector.Arity
        Data.Yarr.Utils.FixedVector.VecTuple
        Data.Yarr.Utils.FixedVector.VecTupleInstances
        Data.Yarr.Utils.FixedVector.InlinableArity
        Data.Yarr.Utils.FixedVector.InlinableArityInstances

        -- re-exported in Data.Yarr.Convolution
        Data.Yarr.Convolution.Repr
        Data.Yarr.Convolution.Eval
        Data.Yarr.Convolution.StaticStencils

        -- re-exported in Data.Yarr.Shape
        Data.Yarr.WorkTypes

        Data.Yarr.Walk.Internal
        Data.Yarr.Utils.Storable
        Data.Yarr.Utils.LowLevelFlow