Initial import.

This commit is contained in:
Jerry James 2013-01-17 08:14:32 -07:00
parent 75e45d9bc2
commit aa3ce73a33
7 changed files with 219 additions and 0 deletions

1
.gitignore vendored
View File

@ -0,0 +1 @@
/TPLib-1.2.tar.gz

32
compute_ext_rays.1 Normal file
View File

@ -0,0 +1,32 @@
.TH "compute_ext_rays" "1" "May 2012" "TPLib 1.2" "User Commands"
.SH "NAME"
compute_ext_rays \- compute extreme rays of a tropical cone
.SH "DESCRIPTION"
Computes the extreme rays of a tropical cone given by a system of tropically
affine inequalities.
.SH "ARGUMENTS"
.TP
\fB\-numerical\-data\fP
Set the type of numerical data used by the algorithm, one of: ocaml_int,
ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
.TP
\fB\-min\-plus\fP
Use the min\-plus semiring instead of the default max\-plus semiring.
.TP
\fB\-no\-ordering\fP
The constraints are not dynamically ordered during the execution.
.TP
\fB\-polymake\-output\fP
Output under polymake format. Takes an optional argument, corresponding to a
list c_1,...,c_p of coordinates on which the result is projected.
.TP
\fB\-bounding\-box\fP
Set a bounding box, specified as a list (separated by commas) of
triples (c,l,u), where c is the index of a coordinate, and l and u are lower
and upper bounds (\fB\-infinity\fP/\fB+infinity\fP are allowed).
.TP
\fB\-help\fP, \fB\-\-help\fP
Display this list of options.
.SH "SEE ALSO"
\fBcompute_ext_rays_polar\fP(1), \fBcompute_halfspaces\fP(1),
\fBcompute_tangent_hypergraph\fP(1)

23
compute_ext_rays_polar.1 Normal file
View File

@ -0,0 +1,23 @@
.TH "compute_ext_rays_polar" "1" "May 2012" "TPLib 1.2" "User Commands"
.SH "NAME"
compute_ext_rays_polar \- compute extreme rays of the polar of a tropical cone
.SH "DESCRIPTION"
Computes the extreme rays of the polar of a tropical cone given by a generating
set.
.SH "ARGUMENTS"
.TP
\fB\-numerical\-data\fP
Set the type of numerical data used by the algorithm, one of: ocaml_int,
ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
.TP
\fB\-min\-plus\fP
Use the min\-plus semiring instead of the default max\-plus semiring.
.TP
\fB\-no\-ordering\fP
The constraints are not dynamically ordered during the execution.
.TP
\fB\-help\fP, \fB\-\-help\fP
Display this list of options.
.SH "SEE ALSO"
\fBcompute_ext_rays\fP(1), \fBcompute_halfspaces\fP(1),
\fBcompute_tangent_hypergraph\fP(1)

23
compute_halfspaces.1 Normal file
View File

@ -0,0 +1,23 @@
.TH "compute_halfspaces" "1" "May 2012" "TPLib 1.2" "User Commands"
.SH "NAME"
compute_halfspaces \- use half-spaces to represent a tropical cone
.SH "DESCRIPTION"
Computes an external representation of a tropical cone given by a generating
set, by means of half-spaces.
.SH "ARGUMENTS"
.TP
\fB\-numerical\-data\fP
Set the type of numerical data used by the algorithm, one of: ocaml_int,
ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
.TP
\fB\-min\-plus\fP
Use the min\-plus semiring instead of the default max\-plus semiring.
.TP
\fB\-no\-ordering\fP
The constraints are not dynamically ordered during the execution.
.TP
\fB\-help\fP, \fB\-\-help\fP
Display this list of options.
.SH "SEE ALSO"
\fBcompute_ext_rays\fP(1), \fBcompute_ext_rays_polar\fP(1),
\fBcompute_tangent_hypergraph\fP(1)

View File

@ -0,0 +1,25 @@
.TH "compute_tangent_hypergraph" "1" "May 2012" "TPLib 1.2" "User Commands"
.SH "NAME"
compute_tangent_hypergraph \- compute tangent hypergraph in a tropical cone
.SH "DESCRIPTION"
Computes the tangent directed hypergraph at a given point in a tropical cone.
.SH "ARGUMENTS"
.TP
\fB\-numerical\-data\fP
Set the type of numerical data used by the algorithm, one of: ocaml_int,
ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
.TP
\fB\-generators\fP
Specify the cone from a generating family.
.TP
\fB\-half\-spaces\fP
Specify the cone from half-spaces.
.TP
\fB\-min\-plus\fP
Use the min\-plus semiring instead of the default max\-plus semiring.
.TP
\fB\-help\fP, \fB\-\-help\fP
Display this list of options.
.SH "SEE ALSO"
\fBcompute_ext_rays\fP(1), \fBcompute_ext_rays_polar\fP(1),
\fBcompute_halfspaces\fP(1)

