packages feed

Flint2-0.1.0.2: Flint2.cabal

cabal-version: 1.18

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

name:           Flint2
version:        0.1.0.2
synopsis:       Haskell bindings for the flint library for number theory
description:    A Haskell Wrapper for Flint
                This library provides access to the functionality of the FLINT.
                So what is it?
                FLINT is a C library for doing number theory, freely available under the GNU LGPL at [https://flintlib.org](https://flintlib.org)
                At its core, FLINT provides arithmetic in standard rings such as the integers, rationals, algebraic, real, complex and p-adic numbers, finite fields, and number fields. It also provides polynomials (univariate and multivariate), power series, and matrices.
                At the research frontier
                FLINT has been used for many large scale research computations (e.g. A Trillion Triangles) and has been cited in hundreds of publications. FLINT's authors themselves have published more than 20 papers describing new algorithms first implemented within or on top of FLINT.
category:       Math
homepage:       https://github.com/monien/Flint2#readme
bug-reports:    https://github.com/monien/Flint2/issues
author:         Hartmut Monien
maintainer:     hmonien@uni-bonn.de
copyright:      Copyright (c) 2023 Hartmut Monien
license:        GPL-2
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md
    package.yaml
    stack.yaml
    gpl-2.0.txt
extra-doc-files:
    docs/out.png

source-repository head
  type: git
  location: https://github.com/monien/Flint2

library
  exposed-modules:
      Data.Number.Flint
      Data.Number.Flint.Flint
      Data.Number.Flint.Flint.External
      Data.Number.Flint.Flint.Internal
      Data.Number.Flint.MPoly
      Data.Number.Flint.UFD
      Data.Number.Flint.Quotient
      Data.Number.Flint.Fmpz
      Data.Number.Flint.Fmpz.Instances
      Data.Number.Flint.Fmpz.Arith
      Data.Number.Flint.Fmpz.Factor
      Data.Number.Flint.Fmpz.Mat
      Data.Number.Flint.Fmpz.Mat.Instances
      Data.Number.Flint.Fmpz.Vec
      Data.Number.Flint.Fmpz.Poly
      Data.Number.Flint.Fmpz.Poly.Instances
      Data.Number.Flint.Fmpz.Poly.Factor
      Data.Number.Flint.Fmpz.Poly.Mat
      Data.Number.Flint.Fmpz.Poly.Q
      Data.Number.Flint.Fmpz.Poly.Q.Instances
      Data.Number.Flint.Fmpz.MPoly
      Data.Number.Flint.Fmpz.MPoly.Factor
      Data.Number.Flint.Fmpz.MPoly.Q
      Data.Number.Flint.Fmpz.LLL
      Data.Number.Flint.Fmpz.Mod
      Data.Number.Flint.Fmpz.Mod.Poly
      Data.Number.Flint.Fmpz.Mod.Poly.Factor
      Data.Number.Flint.Fmpz.Mod.MPoly
      Data.Number.Flint.Fmpz.Mod.MPoly.Factor
      Data.Number.Flint.Fmpz.Mod.Mat
      Data.Number.Flint.Fmpz.Mod.Vec
      Data.Number.Flint.Fmpq
      Data.Number.Flint.Fmpq.Instances
      Data.Number.Flint.Fmpq.Mat
      Data.Number.Flint.Fmpq.Mat.Instances
      Data.Number.Flint.Fmpq.Vec
      Data.Number.Flint.Fmpq.Poly
      Data.Number.Flint.Fmpq.Poly.Instances
      Data.Number.Flint.Fmpq.MPoly
      Data.Number.Flint.Fmpq.MPoly.Factor
      Data.Number.Flint.NMod.Types
      Data.Number.Flint.NMod
      Data.Number.Flint.NMod.Poly
      Data.Number.Flint.NMod.Poly.Instances
      Data.Number.Flint.NMod.Poly.Factor
      Data.Number.Flint.NMod.Poly.Mat
      Data.Number.Flint.NMod.MPoly
      Data.Number.Flint.NMod.MPoly.Factor
      Data.Number.Flint.NMod.Mat
      Data.Number.Flint.NMod.Vec
      Data.Number.Flint.Groups.Perm
      Data.Number.Flint.Groups.Qfb
      Data.Number.Flint.Groups.Qfb.Instances
      Data.Number.Flint.Groups.Dirichlet
      Data.Number.Flint.Groups.DLog
      Data.Number.Flint.Groups.Bool.Mat
      Data.Number.Flint.Groups.Bool.Mat.Instances
      Data.Number.Flint.APRCL
      Data.Number.Flint.FFT
      Data.Number.Flint.QSieve
      Data.Number.Flint.Fq.Types
      Data.Number.Flint.Fq
      Data.Number.Flint.Fq.Embed
      Data.Number.Flint.Fq.Poly
      Data.Number.Flint.Fq.Poly.Factor
      Data.Number.Flint.Fq.Mat
      Data.Number.Flint.Fq.Vec
      Data.Number.Flint.Fq.NMod.Types
      Data.Number.Flint.Fq.NMod
      Data.Number.Flint.Fq.NMod.Embed
      Data.Number.Flint.Fq.NMod.Poly
      Data.Number.Flint.Fq.NMod.Poly.Factor
      Data.Number.Flint.Fq.NMod.MPoly
      Data.Number.Flint.Fq.NMod.MPoly.Factor
      Data.Number.Flint.Fq.NMod.Mat
      Data.Number.Flint.Fq.NMod.Vec
      Data.Number.Flint.Fq.Zech.Types
      Data.Number.Flint.Fq.Zech
      Data.Number.Flint.Fq.Zech.Embed
      Data.Number.Flint.Fq.Zech.Poly
      Data.Number.Flint.Fq.Zech.Poly.Factor
      Data.Number.Flint.Fq.Zech.Vec
      Data.Number.Flint.Fq.Zech.Mat
      Data.Number.Flint.Padic
      Data.Number.Flint.Padic.Poly
      Data.Number.Flint.Padic.Mat
      Data.Number.Flint.Qadic
      Data.Number.Flint.Support.ULong.Extras
      Data.Number.Flint.Support.D.Extras
      Data.Number.Flint.Support.D.Interval
      Data.Number.Flint.Support.D.Mat
      Data.Number.Flint.Support.D.Mat.Instances
      Data.Number.Flint.Support.D.Vec
      Data.Number.Flint.Support.Mpf.Mat
      Data.Number.Flint.Support.Mpf.Vec
      Data.Number.Flint.Support.Mpfr.Mat
      Data.Number.Flint.Support.Mpfr.Vec
      Data.Number.Flint.ThreadPool
      Data.Number.Flint.Arb.Types
      Data.Number.Flint.Arb
      Data.Number.Flint.Arb.Instances
      Data.Number.Flint.Arb.Mag
      Data.Number.Flint.Arb.Mag.Instances
      Data.Number.Flint.Arb.Arf
      Data.Number.Flint.Arb.Poly
      Data.Number.Flint.Arb.Poly.Instances
      Data.Number.Flint.Arb.Fmpz.Poly
      Data.Number.Flint.Arb.Mat
      Data.Number.Flint.Arb.Mat.Instances
      Data.Number.Flint.Arb.Hypgeom
      Data.Number.Flint.Arb.RealField
      Data.Number.Flint.Arb.Calc
      Data.Number.Flint.Arb.FpWrap
      Data.Number.Flint.Acb.Types
      Data.Number.Flint.Acb
      Data.Number.Flint.Acb.Instances
      Data.Number.Flint.Acb.Acf
      Data.Number.Flint.Acb.Poly
      Data.Number.Flint.Acb.Poly.Instances
      Data.Number.Flint.Acb.Mat
      Data.Number.Flint.Acb.Mat.Instances
      Data.Number.Flint.Acb.Hypgeom
      Data.Number.Flint.Acb.Elliptic
      Data.Number.Flint.Acb.Modular
      Data.Number.Flint.Acb.Modular.Instances
      Data.Number.Flint.Acb.Dirichlet
      Data.Number.Flint.Acb.DFT
      Data.Number.Flint.Acb.ComplexField
      Data.Number.Flint.Acb.Calc
      Data.Number.Flint.Calcium
      Data.Number.Flint.Calcium.Ca
      Data.Number.Flint.Calcium.Ca.Types
      Data.Number.Flint.Calcium.Ca.Poly
      Data.Number.Flint.Calcium.Ca.Vec
      Data.Number.Flint.Calcium.Ca.Mat
      Data.Number.Flint.Calcium.Ca.Field
      Data.Number.Flint.Calcium.Ca.Ext
      Data.Number.Flint.Calcium.Fexpr
      Data.Number.Flint.Calcium.Fexpr.Instances
      Data.Number.Flint.Calcium.Fexpr.Builtin
      Data.Number.Flint.Bernoulli
      Data.Number.Flint.Partitions
      Data.Number.Flint.Hypgeom
      Data.Number.Flint.NF
      Data.Number.Flint.NF.Elem
      Data.Number.Flint.NF.Fmpzi
      Data.Number.Flint.NF.Fmpzi.Instances
      Data.Number.Flint.NF.QQbar
      Data.Number.Flint.NF.QQbar.Instances
  other-modules:
      Data.Number.Flint.Flint.FFI
      Data.Number.Flint.Flint.External.GMP.FFI
      Data.Number.Flint.Flint.External.Mpfr.FFI
      Data.Number.Flint.Flint.Internal.FFI
      Data.Number.Flint.MPoly.FFI
      Data.Number.Flint.Fmpz.FFI
      Data.Number.Flint.Fmpz.Arith.FFI
      Data.Number.Flint.Fmpz.Factor.FFI
      Data.Number.Flint.Fmpz.Mat.FFI
      Data.Number.Flint.Fmpz.Vec.FFI
      Data.Number.Flint.Fmpz.Poly.FFI
      Data.Number.Flint.Fmpz.Poly.Factor.FFI
      Data.Number.Flint.Fmpz.Poly.Mat.FFI
      Data.Number.Flint.Fmpz.Poly.Q.FFI
      Data.Number.Flint.Fmpz.MPoly.FFI
      Data.Number.Flint.Fmpz.MPoly.Factor.FFI
      Data.Number.Flint.Fmpz.MPoly.Q.FFI
      Data.Number.Flint.Fmpz.LLL.FFI
      Data.Number.Flint.Fmpz.Mod.FFI
      Data.Number.Flint.Fmpz.Mod.Poly.FFI
      Data.Number.Flint.Fmpz.Mod.Poly.Factor.FFI
      Data.Number.Flint.Fmpz.Mod.MPoly.FFI
      Data.Number.Flint.Fmpz.Mod.MPoly.Factor.FFI
      Data.Number.Flint.Fmpz.Mod.Mat.FFI
      Data.Number.Flint.Fmpz.Mod.Vec.FFI
      Data.Number.Flint.Fmpq.FFI
      Data.Number.Flint.Fmpq.Mat.FFI
      Data.Number.Flint.Fmpq.Vec.FFI
      Data.Number.Flint.Fmpq.Poly.FFI
      Data.Number.Flint.Fmpq.MPoly.FFI
      Data.Number.Flint.Fmpq.MPoly.Factor.FFI
      Data.Number.Flint.NMod.Types.FFI
      Data.Number.Flint.NMod.FFI
      Data.Number.Flint.NMod.Poly.FFI
      Data.Number.Flint.NMod.Poly.Factor.FFI
      Data.Number.Flint.NMod.Poly.Mat.FFI
      Data.Number.Flint.NMod.MPoly.FFI
      Data.Number.Flint.NMod.MPoly.Factor.FFI
      Data.Number.Flint.NMod.Mat.FFI
      Data.Number.Flint.NMod.Vec.FFI
      Data.Number.Flint.Groups.Perm.FFI
      Data.Number.Flint.Groups.Qfb.FFI
      Data.Number.Flint.Groups.Dirichlet.FFI
      Data.Number.Flint.Groups.DLog.FFI
      Data.Number.Flint.Groups.Bool.Mat.FFI
      Data.Number.Flint.APRCL.FFI
      Data.Number.Flint.FFT.FFI
      Data.Number.Flint.QSieve.FFI
      Data.Number.Flint.Fq.FFI
      Data.Number.Flint.Fq.Types.FFI
      Data.Number.Flint.Fq.Embed.FFI
      Data.Number.Flint.Fq.Poly.FFI
      Data.Number.Flint.Fq.Poly.Factor.FFI
      Data.Number.Flint.Fq.Mat.FFI
      Data.Number.Flint.Fq.Vec.FFI
      Data.Number.Flint.Fq.NMod.FFI
      Data.Number.Flint.Fq.NMod.Embed.FFI
      Data.Number.Flint.Fq.NMod.Types.FFI
      Data.Number.Flint.Fq.NMod.Poly.FFI
      Data.Number.Flint.Fq.NMod.Poly.Factor.FFI
      Data.Number.Flint.Fq.NMod.MPoly.FFI
      Data.Number.Flint.Fq.NMod.MPoly.Factor.FFI
      Data.Number.Flint.Fq.NMod.Mat.FFI
      Data.Number.Flint.Fq.NMod.Vec.FFI
      Data.Number.Flint.Fq.Zech.FFI
      Data.Number.Flint.Fq.Zech.Embed.FFI
      Data.Number.Flint.Fq.Zech.Types.FFI
      Data.Number.Flint.Fq.Zech.Poly.FFI
      Data.Number.Flint.Fq.Zech.Poly.Factor.FFI
      Data.Number.Flint.Fq.Zech.Vec.FFI
      Data.Number.Flint.Fq.Zech.Mat.FFI
      Data.Number.Flint.Padic.FFI
      Data.Number.Flint.Padic.Poly.FFI
      Data.Number.Flint.Padic.Mat.FFI
      Data.Number.Flint.Qadic.FFI
      Data.Number.Flint.Support.ULong.Extras.FFI
      Data.Number.Flint.Support.D.Extras.FFI
      Data.Number.Flint.Support.D.Interval.FFI
      Data.Number.Flint.Support.D.Mat.FFI
      Data.Number.Flint.Support.D.Vec.FFI
      Data.Number.Flint.Support.Mpf.Mat.FFI
      Data.Number.Flint.Support.Mpf.Vec.FFI
      Data.Number.Flint.Support.Mpfr.Mat.FFI
      Data.Number.Flint.Support.Mpfr.Vec.FFI
      Data.Number.Flint.ThreadPool.FFI
      Data.Number.Flint.Arb.Types.FFI
      Data.Number.Flint.Arb.FFI
      Data.Number.Flint.Arb.Mag.FFI
      Data.Number.Flint.Arb.Arf.FFI
      Data.Number.Flint.Arb.Poly.FFI
      Data.Number.Flint.Arb.Fmpz.Poly.FFI
      Data.Number.Flint.Arb.Mat.FFI
      Data.Number.Flint.Arb.Hypgeom.FFI
      Data.Number.Flint.Arb.Calc.FFI
      Data.Number.Flint.Arb.FpWrap.FFI
      Data.Number.Flint.Acb.Types.FFI
      Data.Number.Flint.Acb.FFI
      Data.Number.Flint.Acb.Acf.FFI
      Data.Number.Flint.Acb.Poly.FFI
      Data.Number.Flint.Acb.Mat.FFI
      Data.Number.Flint.Acb.Hypgeom.FFI
      Data.Number.Flint.Acb.Elliptic.FFI
      Data.Number.Flint.Acb.Modular.FFI
      Data.Number.Flint.Acb.Dirichlet.FFI
      Data.Number.Flint.Acb.DFT.FFI
      Data.Number.Flint.Acb.Calc.FFI
      Data.Number.Flint.Calcium.FFI
      Data.Number.Flint.Calcium.Ca.FFI
      Data.Number.Flint.Calcium.Ca.Types.FFI
      Data.Number.Flint.Calcium.Ca.Poly.FFI
      Data.Number.Flint.Calcium.Ca.Vec.FFI
      Data.Number.Flint.Calcium.Ca.Mat.FFI
      Data.Number.Flint.Calcium.Ca.Field.FFI
      Data.Number.Flint.Calcium.Ca.Ext.FFI
      Data.Number.Flint.Calcium.Fexpr.FFI
      Data.Number.Flint.Bernoulli.FFI
      Data.Number.Flint.Partitions.FFI
      Data.Number.Flint.Hypgeom.FFI
      Data.Number.Flint.NF.FFI
      Data.Number.Flint.NF.Elem.FFI
      Data.Number.Flint.NF.Fmpzi.FFI
      Data.Number.Flint.NF.QQbar.FFI
  hs-source-dirs:
      src
  default-extensions:
      CApiFFI
      ForeignFunctionInterface
      FlexibleInstances
      TupleSections
      RankNTypes
      ScopedTypeVariables
      GADTs
      DataKinds
      TypeFamilies
      TypeOperators
      TypeSynonymInstances
      TypeFamilies
      KindSignatures
      MultiParamTypeClasses
      FunctionalDependencies
  include-dirs:
      csrc
  install-includes:
      acb.h
      acb_mat.h
      acb_modular.h
      acb_poly.h
      aprcl.h
      arb.h
      arb_calc.h
      arb_fpwrap.h
      arb_mat.h
      arb_poly.h
      arf.h
      bool_mat.h
      d_mat.h
      dirichlet.h
      double_interval.h
      fmpq.h
      fmpq_mat.h
      fmpq_poly.h
      fmpq_vec.h
      fmpz.h
      fmpz_factor.h
      fmpz_mat.h
      fmpz_mod_poly_factor.h
      fmpz_mpoly_factor.h
      fmpz_mpoly_q.h
      fmpz_poly_mat.h
      fmpz_vec.h
      fmpzi.h
      fq.h
      fq_mat.h
      fq_nmod.h
      fq_nmod_mat.h
      fq_zech.h
      fq_zech_mat.h
      mag.h
      mpfr_mat.h
      nmod_poly_factor.h
      nmod_poly_mat.h
      padic_mat.h
      padic_poly.h
      perm.h
      psl2z.h
      qadic.h
      qfb.h
      qqbar.h
  c-sources:
      csrc/fmpz/init.c
      csrc/fmpz/clear.c
      csrc/fmpz_factor/init.c
      csrc/fmpz_factor/clear.c
      csrc/fmpz_factor/fprint.c
      csrc/fmpz_poly_mat/fprint.c
      csrc/fmpz_poly_mat/get_str.c
      csrc/fmpz_factor/get_str.c
      csrc/fmpz_mpoly_factor/io.c
      csrc/fmpz_mpoly_q/fprint.c
      csrc/fmpz_mpoly_q/get_str_pretty.c
      csrc/fmpz_vec/get_str.c
      csrc/fmpz_mat/get_str.c
      csrc/fmpz_mat/get_str_pretty.c
      csrc/fmpz_mod_poly_factor/fprint.c
      csrc/fmpz_mod_poly_factor/fprint_pretty.c
      csrc/fmpz_mod_poly_factor/get_str.c
      csrc/fmpz_mod_poly_factor/get_str_pretty.c
      csrc/fmpq/mediant.c
      csrc/fmpq/get_fmpz_frac.c
      csrc/fmpq/cfrac_st.c
      csrc/fmpq_mat/get_str.c
      csrc/fmpq_mat/fprint.c
      csrc/fmpq_vec/get_str.c
      csrc/fmpq_poly/io_as_series.c
      csrc/fmpq_poly/monien.c
      csrc/nmod_poly_factor/get_str.c
      csrc/nmod_poly_factor/get_str_pretty.c
      csrc/nmod_poly_factor/fprint.c
      csrc/nmod_poly_factor/fprint_pretty.c
      csrc/nmod_poly_mat/fprint.c
      csrc/nmod_poly_mat/get_str.c
      csrc/aprcl/fprint.c
      csrc/aprcl/get_str.c
      csrc/bool_mat/get_str.c
      csrc/dirichlet/io.c
      csrc/qfb/get_str.c
      csrc/qfb/fprint.c
      csrc/qqbar/fprint.c
      csrc/qqbar/fprintn.c
      csrc/qqbar/get_str.c
      csrc/qqbar/get_strn.c
      csrc/dlog/inlines.c
      csrc/fmpzi/fprint.c
      csrc/fmpzi/get_str.c
      csrc/fq/ctx_get_str.c
      csrc/fq_mat/get_str.c
      csrc/fq_mat/get_str_pretty.c
      csrc/fq_nmod/ctx_get_str.c
      csrc/fq_nmod_mat/get_str.c
      csrc/fq_nmod_mat/get_str_pretty.c
      csrc/fq_zech/ctx_get_str.c
      csrc/fq_zech_mat/get_str.c
      csrc/fq_zech_mat/get_str_pretty.c
      csrc/padic_poly/get_str.c
      csrc/padic_poly/get_str_pretty.c
      csrc/padic_mat/get_str.c
      csrc/padic_mat/get_str_pretty.c
      csrc/qadic/get_str_pretty.c
      csrc/double_interval/fprint.c
      csrc/double_interval/get_str.c
      csrc/d_mat/entry.c
      csrc/d_mat/io.c
      csrc/arb/midref.c
      csrc/arb/radref.c
      csrc/arf/inlines.c
      csrc/mag/get_str.c
      csrc/arb/get_strd.c
      csrc/arb/get_strn.c
      csrc/arb/get_str_.c
      csrc/arb_mat/get_strd.c
      csrc/arb_mat/get_strn.c
      csrc/arb_mat/fprintn.c
      csrc/arb_mat/entry.c
      csrc/arb_poly/get_strd.c
      csrc/arb_calc/get_strd.c
      csrc/arb_calc/inlines.c
      csrc/arb_fpwrap/fpwrap.c
      csrc/acb/get_str.c
      csrc/acb/get_strd.c
      csrc/acb/get_strn.c
      csrc/acb_poly/get_strd.c
      csrc/acb_mat/get_strd.c
      csrc/acb_mat/get_strn.c
      csrc/acb_mat/fprintn.c
      csrc/acb_mat/entry.c
      csrc/acb_modular/inlines.c
      csrc/acb_modular/get_str.c
      csrc/mpfr_mat/swap_entrywise.c
      csrc/ca_poly/io.c
      csrc/ca_mat/io.c
      csrc/ca_ext/io.c
      csrc/psl2z/word_problem.c
      csrc/perm/order.c
      csrc/perm/print_pretty.c
      csrc/perm/power.c
      csrc/perm/mat.c
  extra-libraries:
      flint
  pkgconfig-depends:
      flint >= 2.9, gmp
  build-tools:
      hsc2hs
  build-depends:
      QuickCheck >=2.14.3 && <2.15
    , base >=4.7 && <5
    , containers >=0.6.5 && <0.7
    , groups >=0.5.3 && <0.6
  default-language: Haskell2010

test-suite Flint2-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Paths_Flint2
  hs-source-dirs:
      test
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      Flint2
    , base >=4.7 && <5
  default-language: Haskell2010