packages feed

dvda-0.3.0.1: dvda.cabal

Name:                dvda
Version:             0.3.0.1
License:             BSD3
License-file:        LICENSE
Author:              Greg Horn
Maintainer:          gregmainland@gmail.edu
Copyright:           (c) 2011 - 2012 Greg Horn
                     (c) 2009 Andy Gill
Stability:           Experimental
Category:            Numerical, Math
Build-type:          Custom
Synopsis:            Efficient automatic differentiation and code generation
Cabal-version:       >= 1.8
Description: {
dvda == DVDA Verifiably Differentiates Algorithmically
.
This library provides a symbolic scalar type `Dvda.Expr` which is
manipulated mathematically through its Num\/Fractional\/Floating instances.
.
Automatic differentiation can be performed with `Dvda.AD`. Expressions can be turned into
computational graphs (@FunGraph@s) using toFunGraph. This uses unsafe reification for performance reasons,
and explicit common subexpression elimination using hashing can be performed using `Dvda.CSE`
.
@FunGraph@s can be converted to C code and MATLAB mex functions. In the future there will be JIT compilation
so you can call these functions efficiently from Haskell.
.
Pretty graphviz plots!
.
To get started check out the source for `Dvda.Examples`
--If the runtime JIT stuff works in terminal ghci but not emacs haskell-mode, you may need to add
--`(setenv "PATH" (concatenate 'string (getenv "PATH") ":/usr/local/bin"))` to your .emacs file
--.
--To get started look in `Dvda.Examples` or CompileTest.hs in the github repo
}

source-repository head
  type: git
  location: git://github.com/ghorn/dvda.git
--  tag: 

Flag stressTest
  Description: Build a profilable hard executable
  Default: False

Library
  Exposed-modules:   Dvda
                     Dvda.Dual
--                     Dvda.OldExamples
--                     Dvda.OctaveSyntax
--                     Dvda.Tests.Function
--                     Dvda.Tests.Unary
                     Dvda.SparseLA

                     Dvda.AD
                     Dvda.CGen
 --                    Dvda.Codegen.CPlugins
                     Dvda.Codegen.Gcc
                     Dvda.Codegen.WriteFile
                     Dvda.CSE
                     Dvda.Expr
                     Dvda.Examples
                     Dvda.FunGraph
                     Dvda.MultipleShooting.CoctaveTemplates
                     Dvda.MultipleShooting.MSCoctave
                     Dvda.MultipleShooting.MSMonad
                     Dvda.MultipleShooting.Types
                     Dvda.Reify
                     Dvda.ReifyGraph
                     Dvda.Vis

  Other-modules:     Dvda.HashMap

  Build-depends:     base       >= 4     && < 5,
                     file-location >= 0.4.4 && < 0.5,
                     hashable  >= 1.1 && < 1.2,
                     containers >= 0.4 && < 0.5,
                     unordered-containers  >= 0.2 && < 0.3,
                     hashtables  >= 1.0.1.6 && < 1.1,
                     graphviz >= 2999.12 && < 2999.13,
                     fgl >= 5.4 && < 5.5,
                     mtl >= 2.0 && < 2.1,
                     directory >= 1.1 && < 1.2,
                     QuickCheck == 2.4.*,
                     test-framework-quickcheck2,
                     test-framework,
                     process >= 1.1 && < 1.2
--                     text >= 0.11 && < 0.12,
--                     plugins >= 1.5 && < 1.6,
--                     unix
--                     text,

  Ghc-options:       -Wall -O2
  GHC-Prof-Options:  -Wall -O2 -prof -fprof-auto -fprof-cafs -rtsopts
  GHC-Shared-Options: -fPIC


flag test
  description: Build test program.
  default:     False

Test-suite test
  type:		     exitcode-stdio-1.0
  hs-source-dirs:    .
  main-is:           TestMain.hs
  build-depends:     base,
                     dvda,
                     file-location >= 0.4.4 && < 0.5,
                     hashable  >= 1.1 && < 1.2,
                     hashtables  >= 1.0.1.6 && < 1.1,
                     containers >= 0.4 && < 0.5,
                     unordered-containers  >= 0.2 && < 0.3,
                     graphviz >= 2999.12 && < 2999.13,
                     fgl >= 5.4 && < 5.5,
                     mtl >= 2.0 && < 2.1,
                     directory >= 1.1 && < 1.2,
                     QuickCheck == 2.4.*,
                     process >= 1.1 && < 1.2,
--                     directory >= 1.1 && < 1.2,
                     ad,
                     test-framework-quickcheck2,
                     test-framework
  ghc-options:       -Wall