packages feed

geomancy-0.4.0.0: geomancy.cabal

cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.39.6.
--
-- see: https://github.com/sol/hpack

name:           geomancy
version:        0.4.0.0
synopsis:       Vectors and matrix manipulation
description:    Sometimes it is unavoidable you have to do stuff on CPU.
                Let's at least do it faster.
category:       Graphics
author:         IC Rainbow
maintainer:     aenor.realm@gmail.com
copyright:      2020-2026 IC Rainbow
license:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
  type: git
  location: https://gitlab.com/dpwiz/geomancy

flag serialise
  manual: True
  default: True

flag th-lift
  manual: True
  default: True

library
  exposed-modules:
      Geomancy
      Geomancy.DMat4
      Geomancy.DMat4.Internal
      Geomancy.DQuaternion
      Geomancy.DTransform
      Geomancy.DTransform.Tree
      Geomancy.DVec2
      Geomancy.DVec3
      Geomancy.DVec4
      Geomancy.Elementwise
      Geomancy.Gl.Funs
      Geomancy.I64Vec2
      Geomancy.I64Vec3
      Geomancy.I64Vec4
      Geomancy.Interpolate
      Geomancy.IVec2
      Geomancy.IVec3
      Geomancy.IVec4
      Geomancy.Mat4
      Geomancy.Mat4.Internal
      Geomancy.Point
      Geomancy.Quaternion
      Geomancy.Swizzle
      Geomancy.Swizzle.DVec.Down
      Geomancy.Swizzle.DVec.Extend
      Geomancy.Swizzle.DVec.Shuffle
      Geomancy.Swizzle.DVec.Up
      Geomancy.Swizzle.I64Vec.Down
      Geomancy.Swizzle.I64Vec.Extend
      Geomancy.Swizzle.I64Vec.Shuffle
      Geomancy.Swizzle.I64Vec.Up
      Geomancy.Swizzle.IVec.Down
      Geomancy.Swizzle.IVec.Extend
      Geomancy.Swizzle.IVec.Shuffle
      Geomancy.Swizzle.IVec.Up
      Geomancy.Swizzle.U64Vec.Down
      Geomancy.Swizzle.U64Vec.Extend
      Geomancy.Swizzle.U64Vec.Shuffle
      Geomancy.Swizzle.U64Vec.Up
      Geomancy.Swizzle.UVec.Down
      Geomancy.Swizzle.UVec.Extend
      Geomancy.Swizzle.UVec.Shuffle
      Geomancy.Swizzle.UVec.Up
      Geomancy.Swizzle.Vec.Down
      Geomancy.Swizzle.Vec.Extend
      Geomancy.Swizzle.Vec.Shuffle
      Geomancy.Swizzle.Vec.Up
      Geomancy.Transform
      Geomancy.Transform.Tree
      Geomancy.Tree
      Geomancy.U64Vec2
      Geomancy.U64Vec3
      Geomancy.U64Vec4
      Geomancy.UVec2
      Geomancy.UVec3
      Geomancy.UVec4
      Geomancy.Vec2
      Geomancy.Vec3
      Geomancy.Vec4
      Geomancy.Vector
      Geomancy.Vulkan.DProjection
      Geomancy.Vulkan.DView
      Geomancy.Vulkan.Projection
      Geomancy.Vulkan.View
  other-modules:
      Paths_geomancy
  hs-source-dirs:
      src
  ghc-options: -Wall
  c-sources:
      cbits/mat4.c
      cbits/dmat4.c
  build-depends:
      base >=4.7 && <5
    , containers
    , deepseq
    , gl-block
    , mono-traversable
    , ptrdiff
    , simple-affine-space
    , webcolor-labels
  default-language: Haskell2010
  if flag(th-lift)
    cpp-options: -DTH_LIFT
    build-depends:
        template-haskell
  if flag(serialise)
    cpp-options: -DSERIALISE
    build-depends:
        serialise

test-suite geomancy-test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      Spec.DMat4
      Spec.DQuaternion
      Spec.DTransform
      Spec.DVec
      Spec.Fusion
      Spec.Mat4
      Spec.Point
      Spec.Quaternion
      Spec.Storable
      Spec.Swizzle
      Spec.Transform
      Spec.Vec4
      Spec.Vec64
      Spec.Vulkan
      Support.Ball
      Support.Fixtures
      Support.Gen
      Support.Linear
      Support.Property
      Support.Reference.Linear
      Support.Reference.Mat4
      Support.Reference.Quaternion
      Support.Reference.Transform
      Support.Reference.Vec3
      Support.Reference.Vulkan
      Support.Swizzle
      Paths_geomancy
  hs-source-dirs:
      test
  ghc-options: -Wall -threaded -rtsopts "-with-rtsopts=-N -qn1 -A128m"
  build-depends:
      base >=4.7 && <5
    , deepseq
    , geomancy
    , gl-block
    , hedgehog
    , linear
    , simple-affine-space
    , tasty
    , tasty-hedgehog
    , vector
  default-language: Haskell2010

benchmark geomancy-bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      Bench.Common
      Bench.DMat4
      Bench.DQuaternion
      Bench.Mat4
      Bench.Quaternion
      Paths_geomancy
  hs-source-dirs:
      bench
  ghc-options: -Wall -rtsopts "-with-rtsopts=-A32m -T"
  build-depends:
      base >=4.7 && <5
    , deepseq
    , geomancy
    , linear
    , simple-affine-space
    , tasty
    , tasty-bench
  default-language: Haskell2010