Cabal-Version:  2.2
Name:           numeric-prelude
Version:        0.4.4
x-revision: 2
License:        BSD-3-Clause
License-File:   LICENSE
Author:         Dylan Thurston <dpt@math.harvard.edu>, Henning Thielemann <numericprelude@henning-thielemann.de>, Mikael Johansson
Maintainer:     Henning Thielemann <numericprelude@henning-thielemann.de>
Homepage:       http://www.haskell.org/haskellwiki/Numeric_Prelude
Category:       Math
Stability:      Experimental
Tested-With:    GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3
Tested-With:    GHC==8.4.4, GHC==8.6.5, GHC==9.0.1
Build-Type:     Simple
Synopsis:       An experimental alternative hierarchy of numeric type classes
Description:
  The package provides an experimental alternative hierarchy
  of numeric type classes.
  The type classes are more oriented at mathematical structures
  and their methods come with laws that the instances must fulfill.

Extra-Source-Files:
  Makefile
  README.md
  docs/NOTES
  docs/README
  src/Algebra/GenerateRules.hs

Flag buildExamples
  description: Build example executables
  default:     False

Source-Repository this
  Tag:         0.4.4
  Type:        darcs
  Location:    https://hub.darcs.net/thielema/numeric-prelude/

Source-Repository head
  Type:        darcs
  Location:    https://hub.darcs.net/thielema/numeric-prelude/

Library
  Build-Depends:
    parsec >=1 && <4,
    QuickCheck >=2.10 && <3,
    storable-record >=0.0.1 && <0.1,
    non-negative >=0.0.5 && <0.2,
    semigroups >=0.1 && <1.0,
    utility-ht >=0.0.13 && <0.1,
    deepseq >=1.1 && <1.6

  Build-Depends:
    array >=0.1 && <0.6,
    containers >=0.1 && <0.8,
    random >=1.0 && <1.3,
    base >=4.5 && <5

  Default-Language: Haskell98
  GHC-Options:    -Wall
  Hs-source-dirs: src
  Exposed-modules:
    Algebra.Absolute
    Algebra.Additive
    Algebra.Algebraic
    Algebra.Differential
    Algebra.DimensionTerm
    Algebra.DivisibleSpace
    Algebra.Field
    Algebra.FloatingPoint
    Algebra.Indexable
    Algebra.IntegralDomain
    Algebra.NonNegative
    Algebra.Lattice
    Algebra.Laws
    Algebra.Module
    Algebra.ModuleBasis
    Algebra.Monoid
    Algebra.NormedSpace.Euclidean
    Algebra.NormedSpace.Maximum
    Algebra.NormedSpace.Sum
    Algebra.OccasionallyScalar
    Algebra.PrincipalIdealDomain
    Algebra.RealField
    Algebra.RealIntegral
    Algebra.RealRing
    Algebra.RealTranscendental
    Algebra.RightModule
    Algebra.Ring
    Algebra.ToInteger
    Algebra.ToRational
    Algebra.Transcendental
    Algebra.Units
    Algebra.Vector
    Algebra.VectorSpace
    Algebra.ZeroTestable
    MathObj.Algebra
    MathObj.DiscreteMap
    MathObj.LaurentPolynomial
    MathObj.Matrix
    MathObj.Monoid
    MathObj.PartialFraction
    MathObj.Permutation
    MathObj.Permutation.CycleList
    MathObj.Permutation.CycleList.Check
    MathObj.Permutation.Table
    MathObj.Polynomial
    MathObj.Polynomial.Core
    MathObj.PowerSeries
    MathObj.PowerSeries.Core
    MathObj.PowerSeries.DifferentialEquation
    MathObj.PowerSeries.Example
    MathObj.PowerSeries.Mean
    MathObj.PowerSeries2
    MathObj.PowerSeries2.Core
    MathObj.PowerSum
    MathObj.RefinementMask2
    MathObj.RootSet
    MathObj.Wrapper.Haskell98
    MathObj.Wrapper.NumericPrelude
    Number.Complex
    Number.DimensionTerm
    Number.DimensionTerm.SI
    Number.FixedPoint
    Number.FixedPoint.Check
    Number.GaloisField2p32m5
    Number.NonNegative
    Number.NonNegativeChunky
    Number.PartiallyTranscendental
    Number.Peano
    Number.Positional
    Number.Positional.Check
    Number.Quaternion
    Number.Ratio
    Number.ResidueClass
    Number.ResidueClass.Check
    Number.ResidueClass.Maybe
    Number.ResidueClass.Func
    Number.ResidueClass.Reader
    Number.Root
    Number.OccasionallyScalarExpression
    Number.SI.Unit
    Number.SI
    Number.Physical.Unit
    Number.Physical.UnitDatabase
    Number.Physical
    Number.Physical.Read
    Number.Physical.Show
    NumericPrelude.List.Checked
    NumericPrelude.List.Generic
    NumericPrelude.Elementwise
    NumericPrelude.Numeric
    NumericPrelude.Base
    NumericPrelude
  Other-modules:
    NumericPrelude.List
    Algebra.AffineSpace
    Algebra.RealRing98
    -- I think I won't add them this way.
    -- It is certainly better to split the class into comparison and selection.
    Algebra.EqualityDecision
    Algebra.OrderDecision

