Omega: Integer sets and relations using Presburger arithmetic

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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]

Properties

Versions 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, 1.0.3
Change log None available
Dependencies base (==4.*), containers [details]
License BSD-3-Clause
Author Christopher Rodrigues
Maintainer cirodrig@illinois.edu
Category Data
Uploaded by ChristopherRodrigues at 2014-05-03T03:28:18Z

Modules

Manual Flags

NameDescriptionDefault
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

For package maintainers and hackage trustees


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.