pure-cdt-0.2.0.0: pure-cdt.cabal
cabal-version: 2.2
-- This file has been generated from package.yaml by hpack version 0.39.6.
--
-- see: https://github.com/sol/hpack
name: pure-cdt
version: 0.2.0.0
synopsis: Constrained Delaunay triangulation and mesh refinement in 2D, in pure Haskell
description: Delaunay triangulation of a set of points in the plane, computed by divide
and conquer and parallelised with @Control.Parallel.Strategies@; constrained
triangulation of a polygon with holes, where the boundary edges are forced
into the triangulation and the triangles outside the region are dropped;
Delaunay refinement (Ruppert's algorithm) to a minimum angle and a maximum
triangle area; and an indexed mesh (node coordinates, index triples,
boundary edges) for finite element code.
.
Everything is written in Haskell, with a pure API and no bindings to a C or
C++ library, so the package builds wherever GHC does.
.
The geometric predicates (orientation, in-circle, segment crossing) are
exact: a floating-point filter decides the easy cases and @Rational@
arithmetic the rest, so collinear and cocircular inputs are handled
correctly.
.
Start with the "Triangulation" module. Please see the README on GitHub at
<https://github.com/alexelyukov/triangulation#readme>.
category: Geometry
homepage: https://github.com/alexelyukov/triangulation#readme
bug-reports: https://github.com/alexelyukov/triangulation/issues
author: Alex Elyukov
maintainer: alexelyukov@gmail.com
copyright: 2025-2026 Alex Elyukov
license: BSD-3-Clause
license-file: LICENSE
build-type: Simple
tested-with:
GHC == 9.6.7 || == 9.10.3 || == 9.14.1
extra-doc-files:
README.md
CHANGELOG.md
source-repository head
type: git
location: https://github.com/alexelyukov/triangulation
flag examples
description: Build the executable that renders the example pictures
manual: True
default: False
library
exposed-modules:
Triangulation
Triangulation.Check
Triangulation.Constrained
Triangulation.Flip
Triangulation.Generator
Triangulation.Geometry
Triangulation.Geometry.Edge
Triangulation.Geometry.Exact
Triangulation.Geometry.Point
Triangulation.Geometry.Polygon
Triangulation.Geometry.Ring
Triangulation.Geometry.Triangle
Triangulation.Leaf
Triangulation.Merge
Triangulation.Mesh
Triangulation.Parallel
Triangulation.Refine
Triangulation.Repair
Triangulation.Store
Triangulation.Types
other-modules:
Paths_pure_cdt
autogen-modules:
Paths_pure_cdt
hs-source-dirs:
src
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wunused-packages
build-depends:
base >=4.18 && <5
, deepseq >=1.4 && <1.6
, hashable >=1.4 && <1.6
, parallel >=3.2 && <3.4
, random >=1.2 && <1.4
, unordered-containers >=0.2.19 && <0.3
, vector ==0.13.*
default-language: GHC2021
executable pure-cdt-examples
main-is: Main.hs
other-modules:
Drawer
Examples.Circle
Examples.Common
Examples.Gear
Examples.Simple
Examples.Solenoid
Paths_pure_cdt
autogen-modules:
Paths_pure_cdt
hs-source-dirs:
app
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wunused-packages -threaded -rtsopts -with-rtsopts=-maxN8
build-depends:
JuicyPixels ==3.3.*
, Rasterific ==0.7.*
, base >=4.18 && <5
, pure-cdt
default-language: GHC2021
if !flag(examples)
buildable: False
test-suite pure-cdt-test
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
Test.Geometry
Test.Mesh
Test.Refine
Test.Ring
Test.Triangulation
Paths_pure_cdt
autogen-modules:
Paths_pure_cdt
hs-source-dirs:
test
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wunused-packages -threaded -rtsopts -with-rtsopts=-maxN8
build-depends:
base >=4.18 && <5
, hashable >=1.4 && <1.6
, pure-cdt
, tasty >=1.4 && <1.6
, tasty-hunit ==0.10.*
, tasty-quickcheck >=0.10 && <0.12
, vector ==0.13.*
default-language: GHC2021
benchmark pure-cdt-bench
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs:
bench
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wunused-packages -threaded -rtsopts -with-rtsopts=-maxN8
build-depends:
base >=4.18 && <5
, pure-cdt
, tasty-bench >=0.3 && <0.5
default-language: GHC2021
benchmark pure-cdt-scaling
type: exitcode-stdio-1.0
main-is: Scale.hs
hs-source-dirs:
bench
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wunused-packages -threaded -rtsopts
build-depends:
base >=4.18 && <5
, deepseq >=1.4 && <1.6
, pure-cdt
default-language: GHC2021