cabal-version: 3.0 name: brush-strokes version: 0.1.0.0 synopsis: Stroking brush paths category: Calligraphy, Geometry, Graphics license: BSD-3-Clause homepage: https://gitlab.com/sheaf/MetaBrush build-type: Simple description: Computing brush strokes using Bézier curves. flag use-fma description: Use fused-muliply add instructions to implement interval arithmetic. default: True manual: False common common build-depends: base >= 4.17 && < 4.20 , containers >= 0.6.0.1 && < 0.8 , tree-view ^>= 0.5 default-extensions: BangPatterns BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveTraversable DeriveGeneric DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralisedNewtypeDeriving InstanceSigs LambdaCase LexicalNegation MagicHash MultiWayIf NamedFieldPuns NoStarIsType PatternSynonyms RankNTypes RecordWildCards RoleAnnotations StandaloneDeriving StandaloneKindSignatures TupleSections TypeApplications TypeFamilies TypeOperators UnboxedTuples ViewPatterns ghc-options: -O2 -fexpose-all-unfoldings -- -funfolding-use-threshold=1000 -fspecialise-aggressively -flate-dmd-anal -fmax-worker-args=200 -optc-O3 -Wall -Wcompat -fwarn-missing-local-signatures -fwarn-incomplete-patterns -fwarn-incomplete-uni-patterns -fwarn-missing-deriving-strategies -fno-warn-unticked-promoted-constructors if flag(use-fma) cpp-options: -DUSE_FMA ghc-options: -mfma build-depends: base >= 4.19 common extra build-depends: acts ^>= 0.3.1.0 , generic-lens >= 2.2 && < 2.3 , groups ^>= 0.5.3 library import: common, extra hs-source-dirs: src/lib default-language: Haskell2010 exposed-modules: Calligraphy.Brushes , Math.Algebra.Dual , Math.Bezier.Cubic , Math.Bezier.Cubic.Fit , Math.Bezier.Quadratic , Math.Bezier.Spline , Math.Bezier.Stroke , Math.Bezier.Stroke.EnvelopeEquation , Math.Differentiable , Math.Epsilon , Math.Float.Utils , Math.Interval , Math.Linear , Math.Linear.Solve , Math.Module , Math.Monomial , Math.Orientation , Math.Ring , Math.Roots , Math.Root.Isolation , Debug.Utils other-modules: Math.Algebra.Dual.Internal , Math.Interval.Internal , Math.Linear.Internal , Math.Module.Internal , TH.Utils if flag(use-fma) other-modules: Math.Interval.FMA build-depends: template-haskell >= 2.18 && < 2.22 , bifunctors >= 5.5.4 && < 5.7 , code-page ^>= 0.2.1 , deepseq >= 1.4.4.0 && < 1.6 , directory >= 1.3.7.1 && < 1.4 , eigen ^>= 3.3.7.0 , filepath >= 1.4 && < 1.6 , groups-generic ^>= 0.3.1.0 , parallel ^>= 3.2.2.0 , primitive ^>= 0.9.0.0 , rounded-hw ^>= 0.4 , time ^>= 1.12.2 , transformers >= 0.5.6.2 && < 0.7 --executable convert-metafont -- -- import: -- common -- -- hs-source-dirs: -- src/metafont -- -- default-language: -- Haskell2010 -- -- main-is: -- Main.hs -- -- other-modules: -- Calligraphy.MetaFont.Convert -- -- build-depends: -- diagrams-contrib, -- diagrams-lib, -- linear, -- parsec executable inspect import: common, extra hs-source-dirs: src/cusps/inspect default-language: Haskell2010 main-is: Main.hs other-modules: Math.Interval.Abstract build-depends: brush-strokes , data-reify ^>= 0.6.3 test-suite tests import: common type: exitcode-stdio-1.0 hs-source-dirs: src/test default-language: Haskell2010 main-is: Main.hs build-depends: brush-strokes , falsify ^>= 0.2 , hspray ^>= 0.1.3 , tasty ^>= 1.5 , unordered-containers >= 0.2.15 && < 0.3 benchmark cusps import: common hs-source-dirs: src/cusps/bench main-is: Main.hs build-depends: brush-strokes , deepseq type: exitcode-stdio-1.0 default-language: Haskell2010