Omega: Integer sets and relations using Presburger arithmetic

[ bsd3, data, library ] [ Propose Tags ] [ Report a vulnerability ]

Sets of integer tuples and relations on integer tuples. Sets and relations are represented compactly by storing their characteristic function as a Presburger arithmetic formula. Formulae are simplified and solved by the Omega Library. The primary interface can be found in Data.Presburger.Omega.Set and Data.Presburger.Omega.Rel.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
useinstalledomega

Link to a preinstalled version of the Omega library

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 1.0, 1.0.1, 1.0.2, 1.0.3
Dependencies base (>=4 && <5), containers [details]
Tested with ghc ==7.4.1, ghc ==7.6.3
License BSD-3-Clause
Author Christopher Rodrigues
Maintainer cirodrig@illinois.edu
Category Data
Uploaded by ChristopherRodrigues at 2014-05-03T12:35:57Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 8823 total (35 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 2 reports]

Readme for Omega-1.0.3

[back to package description]
Omega -- Operations on Presburger arithmetic formulae

This package contains a reduced copy of the Omega library.
The Omega library's home page is http://www.cs.umd.edu/projects/omega/, and
its full sources are at http://github.com/davewathaverford/the-omega-project/.

BUILDING INSTRUCTIONS
---------------------

This is a Cabal package.  The typical build process is:

	runhaskell Setup.hs configure <FLAGS>
	runhaskell Setup.hs build
	runhaskell Setup.hs install

Configure with -fUseInstalledOmega if you have already installed the C++
Omega library.  Otherwise, the library will be built and linked into this
package.

GHCi is not supported due to dynamic loading problems.

Because this package contains C++ source code, Cabal may need help
finding the required headers and libraries.  You may need to provide the paths
to the C++ include directory (contains STL headers such as "vector") and
library directory (contains the C runtime library, called "libstdc++.so" on
GNU Linux systems).  If the C++ Omega library is not installed in a standard
place, you will also need to provide paths to it.

A configuration might look something like this:

	runhaskell Setup.hs configure --disable-library-for-ghci -p \
		--extra-include-dirs=$(YOUR_CXX_INCLUDE_PATH) \
		--extra-lib-dirs=$(YOUR_CXX_LIB_PATH)

DOCUMENTATION
-------------

The C++ Omega library includes documentation of its exported interface in
'interface.dvi'.  You may wish to look there if the Haddock documentation for
a set operation or relation operation is lacking.