114
ocaml-tplib.spec Normal file
View File

@ -0,0 +1,114 @@
# Debuginfo generation for OCaml is not yet functional in Fedora
%global debug_package %{nil}
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
Name: ocaml-tplib
Version: 1.2
Release: 2%{?dist}
Summary: Tropical Polyhedra Library
License: LGPLv2+
URL: https://gforge.inria.fr/projects/tplib
Source0: https://gforge.inria.fr/frs/download.php/30827/TPLib-%{version}.tar.gz
# Man pages written by Jerry James using text from the sources; i.e., I
# contributed only the formatting. Thus, the license and copyright for these
# files is the same as for the sources.
Source1: compute_ext_rays.1
Source2: compute_ext_rays_polar.1
Source3: compute_halfspaces.1
Source4: compute_tangent_hypergraph.1
BuildRequires: gmp-devel
BuildRequires: mpfr-devel
BuildRequires: ocaml
BuildRequires: ocaml-camlidl-devel
BuildRequires: ocaml-findlib-devel
BuildRequires: ocaml-mlgmpidl-devel
BuildRequires: ocaml-ocamldoc
BuildRequires: ocaml-zarith-devel
ExclusiveArch: %{ocaml_arches}
# This is an internal symbol that winds up in Requires, but not Provides
%global __requires_exclude ocaml\\\(Numeric_plugin\\\)
# Don't advertise the numeric plugins
%global __provides_exclude plugin
%description
TPLib computes a description by means of vertices and rays of tropical
polyhedra defined by means of inequalities, and conversely.
It also provides a numerical abstract domain based on tropical
polyhedra, in order to infer min-/max- invariants over programs.
%package devel
Summary: Library files and headers for developing with TPLib
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
%description devel
Library files and headers for developing applications that use TPLib.
%package tools
Summary: Tools that use TPLib
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tools
Tools that use TPLib.
%prep
%setup -q -n TPLib-%{version}
# This header file doesn't exist, and isn't needed anyway.
sed -i '/zarith\.h/d' src/bindings/tplib_rational.c
%build
%configure
# Don't use %%{?_smp_mflags}; it leads to build failures
make
%install
export OCAMLFIND_DESTDIR=%{buildroot}%{_libdir}/ocaml
mkdir -p $OCAMLFIND_DESTDIR
mkdir -p %{buildroot}%{_includedir}
make install bindir=%{buildroot}%{_bindir} libdir=%{buildroot}%{_libdir} \
includedir=%{buildroot}%{_includedir}
strip %{buildroot}%{_bindir}/compute*
strip %{buildroot}%{_libdir}/ocaml/tplib/*.cmxs
mkdir -p %{buildroot}%{_mandir}/man1
cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{buildroot}%{_mandir}/man1
%check
make test
_build/tests/test_tplib_double
_build/tests/test_tplib_rational
%files
%doc LICENSE README
%{_libdir}/ocaml/tplib/
%exclude %{_libdir}/ocaml/tplib/*.a
%exclude %{_libdir}/ocaml/tplib/*.cmxa
%exclude %{_libdir}/ocaml/tplib/*.mli
%files devel
%{_includedir}/tplib_*.h
%{_libdir}/*.a
%{_libdir}/ocaml/tplib/*.a
%{_libdir}/ocaml/tplib/*.cmxa
%{_libdir}/ocaml/tplib/*.mli
%files tools
%{_bindir}/*
%doc %{_mandir}/man1/*
%changelog
* Wed Jan 16 2013 Jerry James <loganjerry@gmail.com> - 1.2-2
- Add man pages
- Don't Provide the numeric plugins
- Make -devel also Provide -static
* Wed Oct 31 2012 Jerry James <loganjerry@gmail.com> - 1.2-1
- Initial RPM

View File

@ -0,0 +1 @@
7484171d5c6d87ee964ab7e3a6119f08 TPLib-1.2.tar.gz