Executable numeric-prelude-demo
  Hs-Source-Dirs: test
  GHC-Options:    -Wall
  Default-Language: Haskell98
  Main-Is: Demo.hs

  If flag(buildExamples)
    Build-Depends:
      numeric-prelude,
      base
  Else
    Buildable: False

Test-Suite numeric-prelude-test
  Type: exitcode-stdio-1.0
  GHC-Options:    -Wall
  Default-Language: Haskell98
  Hs-Source-Dirs: test
  Other-modules:
    Test.NumericPrelude.Utility
    Test.Number.GaloisField2p32m5
    Test.Number.ComplexSquareRoot
    Test.Algebra.IntegralDomain
    Test.Algebra.PrincipalIdealDomain
    Test.Algebra.RealRing
    Test.Algebra.Additive
    Test.MathObj.RefinementMask2
    Test.MathObj.PartialFraction
    Test.MathObj.Matrix
    Test.MathObj.Polynomial
    Test.MathObj.Polynomial.Core
    Test.MathObj.PowerSeries
    Test.MathObj.PowerSeries.Core
    Test.MathObj.PowerSeries.Example
    Test.MathObj.Gaussian.ExponentTuple
    Test.MathObj.Gaussian.Variance
    Test.MathObj.Gaussian.Bell
    Test.MathObj.Gaussian.Polynomial
  Hs-Source-Dirs: playground
  Other-modules:
    Number.ComplexSquareRoot
  Hs-Source-Dirs: gaussian
  Other-Modules:
    MathObj.Gaussian.Bell
    MathObj.Gaussian.Polynomial
    MathObj.Gaussian.Variance
    MathObj.Gaussian.ExponentTuple
  Main-Is: Test/Run.hs

  Build-Depends:
    doctest-exitcode-stdio >=0.0 && <0.1,
    doctest-lib >=0.1 && <0.1.2,
    numeric-prelude,
    QuickCheck,
    utility-ht,
    random,
    base

Executable numeric-prelude-gaussian
  Hs-Source-Dirs: gaussian
  Main-Is: Gaussian.hs
  Default-Language: Haskell98
  Other-Modules:
    MathObj.Gaussian.Example
    MathObj.Gaussian.Variance
    MathObj.Gaussian.Bell
    MathObj.Gaussian.Polynomial

  If flag(buildExamples)
    Build-Depends:
      gnuplot >=0.5 && <0.6,
      HTam >=0.0.2 && <0.2,
      numeric-prelude,
      QuickCheck,
      utility-ht,
      base
  Else
    Buildable: False