packages feed

posit-3.2.0.0: posit.cabal

cabal-version: 1.12

name:           posit
version:        3.2.0.0
description:    The Posit Number format.  Please see the README on GitHub at <https://github.com/waivio/posit#readme>
homepage:       https://github.com/waivio/posit#readme
bug-reports:    https://github.com/waivio/posit/issues
author:         Nathan Waivio
maintainer:     nathan.waivio@gmail.com
copyright:      2021-2022 Nathan Waivio
license:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
  type: git
  location: https://github.com/waivio/posit

flag do-no-storable
  description: Build without Storable Class support
  manual:      True
  default:     False

flag do-no-orphans
  description: Build without Orphan Instances if data-dword gets updated for Storable Instances
  manual:      True
  default:     False

flag do-liquid
  description: Build with Liquid Haskell checking
  manual:      True
  default:     False

flag do-test
  description: Export additional algorithms for calculating primitive functions for test purposes
  manual:      True
  default:     False

library
  exposed-modules:
      Posit
      Posit.Internal.PositC
  other-modules:
  hs-source-dirs:
      src
  build-depends:
      data-dword,
      scientific
  default-language: Haskell2010

  -- Compiler options
  ghc-options: -Wall -O2
 
  if flag(do-liquid)
    ghc-options: -fplugin=LiquidHaskell -fplugin-opt=LiquidHaskell:--fast -fplugin-opt=LiquidHaskell:--max-case-expand=4 -fplugin-opt=LiquidHaskell:--no-termination -fplugin-opt=LiquidHaskell:--short-names
 
  if flag(do-no-storable)
    cpp-options: -DO_NO_STORABLE
 
  if flag(do-no-orphans)
    cpp-options: -DO_NO_ORPHANS
 
  if flag(do-liquid)
    cpp-options: -DO_LIQUID -DO_NO_STORABLE -DO_NO_READ -DO_NO_SHOW
 
  if flag(do-test)
    cpp-options: -DO_TEST
 
  -- Other library packages from which modules are imported.
  build-depends:
    deepseq >=1.1 && <2
 
  if !flag(do-liquid)
    build-depends:
      base >=4.7 && <5
 
  if flag(do-liquid)
    build-depends:
      liquid-base,
      liquidhaskell >= 0.8.10

-- perhaps one day: -threaded -rtsopts -with-rtsopts=-N
test-suite posit-test
  type: exitcode-stdio-1.0
  main-is: TestPosit.hs
  hs-source-dirs:
      test
  ghc-options: -O2
  cpp-options: -DO_TEST
  build-depends:
      base >=4.7 && <5
    , posit
  default-language: Haskell2010