Cabal revisions of hgeometry-0.8.0.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
--- Initial hgeometry.cabal generated by cabal init. For further--- documentation, see http://haskell.org/cabal/users-guide/--name: hgeometry-version: 0.8.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. Note that HGeometry is still highly experimental, don't be surprised to find bugs.--homepage: https://fstaals.net/software/hgeometry-license: BSD3-license-file: LICENSE-author: Frank Staals-maintainer: frank@fstaals.net--- copyright:--tested-with: GHC >= 8.2--category: Geometry-build-type: Simple--data-files: resources/basic.isy- test/Algorithms/Geometry/LineSegmentIntersection/manual.ipe- test/Algorithms/Geometry/LineSegmentIntersection/selfIntersections.ipe- test/Algorithms/Geometry/LowerEnvelope/manual.ipe- test/Algorithms/Geometry/PolygonTriangulation/monotone.ipe- test/Algorithms/Geometry/PolygonTriangulation/simplepolygon6.ipe- test/Algorithms/Geometry/SmallestEnclosingDisk/manual.ipe- test/Data/Geometry/pointInPolygon.ipe- test/Data/Geometry/pointInTriangle.ipe- test/Data/Geometry/Polygon/Convex/convexTests.ipe- test/Data/Geometry/arrangement.ipe- test/Data/Geometry/arrangement.ipe.out.ipe- test/Data/myGraph.yaml- test/Data/myPlaneGraph.yaml-- examples/BAPC2014/sample.in- examples/BAPC2014/sample.out- examples/BAPC2014/testdata.in- examples/BAPC2014/testdata.out- examples/BAPC2012/G.in- examples/BAPC2012/G.out- examples/BAPC2012/sampleG.in- examples/BAPC2012/sampleG.out-- -- in the future (cabal >=2.4) we can use- -- examples/**/*.in- -- examples/**/*.out--extra-source-files: README.md- changelog.md--Extra-doc-files: docs/Data/PlanarGraph/testG.png- -- docs/**/*.png--cabal-version: 2.0-source-repository head- type: git- location: https://github.com/noinia/hgeometry---flag examples- description: Build demonstration programs- default: False- manual: True--flag with-quickcheck- description: Include QuickCheck instances- default: True- manual: False--flag interactive- description: Build interactive parts- default: False- manual: True--library- ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults-- exposed-modules:- -- * Generic Geometry- Data.Geometry- Data.Geometry.Properties- Data.Geometry.Transformation- Data.Geometry.Boundary- Data.Geometry.Duality-- -- * Basic Geometry Types- Data.Geometry.Vector- Data.Geometry.Vector.VectorFixed- Data.Geometry.Vector.VectorFamily- Data.Geometry.Vector.VectorFamilyPeano-- -- Data.Geometry.Vector.Vinyl- Data.Geometry.Interval- Data.Geometry.Interval.Util- Data.Geometry.Point- Data.Geometry.Line- Data.Geometry.Line.Internal- Data.Geometry.LineSegment- Data.Geometry.SubLine- Data.Geometry.HalfLine- Data.Geometry.PolyLine- Data.Geometry.HyperPlane- 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-- -- * Geometric Data Structures- Data.Geometry.IntervalTree- Data.Geometry.SegmentTree- Data.Geometry.SegmentTree.Generic-- Data.Geometry.KDTree-- Data.Geometry.PlanarSubdivision- Data.Geometry.PlanarSubdivision.Basic- Data.Geometry.PlanarSubdivision.Draw-- Data.Geometry.Arrangement- Data.Geometry.Arrangement.Internal- Data.Geometry.Arrangement.Draw-- -- * Algorithms-- -- * Geometric Algorithms- Algorithms.Geometry.ConvexHull.GrahamScan- Algorithms.Geometry.ConvexHull.DivideAndConquer-- Algorithms.Geometry.LowerEnvelope.DualCH-- Algorithms.Geometry.SmallestEnclosingBall.Types- Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction- Algorithms.Geometry.SmallestEnclosingBall.Naive-- Algorithms.Geometry.DelaunayTriangulation.Types- Algorithms.Geometry.DelaunayTriangulation.DivideAndConquer- Algorithms.Geometry.DelaunayTriangulation.Naive-- Algorithms.Geometry.PolyLineSimplification.DouglasPeucker-- Algorithms.Geometry.EuclideanMST.EuclideanMST-- Algorithms.Geometry.WellSeparatedPairDecomposition.WSPD- Algorithms.Geometry.WellSeparatedPairDecomposition.Types-- Algorithms.Geometry.Diameter-- Algorithms.Geometry.Sweep-- Algorithms.Geometry.PolygonTriangulation.Types- Algorithms.Geometry.PolygonTriangulation.Triangulate- Algorithms.Geometry.PolygonTriangulation.MakeMonotone- Algorithms.Geometry.PolygonTriangulation.TriangulateMonotone-- Algorithms.Geometry.LineSegmentIntersection- Algorithms.Geometry.LineSegmentIntersection.Naive- Algorithms.Geometry.LineSegmentIntersection.BentleyOttmann- Algorithms.Geometry.LineSegmentIntersection.Types-- -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemoval-- Algorithms.Geometry.ClosestPair.Naive- Algorithms.Geometry.ClosestPair.DivideAndConquer--- -- * Graph Algorithms- Algorithms.Graph.DFS- Algorithms.Graph.MST-- -- * Ipe Types- Data.Geometry.Ipe- Data.Geometry.Ipe.Literal- Data.Geometry.Ipe.Value- Data.Geometry.Ipe.Color- 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-- -- * General Data Types- Data.UnBounded- Data.Range- Data.Ext- Data.LSeq- Data.CircularSeq- Data.Sequence.Util- Data.BinaryTree- Data.BinaryTree.Zipper-- Data.CircularList.Util- Data.BalBST- Data.OrdSeq- Data.SlowSeq- Data.Tree.Util- Data.Util-- -- * Planar Graphs- Data.Permutation- Data.PlanarGraph- Data.PlaneGraph- Data.PlaneGraph.Draw-- -- * Graphics stuff- Graphics.Camera-- -- * Other- System.Random.Shuffle- Control.Monad.State.Persistent- Data.Yaml.Util---- other-modules:- Data.Geometry.Ipe.ParserPrimitives----- -- other-extensions:- build-depends:- base >= 4.10 && < 5- , bifunctors >= 4.1- , bytestring >= 0.10- , containers >= 0.5.5- , dlist >= 0.7- , contravariant >= 1.4- , profunctors >= 5.2.1- , lens >= 4.2- , linear >= 1.10- , semigroupoids >= 5- , semigroups >= 0.18- , singletons >= 2.0- , text >= 1.1.1.0- , vinyl >= 0.6 && < 0.9- , deepseq >= 1.1- , fingertree >= 0.1- , colour >= 2.3.3- , reflection >= 2.1--- -- , validation >= 0.4-- , parsec >= 3- -- , tranformers > 0.3-- , vector >= 0.11- , fixed-vector >= 1.0- , data-clist >= 0.0.7.2-- , hexpat >= 0.20.9- , aeson >= 1.0- , yaml >= 0.8--- , mtl- , random- , template-haskell-- if flag(with-quickcheck)- build-depends: QuickCheck >= 2.5- , quickcheck-instances >= 0.3- exposed-modules: Test.QuickCheck.HGeometryInstances--- 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- , DeriveGeneric- , AutoDeriveTypeable--- , FlexibleInstances- , FlexibleContexts- , MultiParamTypeClasses--executable hgeometry-viewer- if !flag(interactive)- buildable: False- main-is: Viewer.hs-- if flag(interactive)- build-depends: base- , hgeometry- , lens- , containers- , vinyl- , semigroups- , optparse-applicative >= 0.13.0.0- , text- , hexpat- , bytestring- , directory- , time- , random- , vector- , colour- , cairo-canvas >= 0.1.0.0- -- , sdl2 >= 2.2.0- , gi-gtk >= 3.0.15- , reactive-banana-gi-gtk >= 0.2.0.0- , cairo >= 0.13.3.1- -- , gi-glib- , gi-cairo- , gi-gdk- -- , gi-gdkpixbuf- , gi-gtk- , transformers- , linear- , haskell-gi-base- , reactive-banana >= 1.1.0.1---- hs-source-dirs: interactive-- other-modules: RenderCanvas- RenderUtil- -- ConvexHull-- 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-----executable hgeometry-examples- if !flag(examples)- buildable: False- main-is: Main.hs-- if flag(examples)- build-depends: base- , hgeometry- , lens- , containers- , vinyl- , semigroups- , optparse-applicative >= 0.13.0.0- , text- , hexpat- , bytestring- , directory- , time- , random- , QuickCheck-- hs-source-dirs: examples-- other-modules: Demo.DrawGPX- Demo.WriteEnsemble- Demo.MinDisk- Demo.Delaunay- Demo.ExpectedPairwiseDistance- Demo.TriangulateWorld- 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--- , doctest-discover-- default-language: Haskell2010--test-suite hspec- type: exitcode-stdio-1.0- default-language: Haskell2010- hs-source-dirs: test- main-is: Spec.hs- ghc-options: -fno-warn-unticked-promoted-constructors- -fno-warn-partial-type-signatures- -fno-warn-missing-signatures-- build-tool-depends: hspec-discover:hspec-discover--- other-modules: Data.RangeSpec- Data.EdgeOracleSpec- Data.PlanarGraphSpec- Data.PlaneGraphSpec- Data.OrdSeqSpec- Data.Geometry.Ipe.ReaderSpec- Data.Geometry.PolygonSpec- Data.Geometry.LineSegmentSpec- Data.Geometry.PointSpec- Data.Geometry.Polygon.Convex.ConvexSpec- Data.Geometry.KDTreeSpec- Data.Geometry.IntervalSpec- Data.Geometry.BoxSpec- Data.Geometry.LineSpec- Data.Geometry.SubLineSpec- Data.Geometry.PlanarSubdivisionSpec- Data.Geometry.TriangleSpec- Data.Geometry.ArrangementSpec-- Algorithms.Geometry.SmallestEnclosingDisk.RISpec- Algorithms.Geometry.DelaunayTriangulation.DTSpec- Algorithms.Geometry.WellSeparatedPairDecomposition.WSPDSpec- Algorithms.Geometry.LineSegmentIntersection.BentleyOttmannSpec- Algorithms.Geometry.PolygonTriangulation.MakeMonotoneSpec- Algorithms.Geometry.PolygonTriangulation.TriangulateMonotoneSpec- Algorithms.Geometry.LowerEnvelope.LowerEnvSpec- Algorithms.Geometry.ConvexHull.ConvexHullSpec- -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemovalSpec- Algorithms.Geometry.ClosestPair.ClosestPairSpec-- Util--- build-depends: base- , hspec >= 2.1- , QuickCheck >= 2.5- , quickcheck-instances >= 0.3- , approximate-equality >= 1.1.0.2- , hgeometry- , lens- , data-clist- , linear- , bytestring- , vinyl- , semigroups- , vector- , containers- , random- , singletons- , colour- , filepath- , directory- , yaml--- default-extensions: TypeFamilies- , GADTs- , KindSignatures- , DataKinds- , TypeOperators- , ConstraintKinds- , PolyKinds- , RankNTypes-- , PatternSynonyms- , ViewPatterns- , LambdaCase- , TupleSections--- , StandaloneDeriving- , GeneralizedNewtypeDeriving- , DeriveFunctor- , DeriveFoldable- , DeriveTraversable-- , AutoDeriveTypeable-- , FlexibleInstances- , FlexibleContexts- , MultiParamTypeClasses- , OverloadedStrings--test-suite bapc_examples- type: exitcode-stdio-1.0- ghc-options: -O2 -fno-warn-unticked-promoted-constructors- 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--benchmark benchmarks-- hs-source-dirs: benchmark test examples-- main-is: Benchmarks.hs- type: exitcode-stdio-1.0-- other-modules: Benchmark.Util- Algorithms.Geometry.ConvexHull.Bench- Algorithms.Geometry.ConvexHull.GrahamV2- Algorithms.Geometry.ConvexHull.GrahamFam- Algorithms.Geometry.ConvexHull.GrahamFamPeano- Algorithms.Geometry.ConvexHull.GrahamFixed- Data.Geometry.Vector.VectorFamily6- Algorithms.Geometry.ConvexHull.GrahamFam6- Data.Geometry.IntervalTreeBench- Demo.ExpectedPairwiseDistance- Demo.TriangulateWorld- WSPDBench- Algorithms.Geometry.ClosestPair.Bench-- build-depends:- base- , criterion >= 1.1.4.0- , fixed-vector- , linear- , semigroups- , deepseq- , deepseq-generics- , hgeometry- , lens- , QuickCheck- , bytestring- , containers- , optparse-applicative-- ghc-options: -Wall -O2 -rtsopts -fno-warn-unticked-promoted-constructors-- default-language: Haskell2010-- default-extensions: TypeFamilies- , GADTs- , KindSignatures- , DataKinds- , TypeOperators- , ConstraintKinds- , PolyKinds- , RankNTypes-- , PatternSynonyms- , ViewPatterns- , LambdaCase- , TupleSections--- , StandaloneDeriving- , GeneralizedNewtypeDeriving- , DeriveFunctor- , DeriveFoldable- , DeriveTraversable-- , AutoDeriveTypeable-- , FlexibleInstances- , FlexibleContexts- , MultiParamTypeClasses- , OverloadedStrings+-- Initial hgeometry.cabal generated by cabal init. For further +-- documentation, see http://haskell.org/cabal/users-guide/ + +name: hgeometry +version: 0.8.0.0 +x-revision: 1 +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. Note that HGeometry is still highly experimental, don't be surprised to find bugs. + +homepage: https://fstaals.net/software/hgeometry +license: BSD3 +license-file: LICENSE +author: Frank Staals +maintainer: frank@fstaals.net +-- copyright: + +tested-with: GHC >= 8.2 + +category: Geometry +build-type: Simple + +data-files: resources/basic.isy + test/Algorithms/Geometry/LineSegmentIntersection/manual.ipe + test/Algorithms/Geometry/LineSegmentIntersection/selfIntersections.ipe + test/Algorithms/Geometry/LowerEnvelope/manual.ipe + test/Algorithms/Geometry/PolygonTriangulation/monotone.ipe + test/Algorithms/Geometry/PolygonTriangulation/simplepolygon6.ipe + test/Algorithms/Geometry/SmallestEnclosingDisk/manual.ipe + test/Data/Geometry/pointInPolygon.ipe + test/Data/Geometry/pointInTriangle.ipe + test/Data/Geometry/Polygon/Convex/convexTests.ipe + test/Data/Geometry/arrangement.ipe + test/Data/Geometry/arrangement.ipe.out.ipe + test/Data/myGraph.yaml + test/Data/myPlaneGraph.yaml + + examples/BAPC2014/sample.in + examples/BAPC2014/sample.out + examples/BAPC2014/testdata.in + examples/BAPC2014/testdata.out + examples/BAPC2012/G.in + examples/BAPC2012/G.out + examples/BAPC2012/sampleG.in + examples/BAPC2012/sampleG.out + + -- in the future (cabal >=2.4) we can use + -- examples/**/*.in + -- examples/**/*.out + +extra-source-files: README.md + changelog.md + +Extra-doc-files: docs/Data/PlanarGraph/testG.png + -- docs/**/*.png + +cabal-version: 2.0 +source-repository head + type: git + location: https://github.com/noinia/hgeometry + + +flag examples + description: Build demonstration programs + default: False + manual: True + +flag with-quickcheck + description: Include QuickCheck instances + default: True + manual: False + +flag interactive + description: Build interactive parts + default: False + manual: True + +library + ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults + + exposed-modules: + -- * Generic Geometry + Data.Geometry + Data.Geometry.Properties + Data.Geometry.Transformation + Data.Geometry.Boundary + Data.Geometry.Duality + + -- * Basic Geometry Types + Data.Geometry.Vector + Data.Geometry.Vector.VectorFixed + Data.Geometry.Vector.VectorFamily + Data.Geometry.Vector.VectorFamilyPeano + + -- Data.Geometry.Vector.Vinyl + Data.Geometry.Interval + Data.Geometry.Interval.Util + Data.Geometry.Point + Data.Geometry.Line + Data.Geometry.Line.Internal + Data.Geometry.LineSegment + Data.Geometry.SubLine + Data.Geometry.HalfLine + Data.Geometry.PolyLine + Data.Geometry.HyperPlane + 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 + + -- * Geometric Data Structures + Data.Geometry.IntervalTree + Data.Geometry.SegmentTree + Data.Geometry.SegmentTree.Generic + + Data.Geometry.KDTree + + Data.Geometry.PlanarSubdivision + Data.Geometry.PlanarSubdivision.Basic + Data.Geometry.PlanarSubdivision.Draw + + Data.Geometry.Arrangement + Data.Geometry.Arrangement.Internal + Data.Geometry.Arrangement.Draw + + -- * Algorithms + + -- * Geometric Algorithms + Algorithms.Geometry.ConvexHull.GrahamScan + Algorithms.Geometry.ConvexHull.DivideAndConquer + + Algorithms.Geometry.LowerEnvelope.DualCH + + Algorithms.Geometry.SmallestEnclosingBall.Types + Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction + Algorithms.Geometry.SmallestEnclosingBall.Naive + + Algorithms.Geometry.DelaunayTriangulation.Types + Algorithms.Geometry.DelaunayTriangulation.DivideAndConquer + Algorithms.Geometry.DelaunayTriangulation.Naive + + Algorithms.Geometry.PolyLineSimplification.DouglasPeucker + + Algorithms.Geometry.EuclideanMST.EuclideanMST + + Algorithms.Geometry.WellSeparatedPairDecomposition.WSPD + Algorithms.Geometry.WellSeparatedPairDecomposition.Types + + Algorithms.Geometry.Diameter + + Algorithms.Geometry.Sweep + + Algorithms.Geometry.PolygonTriangulation.Types + Algorithms.Geometry.PolygonTriangulation.Triangulate + Algorithms.Geometry.PolygonTriangulation.MakeMonotone + Algorithms.Geometry.PolygonTriangulation.TriangulateMonotone + + Algorithms.Geometry.LineSegmentIntersection + Algorithms.Geometry.LineSegmentIntersection.Naive + Algorithms.Geometry.LineSegmentIntersection.BentleyOttmann + Algorithms.Geometry.LineSegmentIntersection.Types + + -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemoval + + Algorithms.Geometry.ClosestPair.Naive + Algorithms.Geometry.ClosestPair.DivideAndConquer + + + -- * Graph Algorithms + Algorithms.Graph.DFS + Algorithms.Graph.MST + + -- * Ipe Types + Data.Geometry.Ipe + Data.Geometry.Ipe.Literal + Data.Geometry.Ipe.Value + Data.Geometry.Ipe.Color + 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 + + -- * General Data Types + Data.UnBounded + Data.Range + Data.Ext + Data.LSeq + Data.CircularSeq + Data.Sequence.Util + Data.BinaryTree + Data.BinaryTree.Zipper + + Data.CircularList.Util + Data.BalBST + Data.OrdSeq + Data.SlowSeq + Data.Tree.Util + Data.Util + + -- * Planar Graphs + Data.Permutation + Data.PlanarGraph + Data.PlaneGraph + Data.PlaneGraph.Draw + + -- * Graphics stuff + Graphics.Camera + + -- * Other + System.Random.Shuffle + Control.Monad.State.Persistent + Data.Yaml.Util + + + + other-modules: + Data.Geometry.Ipe.ParserPrimitives + + + + + -- other-extensions: + build-depends: + base >= 4.11 && < 5 + , bifunctors >= 4.1 + , bytestring >= 0.10 + , containers >= 0.5.5 + , dlist >= 0.7 + , contravariant >= 1.4 + , profunctors >= 5.2.1 + , lens >= 4.2 + , linear >= 1.10 + , semigroupoids >= 5 + , semigroups >= 0.18 + , singletons >= 2.0 + , text >= 1.1.1.0 + , vinyl >= 0.6 && < 0.9 + , deepseq >= 1.1 + , fingertree >= 0.1 + , colour >= 2.3.3 + , reflection >= 2.1 + + + -- , validation >= 0.4 + + , parsec >= 3 + -- , tranformers > 0.3 + + , vector >= 0.11 + , fixed-vector >= 1.0 + , data-clist >= 0.0.7.2 + + , hexpat >= 0.20.9 + , aeson >= 1.0 + , yaml >= 0.8 + + + , mtl + , random + , template-haskell + + if flag(with-quickcheck) + build-depends: QuickCheck >= 2.5 + , quickcheck-instances >= 0.3 + exposed-modules: Test.QuickCheck.HGeometryInstances + + + 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 + , DeriveGeneric + , AutoDeriveTypeable + + + , FlexibleInstances + , FlexibleContexts + , MultiParamTypeClasses + +executable hgeometry-viewer + if !flag(interactive) + buildable: False + main-is: Viewer.hs + + if flag(interactive) + build-depends: base + , hgeometry + , lens + , containers + , vinyl + , semigroups + , optparse-applicative >= 0.13.0.0 + , text + , hexpat + , bytestring + , directory + , time + , random + , vector + , colour + , cairo-canvas >= 0.1.0.0 + -- , sdl2 >= 2.2.0 + , gi-gtk >= 3.0.15 + , reactive-banana-gi-gtk >= 0.2.0.0 + , cairo >= 0.13.3.1 + -- , gi-glib + , gi-cairo + , gi-gdk + -- , gi-gdkpixbuf + , gi-gtk + , transformers + , linear + , haskell-gi-base + , reactive-banana >= 1.1.0.1 + + + + hs-source-dirs: interactive + + other-modules: RenderCanvas + RenderUtil + -- ConvexHull + + 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 + + + + +executable hgeometry-examples + if !flag(examples) + buildable: False + main-is: Main.hs + + if flag(examples) + build-depends: base + , hgeometry + , lens + , containers + , vinyl + , semigroups + , optparse-applicative >= 0.13.0.0 + , text + , hexpat + , bytestring + , directory + , time + , random + , QuickCheck + + hs-source-dirs: examples + + other-modules: Demo.DrawGPX + Demo.WriteEnsemble + Demo.MinDisk + Demo.Delaunay + Demo.ExpectedPairwiseDistance + Demo.TriangulateWorld + 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 +-- , doctest-discover + + default-language: Haskell2010 + +test-suite hspec + type: exitcode-stdio-1.0 + default-language: Haskell2010 + hs-source-dirs: test + main-is: Spec.hs + ghc-options: -fno-warn-unticked-promoted-constructors + -fno-warn-partial-type-signatures + -fno-warn-missing-signatures + + build-tool-depends: hspec-discover:hspec-discover + + + other-modules: Data.RangeSpec + Data.EdgeOracleSpec + Data.PlanarGraphSpec + Data.PlaneGraphSpec + Data.OrdSeqSpec + Data.Geometry.Ipe.ReaderSpec + Data.Geometry.PolygonSpec + Data.Geometry.LineSegmentSpec + Data.Geometry.PointSpec + Data.Geometry.Polygon.Convex.ConvexSpec + Data.Geometry.KDTreeSpec + Data.Geometry.IntervalSpec + Data.Geometry.BoxSpec + Data.Geometry.LineSpec + Data.Geometry.SubLineSpec + Data.Geometry.PlanarSubdivisionSpec + Data.Geometry.TriangleSpec + Data.Geometry.ArrangementSpec + + Algorithms.Geometry.SmallestEnclosingDisk.RISpec + Algorithms.Geometry.DelaunayTriangulation.DTSpec + Algorithms.Geometry.WellSeparatedPairDecomposition.WSPDSpec + Algorithms.Geometry.LineSegmentIntersection.BentleyOttmannSpec + Algorithms.Geometry.PolygonTriangulation.MakeMonotoneSpec + Algorithms.Geometry.PolygonTriangulation.TriangulateMonotoneSpec + Algorithms.Geometry.LowerEnvelope.LowerEnvSpec + Algorithms.Geometry.ConvexHull.ConvexHullSpec + -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemovalSpec + Algorithms.Geometry.ClosestPair.ClosestPairSpec + + Util + + + build-depends: base + , hspec >= 2.1 + , QuickCheck >= 2.5 + , quickcheck-instances >= 0.3 + , approximate-equality >= 1.1.0.2 + , hgeometry + , lens + , data-clist + , linear + , bytestring + , vinyl + , semigroups + , vector + , containers + , random + , singletons + , colour + , filepath + , directory + , yaml + + + default-extensions: TypeFamilies + , GADTs + , KindSignatures + , DataKinds + , TypeOperators + , ConstraintKinds + , PolyKinds + , RankNTypes + + , PatternSynonyms + , ViewPatterns + , LambdaCase + , TupleSections + + + , StandaloneDeriving + , GeneralizedNewtypeDeriving + , DeriveFunctor + , DeriveFoldable + , DeriveTraversable + + , AutoDeriveTypeable + + , FlexibleInstances + , FlexibleContexts + , MultiParamTypeClasses + , OverloadedStrings + +test-suite bapc_examples + type: exitcode-stdio-1.0 + ghc-options: -O2 -fno-warn-unticked-promoted-constructors + 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 + +benchmark benchmarks + + hs-source-dirs: benchmark test examples + + main-is: Benchmarks.hs + type: exitcode-stdio-1.0 + + other-modules: Benchmark.Util + Algorithms.Geometry.ConvexHull.Bench + Algorithms.Geometry.ConvexHull.GrahamV2 + Algorithms.Geometry.ConvexHull.GrahamFam + Algorithms.Geometry.ConvexHull.GrahamFamPeano + Algorithms.Geometry.ConvexHull.GrahamFixed + Data.Geometry.Vector.VectorFamily6 + Algorithms.Geometry.ConvexHull.GrahamFam6 + Data.Geometry.IntervalTreeBench + Demo.ExpectedPairwiseDistance + Demo.TriangulateWorld + WSPDBench + Algorithms.Geometry.ClosestPair.Bench + + build-depends: + base + , criterion >= 1.1.4.0 + , fixed-vector + , linear + , semigroups + , deepseq + , deepseq-generics + , hgeometry + , lens + , QuickCheck + , bytestring + , containers + , optparse-applicative + + ghc-options: -Wall -O2 -rtsopts -fno-warn-unticked-promoted-constructors + + default-language: Haskell2010 + + default-extensions: TypeFamilies + , GADTs + , KindSignatures + , DataKinds + , TypeOperators + , ConstraintKinds + , PolyKinds + , RankNTypes + + , PatternSynonyms + , ViewPatterns + , LambdaCase + , TupleSections + + + , StandaloneDeriving + , GeneralizedNewtypeDeriving + , DeriveFunctor + , DeriveFoldable + , DeriveTraversable + + , AutoDeriveTypeable + + , FlexibleInstances + , FlexibleContexts + , MultiParamTypeClasses + , OverloadedStrings