hgeometry-0.8.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.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