packages feed

hgeometry-0.5.0.0: hgeometry.cabal

-- Initial hgeometry.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                hgeometry
version:             0.5.0.0
synopsis:            Geometric Algorithms, Data structures, and Data types.
description:
  HGeometry provides some basic geometry types, and geometric algorithms and
  data structures for them. The main two focusses are: (1) Strong type safety,
  and (2) implementations of geometric algorithms and data structures with good
  asymptotic running time guarantees.

homepage:            https://fstaals.net/software/hgeometry
license:             BSD3
license-file:        LICENSE
author:              Frank Staals
maintainer:          frank@fstaals.net
-- copyright:

tested-with:         GHC >= 7.8.4

category:            Geometry
build-type:          Simple

extra-source-files:  README.md
                     resources/basic.isy
                     test/Data/Geometry/pointInPolygon.ipe
                     test/Data/Geometry/Polygon/Convex/convexTests.ipe
                     test/Algorithms/Geometry/SmallestEnclosingDisk/manual.ipe

cabal-version:       >=1.10
source-repository head
  type:     git
  location: https://github.com/noinia/hgeometry


flag examples
  description: Build demonstration programs
  default:     False
  manual:      True

library
  ghc-options: -Wall -fno-warn-unticked-promoted-constructors

  exposed-modules:  Data.Geometry
                    Data.Geometry.Properties
                    Data.Geometry.Vector
                    -- Data.Geometry.Vector.Vinyl
                    Data.Geometry.Transformation
                    Data.Geometry.Vector.VectorFixed
                    Data.Geometry.Interval
                    Data.Geometry.Boundary

                    Data.Geometry.Point
                    Data.Geometry.Line
                    Data.Geometry.Line.Internal
                    Data.Geometry.LineSegment
                    Data.Geometry.SubLine
                    Data.Geometry.HalfLine
                    Data.Geometry.PolyLine

                    Data.Geometry.Triangle


                    -- Data.Geometry.Plane
                    Data.Geometry.Slab
                    Data.Geometry.Box
                    Data.Geometry.Box.Internal
                    Data.Geometry.Ball
                    Data.Geometry.Polygon
                    Data.Geometry.Polygon.Convex

                    Data.Geometry.Duality

                    Algorithms.Util

                    Algorithms.Geometry.ConvexHull.GrahamScan
                    Algorithms.Geometry.ConvexHull.Types
                    Algorithms.Geometry.ConvexHull.DivideAndConqueror

                    Algorithms.Geometry.SmallestEnclosingBall.Types
                    Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction
                    Algorithms.Geometry.SmallestEnclosingBall.Naive

                    Algorithms.Geometry.DelaunayTriangulation.Types
                    Algorithms.Geometry.DelaunayTriangulation.DivideAndConqueror
                    Algorithms.Geometry.DelaunayTriangulation.Naive

                    Algorithms.Geometry.PolyLineSimplification.DouglasPeucker

                    Algorithms.Geometry.EuclideanMST.EuclideanMST


                    Algorithms.Graph.DFS
                    Algorithms.Graph.MST


                    Data.UnBounded
                    Data.Range


                    Data.Geometry.Ipe
                    Data.Geometry.Ipe.Literal
                    Data.Geometry.Ipe.Attributes
                    Data.Geometry.Ipe.Types
                    Data.Geometry.Ipe.Writer
                    Data.Geometry.Ipe.Reader
                    Data.Geometry.Ipe.PathParser
                    Data.Geometry.Ipe.IpeOut
                    Data.Geometry.Ipe.FromIpe



                    Data.Ext
                    Data.Seq2
                    Data.CircularSeq
                    Data.Sequence.Util
                    Data.BinaryTree
                    Data.CircularList.Util

                    Data.Permutation
                    Data.PlanarGraph
                    Data.PlaneGraph


                    System.Random.Shuffle
                    Control.Monad.State.Persistent


  other-modules:
                   Data.Geometry.Ipe.ParserPrimitives




  -- other-extensions:
  build-depends: base             >= 4.7       &&     < 5
               , containers       >= 0.5.5
               , vinyl            >= 0.5       &&     < 0.6
               , linear           >= 1.10
               , lens             >= 4.2
               , singletons       >= 1.0       &&     < 2.0
               , bifunctors       >= 5
               , semigroupoids    >= 5
               , Frames           >= 0.1.0.0

               , text             >= 1.1.1.0
               , bytestring       >= 0.10

               , semigroups       >= 0.15
               , bifunctors       >= 4.1
               -- , validation       >= 0.4

               , parsec           >= 3
               -- , tranformers      > 0.3

               , vector           >= 0.10
               , fixed-vector     >= 0.6.4.0
               , data-clist       >= 0.0.7.2

               , hexpat           >= 0.20.9
               , mtl
               , random
               , template-haskell


               , time
               , directory
               , optparse-applicative


  hs-source-dirs: src
                  -- examples/demo

  default-language:    Haskell2010

  default-extensions: TypeFamilies
                    , GADTs
                    , KindSignatures
                    , DataKinds
                    , TypeOperators
                    , ConstraintKinds
                    , PolyKinds
                    , RankNTypes

                    , PatternSynonyms
                    , TupleSections
                    , LambdaCase
                    , ViewPatterns

                    , StandaloneDeriving
                    , GeneralizedNewtypeDeriving
                    , DeriveFunctor
                    , DeriveFoldable
                    , DeriveTraversable

                    , AutoDeriveTypeable

                    , FlexibleInstances
                    , FlexibleContexts
                    , MultiParamTypeClasses

executable hgeometry-examples
  if !flag(examples)
    buildable: False
  main-is: Main.hs

  if flag(examples)
    build-depends: base
                 , hgeometry
                 , lens
                 , containers
                 , vinyl
                 , Frames
                 , semigroups
                 , optparse-applicative
                 , text
                 , hexpat
                 , bytestring
                 , directory
                 , time
                 , random


  hs-source-dirs: examples

  other-modules: Demo.DrawGPX
                 Demo.WriteEnsemble
                 Demo.MinDisk
                 Demo.Delaunay

                 Demo.GPXParser

  default-language: Haskell2010

  default-extensions: TypeFamilies
                    , GADTs
                    , KindSignatures
                    , DataKinds
                    , TypeOperators
                    , ConstraintKinds
                    , PolyKinds
                    , RankNTypes

                    , PatternSynonyms
                    , ViewPatterns

                    , StandaloneDeriving
                    , GeneralizedNewtypeDeriving
                    , DeriveFunctor
                    , DeriveFoldable
                    , DeriveTraversable

                    , DeriveDataTypeable
                    , AutoDeriveTypeable

                    , FlexibleInstances
                    , FlexibleContexts
                    , MultiParamTypeClasses



test-suite doctests
  type:          exitcode-stdio-1.0
  ghc-options:   -threaded
  main-is:       doctests.hs
  build-depends: base, doctest >= 0.8

  default-language:    Haskell2010

test-suite hspec
  type:                 exitcode-stdio-1.0
  default-language:     Haskell2010
  hs-source-dirs:       test
  main-is:              Spec.hs

  other-modules: Data.RangeSpec
                 Data.Geometry.Ipe.ReaderSpec
                 Data.Geometry.PolygonSpec
                 Data.Geometry.PointSpec
                 Data.Geometry.Polygon.Convex.ConvexSpec

                 Algorithms.Geometry.SmallestEnclosingDisk.RISpec
                 Algorithms.Geometry.DelaunayTriangulation.DTSpec

                 Util


  build-depends:        base
                      , hspec >= 2.1
                      , hgeometry
                      , Frames
                      , lens
                      , data-clist
                      , linear
                      , bytestring
                      , vinyl
                      , semigroups
                      , vector
                      , containers
                      , random

  default-extensions: TypeFamilies
                    , GADTs
                    , KindSignatures
                    , DataKinds
                    , TypeOperators
                    , ConstraintKinds
                    , PolyKinds
                    , RankNTypes

                    , PatternSynonyms
                    , ViewPatterns
                    , LambdaCase


                    , StandaloneDeriving
                    , GeneralizedNewtypeDeriving
                    , DeriveFunctor
                    , DeriveFoldable
                    , DeriveTraversable

                    , AutoDeriveTypeable

                    , FlexibleInstances
                    , FlexibleContexts
                    , MultiParamTypeClasses
                    , OverloadedStrings

test-suite bapc_examples
  type:          exitcode-stdio-1.0
  ghc-options:   -O2
  main-is:       bapc_examples.hs
  hs-source-dirs: examples
  build-depends: base
               , doctest    >= 0.8
               , array      >= 0.5
               , hgeometry
               , lens
               , data-clist
               , linear
               , semigroups

  other-modules: BAPC2012.Gunslinger
                 BAPC2014.Armybase

  default-language:    Haskell2010

  default-extensions: TypeFamilies
                    , GADTs
                    , DataKinds
                    , TypeOperators
                    , ConstraintKinds
                    , PolyKinds
                    , PatternSynonyms
                    , ViewPatterns