• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

demos/H11-Feb-2016-66,90564,710

doc/H03-May-2022-24,23221,470

interfaces/H11-Feb-2016-106,88181,277

m4/H11-Feb-2016-12,79211,466

src/H03-May-2022-269,429189,650

tests/H11-Feb-2016-186,929130,030

utils/H11-Feb-2016-1,206861

BUGSH A D11-Feb-2016999 2317

COPYINGH A D11-Feb-201634.3 KiB675553

CREDITSH A D11-Feb-201619.6 KiB446349

ChangeLogH A D11-Feb-20161.1 MiB28,68821,467

ChangeLog_2001-2008H A D11-Feb-20163.7 MiB96,13170,622

INSTALLH A D11-Feb-201615.4 KiB371289

Makefile.amH A D11-Feb-20162.9 KiB8644

Makefile.inH A D11-Feb-201632.1 KiB992855

NEWSH A D11-Feb-201679 KiB2,0831,462

READMEH A D11-Feb-201653.5 KiB1,7871,755

README.alphaH A D11-Feb-20162.6 KiB6044

README.armH A D11-Feb-20162.4 KiB5541

README.configureH A D11-Feb-201621.5 KiB520397

README.solarisH A D11-Feb-20162.1 KiB5136

STANDARDSH A D11-Feb-201626.1 KiB740547

TODOH A D11-Feb-20165.1 KiB11298

aclocal.m4H A D11-Feb-201642 KiB1,1811,075

compileH A D11-Feb-20167.2 KiB348258

config.guessH A D11-Feb-201642.7 KiB1,4521,259

config.h.inH A D11-Feb-201611.4 KiB415289

config.rpathH A D11-Feb-201617.9 KiB667563

config.subH A D11-Feb-201635.3 KiB1,8141,676

configureH A D03-May-2022931.1 KiB28,81824,213

configure.acH A D11-Feb-201653.5 KiB1,7641,597

depcompH A D11-Feb-201623 KiB792502

install-shH A D11-Feb-201613.7 KiB528351

instchk.hhH A D11-Feb-20167.3 KiB390327

ltmain.shH A D11-Feb-2016276.8 KiB9,6567,304

missingH A D11-Feb-20166.7 KiB216143

mkinstalldirsH A D11-Feb-20163.5 KiB163112

ppl-config.h.inH A D11-Feb-201611.7 KiB415289

ppl-config.sedH A D11-Feb-20163.8 KiB7372

ppl.lsm.inH A D11-Feb-20162.1 KiB4645

test-driverH A D11-Feb-20164.2 KiB14084

README

1Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
2Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
3See below for the copying conditions.
4
5
6Parma Polyhedra Library (Release 1.2)
7=====================================
8
9This is the release 1.2 of the Parma Polyhedra Library:
10a C++ library for (not necessarily closed) convex polyhedra
11and other numerical abstractions.
12
13To be more precise, the Parma Polyhedra Library (PPL) can handle:
14
15  + all the convex polyhedra that can be defined as the intersection
16    of a finite number of (open or closed) hyperspaces, each described
17    by an equality or a (strict or non-strict) inequality with rational
18    coefficients;
19
20  + some special classes of polyhedra shapes that offer interesting
21    complexity/precision tradeoffs: boxes, bounded difference shapes
22    and octagonal shapes defined over a wide choice of integer,
23    rational or floating point coefficients;
24
25  + all grids (or, equivalently, lattices): a grid is defined by a set
26    of congruence relations with rational coefficients and consists of
27    the set of all points that satisfy these relations;
28
29  + finite powersets and products of the above;
30
31  + linear programming problems, solved with an implementation of the
32    primal simplex algorithm using exact arithmetic;
33
34  + parametric integer programming problems;
35
36  + termination analysis problems, via the automatic synthesis of
37    linear ranking functions.
38
39The Parma Polyhedra Library is:
40
41  + user friendly:
42      you write `x + 2*y + 5*z <= 7' when you mean it;
43
44  + fully dynamic:
45      available virtual memory is the only limitation to the dimension
46      of anything;
47
48  + written in standard C++:
49      meant to be portable;
50
51  + exception-safe:
52      never leaks resources or leaves invalid object fragments around;
53
54  + rather efficient:
55      and we hope to make it even more so;
56
57  + thoroughly documented:
58      perhaps not ``literate programming'' but close enough;
59
60  + free software:
61      distributed under the terms of the GNU General Public License.
62
63See the file COPYING for licensing information.
64See the file INSTALL for generic build and installation instructions.
65See the file README.configure for more specific configuration instructions.
66See the file NEWS for recent project news.
67See the file BUGS for known bugs and how to report new ones.
68See the file CREDITS for a list of people, projects and organizations
69that made the PPL a reality.
70See http://bugseng.com/products/ppl/ for more information on the PPL.
71For any additional questions you might have, please do not hesitate to
72write to ppl-devel@cs.unipr.it.
73
74Here is the contents of the PPL 1.2 source distribution
75(41 directories, 1634 files):
76
77ppl-1.2
78|-- BUGS
79|-- COPYING
80|-- CREDITS
81|-- ChangeLog
82|-- ChangeLog_2001-2008
83|-- INSTALL
84|-- Makefile.am
85|-- Makefile.in
86|-- NEWS
87|-- README
88|-- README.alpha
89|-- README.arm
90|-- README.configure
91|-- README.solaris
92|-- STANDARDS
93|-- TODO
94|-- aclocal.m4
95|-- compile
96|-- config.guess
97|-- config.h.in
98|-- config.rpath
99|-- config.sub
100|-- configure
101|-- configure.ac
102|-- demos
103|   |-- Makefile.am
104|   |-- Makefile.in
105|   |-- ppl_lcdd
106|   |   |-- Makefile.am
107|   |   |-- Makefile.in
108|   |   |-- examples
109|   |   |   |-- 1d.ine
110|   |   |   |-- 1da.ine
111|   |   |   |-- Makefile.am
112|   |   |   |-- Makefile.in
113|   |   |   |-- README
114|   |   |   |-- allzero.ine
115|   |   |   |-- ccc4.ext
116|   |   |   |-- ccc5.ext
117|   |   |   |-- ccc6.ext
118|   |   |   |-- ccp4.ext
119|   |   |   |-- ccp5.ext
120|   |   |   |-- ccp6.ext
121|   |   |   |-- cp4.ext
122|   |   |   |-- cp4.ine
123|   |   |   |-- cp5.ext
124|   |   |   |-- cp5.ine
125|   |   |   |-- cp6.ext
126|   |   |   |-- cp6.ine
127|   |   |   |-- cp7.ext
128|   |   |   |-- cross10.ine
129|   |   |   |-- cross12.ine
130|   |   |   |-- cross4.ine
131|   |   |   |-- cross6.ine
132|   |   |   |-- cross8.ine
133|   |   |   |-- cube.ext
134|   |   |   |-- cube.ine
135|   |   |   |-- cube10.ine
136|   |   |   |-- cube12.ine
137|   |   |   |-- cube3.ine
138|   |   |   |-- cube6.ine
139|   |   |   |-- cube8.ine
140|   |   |   |-- cubetop.ine
141|   |   |   |-- cubocta.ine
142|   |   |   |-- cut16_11.ext
143|   |   |   |-- cut32_16.ext
144|   |   |   |-- cyc.ine
145|   |   |   |-- cyclic10-4.ext
146|   |   |   |-- cyclic12-6.ext
147|   |   |   |-- cyclic14-8.ext
148|   |   |   |-- cyclic16-10.ext
149|   |   |   |-- cyclic17_8.ine
150|   |   |   |-- cyclic25_13.ext
151|   |   |   |-- dcube10.ext
152|   |   |   |-- dcube12.ext
153|   |   |   |-- dcube3.ext
154|   |   |   |-- dcube6.ext
155|   |   |   |-- dcube8.ext
156|   |   |   |-- diamond.ine
157|   |   |   |-- dodeca_m.ine
158|   |   |   |-- ex1.ine
159|   |   |   |-- grcubocta.ine
160|   |   |   |-- hexocta.ine
161|   |   |   |-- icododeca_m.ine
162|   |   |   |-- in0.ine
163|   |   |   |-- in1.ine
164|   |   |   |-- in2.ine
165|   |   |   |-- in3.ine
166|   |   |   |-- in4.ine
167|   |   |   |-- in5.ine
168|   |   |   |-- in6.ine
169|   |   |   |-- in7.ine
170|   |   |   |-- infeas.ine
171|   |   |   |-- integralpoints.ine
172|   |   |   |-- irbox20-4.ext
173|   |   |   |-- irbox200-4.ext
174|   |   |   |-- kkd18_4.ine
175|   |   |   |-- kkd27_5.ine
176|   |   |   |-- kkd38_6.ine
177|   |   |   |-- kq20_11_m.ine
178|   |   |   |-- metric40_11.ine
179|   |   |   |-- metric80_16.ine
180|   |   |   |-- mit.ine
181|   |   |   |-- mit288-281.ine
182|   |   |   |-- mit31-20.ine
183|   |   |   |-- mit41-16.ine
184|   |   |   |-- mit708-9.ine
185|   |   |   |-- mit71-61.ine
186|   |   |   |-- mit90-86.ine
187|   |   |   |-- mp5.ext
188|   |   |   |-- mp5.ine
189|   |   |   |-- mp5a.ine
190|   |   |   |-- mp6.ine
191|   |   |   |-- nonfull.ine
192|   |   |   |-- origin.ine
193|   |   |   |-- prodst62.ext
194|   |   |   |-- project1_m.ine
195|   |   |   |-- project1res.ine
196|   |   |   |-- project2_m.ine
197|   |   |   |-- project2res.ine
198|   |   |   |-- rcubocta.ine
199|   |   |   |-- redcheck.ext
200|   |   |   |-- reg24-5.ext
201|   |   |   |-- reg24-5.ine
202|   |   |   |-- reg600-5_m.ext
203|   |   |   |-- rhomtria_m.ine
204|   |   |   |-- sample.ine
205|   |   |   |-- sampleh1.ine
206|   |   |   |-- sampleh2.ine
207|   |   |   |-- sampleh3.ine
208|   |   |   |-- sampleh4.ine
209|   |   |   |-- sampleh5.ine
210|   |   |   |-- sampleh6.ine
211|   |   |   |-- sampleh7.ine
212|   |   |   |-- sampleh8.ine
213|   |   |   |-- samplev1.ext
214|   |   |   |-- samplev2.ext
215|   |   |   |-- samplev3.ext
216|   |   |   |-- trunc10.ine
217|   |   |   |-- trunc7.ine
218|   |   |   |-- tsp5.ext
219|   |   |   `-- tsp5.ine
220|   |   |-- expected_int16
221|   |   |-- expected_int16_a
222|   |   |-- expected_int32
223|   |   |-- expected_int32_a
224|   |   |-- expected_int64
225|   |   |-- expected_int64_a
226|   |   |-- expected_int8
227|   |   |-- expected_int8_a
228|   |   |-- expected_mpz
229|   |   |-- expected_mpz_a
230|   |   |-- ppl_lcdd.1
231|   |   `-- ppl_lcdd.cc
232|   |-- ppl_lpsol
233|   |   |-- Makefile.am
234|   |   |-- Makefile.in
235|   |   |-- dummy.cc
236|   |   |-- examples
237|   |   |   |-- Makefile.am
238|   |   |   |-- Makefile.in
239|   |   |   |-- README
240|   |   |   |-- adlittle.mps
241|   |   |   |-- afiro.mps
242|   |   |   |-- bgprtr.mps
243|   |   |   |-- blend.mps
244|   |   |   |-- boeing1.mps
245|   |   |   |-- boeing2.mps
246|   |   |   |-- egout.mps
247|   |   |   |-- ex1.mps
248|   |   |   |-- ex12.mps
249|   |   |   |-- kb2.mps
250|   |   |   |-- lseu.mps
251|   |   |   |-- markshare1.mps
252|   |   |   |-- markshare2.mps
253|   |   |   |-- mas74.mps
254|   |   |   |-- mas76.mps
255|   |   |   |-- mip.mps
256|   |   |   |-- modglob.mps
257|   |   |   |-- noswot.mps
258|   |   |   |-- opt1217.mps
259|   |   |   |-- p0033.mps
260|   |   |   |-- pk1.mps
261|   |   |   |-- rout.mps
262|   |   |   |-- sample.mps
263|   |   |   |-- sc105.mps
264|   |   |   |-- sc50a.mps
265|   |   |   |-- sc50b.mps
266|   |   |   |-- ship08l.mps
267|   |   |   `-- unboundedmin.mps
268|   |   |-- expected_int16
269|   |   |-- expected_int16_a
270|   |   |-- expected_int32
271|   |   |-- expected_int32_a
272|   |   |-- expected_int64
273|   |   |-- expected_int64_a
274|   |   |-- expected_int8
275|   |   |-- expected_int8_a
276|   |   |-- expected_mpz
277|   |   |-- expected_mpz_a
278|   |   |-- glpk_set_d_eps.c
279|   |   |-- ppl_lpsol.1
280|   |   `-- ppl_lpsol.c
281|   `-- ppl_pips
282|       |-- Makefile.am
283|       |-- Makefile.in
284|       |-- examples
285|       |   |-- Makefile.am
286|       |   |-- Makefile.in
287|       |   |-- README
288|       |   |-- big.pip
289|       |   |-- brisebarre.pip
290|       |   |-- cg1.pip
291|       |   |-- esced.pip
292|       |   |-- ex2.pip
293|       |   |-- fimmel.pip
294|       |   |-- invert.dat
295|       |   |-- linear.dat
296|       |   |-- lineri.dat
297|       |   |-- loz.dat
298|       |   |-- max.dat
299|       |   |-- max.pip
300|       |   |-- maxb.dat
301|       |   |-- pairi.dat
302|       |   |-- petit.dat
303|       |   |-- rairoi.dat
304|       |   |-- sor1d.pip
305|       |   |-- square.pip
306|       |   |-- test02.dat
307|       |   `-- test12i.dat
308|       |-- expected_int16
309|       |-- expected_int16_a
310|       |-- expected_int32
311|       |-- expected_int32_a
312|       |-- expected_int64
313|       |-- expected_int64_a
314|       |-- expected_int8
315|       |-- expected_int8_a
316|       |-- expected_mpz
317|       |-- expected_mpz_a
318|       |-- ppl_pips.1
319|       `-- ppl_pips.cc
320|-- depcomp
321|-- doc
322|   |-- Makefile.am
323|   |-- Makefile.in
324|   |-- README.doc
325|   |-- bugseng_logo.pdf
326|   |-- definitions.dox
327|   |-- devref-language-interface.doxyconf.in
328|   |-- devref-language-interface.tex
329|   |-- devref.doxyconf-html.in
330|   |-- devref.doxyconf-latex.in
331|   |-- devref.tex
332|   |-- fdl.dox
333|   |-- fdl.pdf
334|   |-- fdl.ps.gz
335|   |-- fdl.tex
336|   |-- fdl.txt
337|   |-- gpl.dox
338|   |-- gpl.pdf
339|   |-- gpl.ps.gz
340|   |-- gpl.tex
341|   |-- gpl.txt
342|   |-- interfaces-html.sed
343|   |-- interfaces-latex.sed
344|   |-- libppl.3
345|   |-- libppl_c.3
346|   |-- ppl-config.1
347|   |-- ppl-user-1.2-html.tar.gz
348|   |-- ppl-user-1.2.pdf
349|   |-- ppl-user-1.2.ps.gz
350|   |-- ppl-user-c-interface-1.2-html.tar.gz
351|   |-- ppl-user-c-interface-1.2.pdf
352|   |-- ppl-user-c-interface-1.2.ps.gz
353|   |-- ppl-user-java-interface-1.2-html.tar.gz
354|   |-- ppl-user-java-interface-1.2.pdf
355|   |-- ppl-user-java-interface-1.2.ps.gz
356|   |-- ppl-user-prolog-interface-1.2-html.tar.gz
357|   |-- ppl-user-prolog-interface-1.2.pdf
358|   |-- ppl-user-prolog-interface-1.2.ps.gz
359|   |-- ppl.bib
360|   |-- ppl.sty
361|   |-- ppl_citations.bib
362|   |-- ppl_logo.pdf
363|   |-- ppl_logo_no_ppl.pdf
364|   |-- user-language-interface.doxyconf.in
365|   |-- user-language-interface.tex
366|   |-- user.doxyconf-html.in
367|   |-- user.doxyconf-latex.in
368|   `-- user.tex
369|-- install-sh
370|-- instchk.hh
371|-- interfaces
372|   |-- C
373|   |   |-- C_interface.dox
374|   |   |-- Makefile.am
375|   |   |-- Makefile.in
376|   |   |-- ppl_c.h.dist
377|   |   |-- ppl_c_header.h
378|   |   |-- ppl_c_implementation_common.cc
379|   |   |-- ppl_c_implementation_common_defs.hh
380|   |   |-- ppl_c_implementation_common_inlines.hh
381|   |   |-- ppl_c_version.h.in
382|   |   |-- ppl_interface_generator_c_cc_code.m4
383|   |   |-- ppl_interface_generator_c_cc_files.m4
384|   |   |-- ppl_interface_generator_c_h.m4
385|   |   |-- ppl_interface_generator_c_h_code.m4
386|   |   |-- ppl_interface_generator_c_hh_files.m4
387|   |   |-- ppl_interface_generator_c_procedure_generators.m4
388|   |   `-- tests
389|   |       |-- Makefile.am
390|   |       |-- Makefile.in
391|   |       |-- formatted_output.c
392|   |       |-- pip_test.c
393|   |       |-- ppl_c_test.cc
394|   |       |-- ppl_c_test.h
395|   |       |-- print_to_buffer.c
396|   |       |-- print_to_buffer.h
397|   |       |-- watchdog1.c
398|   |       `-- weightwatch1.c
399|   |-- Java
400|   |   |-- Makefile.am
401|   |   |-- Makefile.in
402|   |   |-- README.java
403|   |   |-- jni
404|   |   |   |-- Makefile.am
405|   |   |   |-- Makefile.in
406|   |   |   |-- ppl_interface_generator_java_classes_cc_code.m4
407|   |   |   |-- ppl_interface_generator_java_classes_cc_files.m4
408|   |   |   |-- ppl_java_common.cc
409|   |   |   |-- ppl_java_common_defs.hh
410|   |   |   |-- ppl_java_common_inlines.hh
411|   |   |   `-- ppl_java_globals.cc
412|   |   |-- parma_polyhedra_library
413|   |   |   |-- Artificial_Parameter.java
414|   |   |   |-- Artificial_Parameter_Sequence.java
415|   |   |   |-- Bounded_Integer_Type_Overflow.java
416|   |   |   |-- Bounded_Integer_Type_Representation.java
417|   |   |   |-- Bounded_Integer_Type_Width.java
418|   |   |   |-- By_Reference.java
419|   |   |   |-- Coefficient.java
420|   |   |   |-- Complexity_Class.java
421|   |   |   |-- Congruence.java
422|   |   |   |-- Congruence_System.java
423|   |   |   |-- Constraint.java
424|   |   |   |-- Constraint_System.java
425|   |   |   |-- Control_Parameter_Name.java
426|   |   |   |-- Control_Parameter_Value.java
427|   |   |   |-- Degenerate_Element.java
428|   |   |   |-- Domain_Error_Exception.java
429|   |   |   |-- Fake_Class_for_Doxygen.java
430|   |   |   |-- Generator.java
431|   |   |   |-- Generator_System.java
432|   |   |   |-- Generator_Type.java
433|   |   |   |-- Grid_Generator.java
434|   |   |   |-- Grid_Generator_System.java
435|   |   |   |-- Grid_Generator_Type.java
436|   |   |   |-- IO.java
437|   |   |   |-- Invalid_Argument_Exception.java
438|   |   |   |-- Length_Error_Exception.java
439|   |   |   |-- Linear_Expression.java
440|   |   |   |-- Linear_Expression_Coefficient.java
441|   |   |   |-- Linear_Expression_Difference.java
442|   |   |   |-- Linear_Expression_Sum.java
443|   |   |   |-- Linear_Expression_Times.java
444|   |   |   |-- Linear_Expression_Unary_Minus.java
445|   |   |   |-- Linear_Expression_Variable.java
446|   |   |   |-- Logic_Error_Exception.java
447|   |   |   |-- MIP_Problem.java
448|   |   |   |-- MIP_Problem_Status.java
449|   |   |   |-- Makefile.am
450|   |   |   |-- Makefile.in
451|   |   |   |-- Optimization_Mode.java
452|   |   |   |-- Overflow_Error_Exception.java
453|   |   |   |-- PIP_Decision_Node.java
454|   |   |   |-- PIP_Problem.java
455|   |   |   |-- PIP_Problem_Control_Parameter_Name.java
456|   |   |   |-- PIP_Problem_Control_Parameter_Value.java
457|   |   |   |-- PIP_Problem_Status.java
458|   |   |   |-- PIP_Solution_Node.java
459|   |   |   |-- PIP_Tree_Node.java
460|   |   |   |-- PPL_Object.java
461|   |   |   |-- Pair.java
462|   |   |   |-- Parma_Polyhedra_Library.java
463|   |   |   |-- Partial_Function.java
464|   |   |   |-- Poly_Con_Relation.java
465|   |   |   |-- Poly_Gen_Relation.java
466|   |   |   |-- Relation_Symbol.java
467|   |   |   |-- Timeout_Exception.java
468|   |   |   |-- Variable.java
469|   |   |   |-- Variable_Stringifier.java
470|   |   |   |-- Variables_Set.java
471|   |   |   |-- ppl_interface_generator_java_classes_java.m4
472|   |   |   `-- ppl_interface_generator_java_classes_java_code.m4
473|   |   |-- ppl_interface_generator_java_procedure_generators.m4
474|   |   `-- tests
475|   |       |-- C_Polyhedron_test1.java
476|   |       |-- Custom_Variable_Stringifier.java
477|   |       |-- MIP_Problem_test1.java
478|   |       |-- Makefile.am
479|   |       |-- Makefile.in
480|   |       |-- NNC_Polyhedron_test1.java
481|   |       |-- PIP_Problem_test1.java
482|   |       |-- PPL_Test.java
483|   |       |-- Parma_Polyhedra_Library_test1.java
484|   |       |-- Parma_Polyhedra_Library_test2.java
485|   |       |-- Test_Executor.java
486|   |       |-- Variable_Output_test1.java
487|   |       |-- ppl_interface_generator_java_test_java.m4
488|   |       |-- ppl_interface_generator_java_test_java_code.m4
489|   |       `-- ppl_java_tests_common
490|   |-- Makefile.am
491|   |-- Makefile.in
492|   |-- OCaml
493|   |   |-- Makefile.am
494|   |   |-- Makefile.in
495|   |   |-- OCaml_interface.dox
496|   |   |-- README.ocaml
497|   |   |-- ppl_interface_generator_ocaml_cc_code.m4
498|   |   |-- ppl_interface_generator_ocaml_cc_files.m4
499|   |   |-- ppl_interface_generator_ocaml_hh_code.m4
500|   |   |-- ppl_interface_generator_ocaml_hh_files.m4
501|   |   |-- ppl_interface_generator_ocaml_ml.m4
502|   |   |-- ppl_interface_generator_ocaml_ml_code.m4
503|   |   |-- ppl_interface_generator_ocaml_mli.m4
504|   |   |-- ppl_interface_generator_ocaml_mli_code.m4
505|   |   |-- ppl_interface_generator_ocaml_procedure_generators.m4
506|   |   |-- ppl_ocaml_common.cc
507|   |   |-- ppl_ocaml_common_defs.hh
508|   |   |-- ppl_ocaml_common_inlines.hh
509|   |   |-- ppl_ocaml_globals.ml
510|   |   |-- ppl_ocaml_globals.mli
511|   |   `-- tests
512|   |       |-- Makefile.am
513|   |       |-- Makefile.in
514|   |       |-- ppl_interface_generator_ocaml_test_ml.m4
515|   |       |-- ppl_interface_generator_ocaml_test_ml_code.m4
516|   |       |-- ppl_ocaml_tests_common
517|   |       `-- test1.ml
518|   |-- Prolog
519|   |   |-- Ciao
520|   |   |   |-- Makefile.am
521|   |   |   |-- Makefile.in
522|   |   |   |-- README.ciao
523|   |   |   |-- ciao_cfli.hh
524|   |   |   |-- ciao_clpq.pl
525|   |   |   |-- ciao_clpq2.pl
526|   |   |   |-- ciao_efli.cc
527|   |   |   |-- ciao_efli.hh
528|   |   |   |-- ciao_pl_check.pl
529|   |   |   |-- ppl_interface_generator_ciao_pl.m4
530|   |   |   |-- ppl_interface_generator_ciao_prolog_generated_test_pl.m4
531|   |   |   `-- ppl_prolog_sysdep.hh
532|   |   |-- GNU
533|   |   |   |-- Makefile.am
534|   |   |   |-- Makefile.in
535|   |   |   |-- README.gprolog
536|   |   |   |-- gnu_pl_check.pl
537|   |   |   |-- gnu_prolog_generated_test.pl
538|   |   |   |-- gp_clpq.pl
539|   |   |   |-- gprolog_cfli.hh
540|   |   |   |-- gprolog_efli.cc
541|   |   |   |-- gprolog_efli.hh
542|   |   |   |-- ppl_interface_generator_gprolog_pl.m4
543|   |   |   `-- ppl_prolog_sysdep.hh
544|   |   |-- Makefile.am
545|   |   |-- Makefile.in
546|   |   |-- Prolog_configured_interface.dox
547|   |   |-- Prolog_interface.dox
548|   |   |-- Prolog_interface_compilation.dox
549|   |   |-- Prolog_interface_sysdep.dox
550|   |   |-- Prolog_interface_sysindep.dox
551|   |   |-- Prolog_interface_sysindep_domains.dox
552|   |   |-- SICStus
553|   |   |   |-- Makefile.am
554|   |   |   |-- Makefile.in
555|   |   |   |-- ppl_interface_generator_sicstus_sd_cc.m4
556|   |   |   |-- ppl_prolog_sysdep.hh
557|   |   |   |-- ppl_sicstus.pl
558|   |   |   |-- sicstus_cfli.cc
559|   |   |   |-- sicstus_cfli.h
560|   |   |   |-- sicstus_cfli.ic
561|   |   |   |-- sicstus_efli.cc
562|   |   |   |-- sicstus_efli.hh
563|   |   |   |-- sp_clpq.pl
564|   |   |   |-- sp_pl_check.pl
565|   |   |   `-- sp_prolog_generated_test.pl
566|   |   |-- SWI
567|   |   |   |-- Makefile.am
568|   |   |   |-- Makefile.in
569|   |   |   |-- README.swiprolog
570|   |   |   |-- pl_clpq.cc
571|   |   |   |-- pl_clpq.pl
572|   |   |   |-- ppl_interface_generator_swiprolog_cc.m4
573|   |   |   |-- ppl_pl.cc
574|   |   |   |-- ppl_prolog_sysdep.hh
575|   |   |   |-- ppl_swiprolog.hh
576|   |   |   |-- ppl_swiprolog.pl
577|   |   |   |-- swi_cfli.hh
578|   |   |   |-- swi_efli.cc
579|   |   |   |-- swi_efli.hh
580|   |   |   |-- swi_pl_check.pl
581|   |   |   `-- swi_prolog_generated_test.pl
582|   |   |-- XSB
583|   |   |   |-- Makefile.am
584|   |   |   |-- Makefile.in
585|   |   |   |-- ppl_interface_generator_xsb_H.m4
586|   |   |   |-- ppl_interface_generator_xsb_cc.m4
587|   |   |   |-- ppl_interface_generator_xsb_hh.m4
588|   |   |   |-- ppl_interface_generator_xsb_prolog_generated_test_P.m4
589|   |   |   |-- ppl_prolog_sysdep.hh
590|   |   |   |-- xsb_cfli.hh
591|   |   |   |-- xsb_clpq.P
592|   |   |   |-- xsb_clpq2.P
593|   |   |   |-- xsb_efli.cc
594|   |   |   |-- xsb_efli.hh
595|   |   |   `-- xsb_pl_check.P
596|   |   |-- YAP
597|   |   |   |-- Makefile.am
598|   |   |   |-- Makefile.in
599|   |   |   |-- README.yap
600|   |   |   |-- ppl_interface_generator_yap_cc.m4
601|   |   |   |-- ppl_prolog_sysdep.hh
602|   |   |   |-- ppl_yap.pl
603|   |   |   |-- yap_cfli.hh
604|   |   |   |-- yap_clpq.pl
605|   |   |   |-- yap_clpq2.pl
606|   |   |   |-- yap_efli.cc
607|   |   |   |-- yap_efli.hh
608|   |   |   |-- yap_pl_check.pl
609|   |   |   `-- yap_prolog_generated_test.pl
610|   |   |-- ppl_interface_generator_prolog_cc_code.m4
611|   |   |-- ppl_interface_generator_prolog_cc_files.m4
612|   |   |-- ppl_interface_generator_prolog_dox.m4
613|   |   |-- ppl_interface_generator_prolog_dox_code.m4
614|   |   |-- ppl_interface_generator_prolog_hh_code.m4
615|   |   |-- ppl_interface_generator_prolog_hh_files.m4
616|   |   |-- ppl_interface_generator_prolog_procedure_generators.m4
617|   |   |-- ppl_interface_generator_prolog_systems.m4
618|   |   |-- ppl_prolog_common.cc
619|   |   |-- ppl_prolog_common_defs.hh
620|   |   |-- ppl_prolog_common_inlines.hh
621|   |   `-- tests
622|   |       |-- Makefile.am
623|   |       |-- Makefile.in
624|   |       |-- ack.clpq
625|   |       |-- ackn.clpq
626|   |       |-- clpq.pl
627|   |       |-- clpq2.pl
628|   |       |-- expected_clpq2_int16
629|   |       |-- expected_clpq2_int16_a
630|   |       |-- expected_clpq2_int32
631|   |       |-- expected_clpq2_int32_a
632|   |       |-- expected_clpq2_int64
633|   |       |-- expected_clpq2_int64_a
634|   |       |-- expected_clpq2_int8
635|   |       |-- expected_clpq2_int8_a
636|   |       |-- expected_clpq2_mpz
637|   |       |-- expected_clpq2_mpz_a
638|   |       |-- expected_clpq_int16
639|   |       |-- expected_clpq_int16_a
640|   |       |-- expected_clpq_int32
641|   |       |-- expected_clpq_int32_a
642|   |       |-- expected_clpq_int64
643|   |       |-- expected_clpq_int64_a
644|   |       |-- expected_clpq_int8
645|   |       |-- expected_clpq_int8_a
646|   |       |-- expected_clpq_mpz
647|   |       |-- expected_clpq_mpz_a
648|   |       |-- expected_pchk_int16
649|   |       |-- expected_pchk_int16_a
650|   |       |-- expected_pchk_int32
651|   |       |-- expected_pchk_int32_a
652|   |       |-- expected_pchk_int64
653|   |       |-- expected_pchk_int64_a
654|   |       |-- expected_pchk_int8
655|   |       |-- expected_pchk_int8_a
656|   |       |-- expected_pchk_mpz
657|   |       |-- expected_pchk_mpz_a
658|   |       |-- expected_pgt
659|   |       |-- fib.clpq
660|   |       |-- mc91.clpq
661|   |       |-- pl_check.pl
662|   |       |-- ppl_interface_generator_prolog_generated_test_pl.m4
663|   |       |-- ppl_interface_generator_prolog_generated_test_pl_code.m4
664|   |       |-- ppl_prolog_generated_test_common.pl
665|   |       |-- schedule.clpq
666|   |       |-- script_clpq
667|   |       |-- script_clpq2
668|   |       |-- script_clpq2_int8
669|   |       |-- smm.clpq
670|   |       |-- sumto.clpq
671|   |       `-- tak.clpq
672|   |-- interfaced_boxes.hh
673|   |-- marked_pointers.hh
674|   |-- ppl_interface_generator_common.m4
675|   |-- ppl_interface_generator_common_dat.m4
676|   |-- ppl_interface_generator_common_procedure_generators.m4
677|   `-- ppl_interface_generator_copyright
678|-- ltmain.sh
679|-- m4
680|   |-- Makefile.am
681|   |-- Makefile.in
682|   |-- ac_check_ciao.m4
683|   |-- ac_check_classpath.m4
684|   |-- ac_check_cxx11.m4
685|   |-- ac_check_fpu_control.m4
686|   |-- ac_check_gmp.m4
687|   |-- ac_check_sicstus_prolog.m4
688|   |-- ac_check_swi_prolog.m4
689|   |-- ac_check_xsb_prolog.m4
690|   |-- ac_check_yap.m4
691|   |-- ac_cxx_attribute_weak.m4
692|   |-- ac_cxx_double_binary_format.m4
693|   |-- ac_cxx_float_binary_format.m4
694|   |-- ac_cxx_ieee_inexact_flag.m4
695|   |-- ac_cxx_limit_memory.m4
696|   |-- ac_cxx_long_double_binary_format.m4
697|   |-- ac_cxx_plain_char_is_signed.m4
698|   |-- ac_cxx_proper_long_double.m4
699|   |-- ac_cxx_zero_length_arrays.m4
700|   |-- ac_prog_jar.m4
701|   |-- ac_prog_java.m4
702|   |-- ac_prog_javac.m4
703|   |-- ac_prog_javah.m4
704|   |-- ac_text_md5sum.m4
705|   |-- ac_use_libtool.m4
706|   |-- libtool.m4
707|   |-- ltoptions.m4
708|   |-- ltsugar.m4
709|   |-- ltversion.m4
710|   |-- lt~obsolete.m4
711|   |-- m4.m4
712|   |-- ocaml.m4
713|   |-- ppl.m4
714|   `-- ppl_c.m4
715|-- missing
716|-- mkinstalldirs
717|-- ppl-config.h.in
718|-- ppl-config.sed
719|-- ppl.lsm.in
720|-- src
721|   |-- BDS_Status.cc
722|   |-- BDS_Status_idefs.hh
723|   |-- BDS_Status_inlines.hh
724|   |-- BD_Shape.cc
725|   |-- BD_Shape_defs.hh
726|   |-- BD_Shape_inlines.hh
727|   |-- BD_Shape_templates.hh
728|   |-- BD_Shape_types.hh
729|   |-- BHRZ03_Certificate.cc
730|   |-- BHRZ03_Certificate_defs.hh
731|   |-- BHRZ03_Certificate_inlines.hh
732|   |-- BHRZ03_Certificate_types.hh
733|   |-- BUGS.cc.dist
734|   |-- BUGS.hh.dist
735|   |-- Bit_Matrix.cc
736|   |-- Bit_Matrix_defs.hh
737|   |-- Bit_Matrix_inlines.hh
738|   |-- Bit_Matrix_types.hh
739|   |-- Bit_Row.cc
740|   |-- Bit_Row_defs.hh
741|   |-- Bit_Row_inlines.hh
742|   |-- Bit_Row_types.hh
743|   |-- Boundary_defs.hh
744|   |-- Box.cc
745|   |-- Box_Status.cc
746|   |-- Box_Status_idefs.hh
747|   |-- Box_Status_inlines.hh
748|   |-- Box_defs.hh
749|   |-- Box_inlines.hh
750|   |-- Box_templates.hh
751|   |-- Box_types.hh
752|   |-- COPYING.cc.dist
753|   |-- COPYING.hh.dist
754|   |-- CO_Tree.cc
755|   |-- CO_Tree_defs.hh
756|   |-- CO_Tree_inlines.hh
757|   |-- CO_Tree_templates.hh
758|   |-- CO_Tree_types.hh
759|   |-- CREDITS.cc.dist
760|   |-- CREDITS.hh.dist
761|   |-- C_Integer.hh
762|   |-- C_Polyhedron.cc
763|   |-- C_Polyhedron_defs.hh
764|   |-- C_Polyhedron_inlines.hh
765|   |-- C_Polyhedron_types.hh
766|   |-- Cast_Floating_Point_Expression_defs.hh
767|   |-- Cast_Floating_Point_Expression_inlines.hh
768|   |-- Cast_Floating_Point_Expression_templates.hh
769|   |-- Cast_Floating_Point_Expression_types.hh
770|   |-- Checked_Number.cc
771|   |-- Checked_Number_defs.hh
772|   |-- Checked_Number_inlines.hh
773|   |-- Checked_Number_templates.hh
774|   |-- Checked_Number_types.hh
775|   |-- Coefficient.cc
776|   |-- Coefficient_defs.hh
777|   |-- Coefficient_inlines.hh
778|   |-- Coefficient_traits_template.hh
779|   |-- Coefficient_types.hh
780|   |-- Concrete_Expression.cc
781|   |-- Concrete_Expression_defs.hh
782|   |-- Concrete_Expression_inlines.hh
783|   |-- Concrete_Expression_types.hh
784|   |-- Congruence.cc
785|   |-- Congruence_System.cc
786|   |-- Congruence_System_defs.hh
787|   |-- Congruence_System_inlines.hh
788|   |-- Congruence_System_types.hh
789|   |-- Congruence_defs.hh
790|   |-- Congruence_inlines.hh
791|   |-- Congruence_types.hh
792|   |-- Constant_Floating_Point_Expression_defs.hh
793|   |-- Constant_Floating_Point_Expression_inlines.hh
794|   |-- Constant_Floating_Point_Expression_types.hh
795|   |-- Constraint.cc
796|   |-- Constraint_System.cc
797|   |-- Constraint_System_defs.hh
798|   |-- Constraint_System_inlines.hh
799|   |-- Constraint_System_types.hh
800|   |-- Constraint_defs.hh
801|   |-- Constraint_inlines.hh
802|   |-- Constraint_types.hh
803|   |-- DB_Matrix_defs.hh
804|   |-- DB_Matrix_inlines.hh
805|   |-- DB_Matrix_templates.hh
806|   |-- DB_Matrix_types.hh
807|   |-- DB_Row_defs.hh
808|   |-- DB_Row_inlines.hh
809|   |-- DB_Row_templates.hh
810|   |-- DB_Row_types.hh
811|   |-- Dense_Row.cc
812|   |-- Dense_Row_defs.hh
813|   |-- Dense_Row_inlines.hh
814|   |-- Dense_Row_templates.hh
815|   |-- Dense_Row_types.hh
816|   |-- Determinate_defs.hh
817|   |-- Determinate_inlines.hh
818|   |-- Determinate_types.hh
819|   |-- Difference_Floating_Point_Expression_defs.hh
820|   |-- Difference_Floating_Point_Expression_inlines.hh
821|   |-- Difference_Floating_Point_Expression_templates.hh
822|   |-- Difference_Floating_Point_Expression_types.hh
823|   |-- Division_Floating_Point_Expression_defs.hh
824|   |-- Division_Floating_Point_Expression_inlines.hh
825|   |-- Division_Floating_Point_Expression_templates.hh
826|   |-- Division_Floating_Point_Expression_types.hh
827|   |-- Doubly_Linked_Object_defs.hh
828|   |-- Doubly_Linked_Object_inlines.hh
829|   |-- Doubly_Linked_Object_types.hh
830|   |-- EList_Iterator_defs.hh
831|   |-- EList_Iterator_inlines.hh
832|   |-- EList_Iterator_types.hh
833|   |-- EList_defs.hh
834|   |-- EList_inlines.hh
835|   |-- EList_types.hh
836|   |-- Expression_Adapter_defs.hh
837|   |-- Expression_Adapter_inlines.hh
838|   |-- Expression_Adapter_types.hh
839|   |-- Expression_Hide_Inhomo_defs.hh
840|   |-- Expression_Hide_Inhomo_inlines.hh
841|   |-- Expression_Hide_Inhomo_types.hh
842|   |-- Expression_Hide_Last_defs.hh
843|   |-- Expression_Hide_Last_inlines.hh
844|   |-- Expression_Hide_Last_types.hh
845|   |-- Float.cc
846|   |-- Float_defs.hh
847|   |-- Float_inlines.hh
848|   |-- Float_templates.hh
849|   |-- Floating_Point_Expression_defs.hh
850|   |-- Floating_Point_Expression_inlines.hh
851|   |-- Floating_Point_Expression_templates.hh
852|   |-- Floating_Point_Expression_types.hh
853|   |-- GMP_Integer_defs.hh
854|   |-- GMP_Integer_inlines.hh
855|   |-- GMP_Integer_types.hh
856|   |-- Generator.cc
857|   |-- Generator_System.cc
858|   |-- Generator_System_defs.hh
859|   |-- Generator_System_inlines.hh
860|   |-- Generator_System_types.hh
861|   |-- Generator_defs.hh
862|   |-- Generator_inlines.hh
863|   |-- Generator_types.hh
864|   |-- Grid_Certificate.cc
865|   |-- Grid_Certificate_defs.hh
866|   |-- Grid_Certificate_inlines.hh
867|   |-- Grid_Certificate_types.hh
868|   |-- Grid_Generator.cc
869|   |-- Grid_Generator_System.cc
870|   |-- Grid_Generator_System_defs.hh
871|   |-- Grid_Generator_System_inlines.hh
872|   |-- Grid_Generator_System_types.hh
873|   |-- Grid_Generator_defs.hh
874|   |-- Grid_Generator_inlines.hh
875|   |-- Grid_Generator_types.hh
876|   |-- Grid_Status.cc
877|   |-- Grid_Status_idefs.hh
878|   |-- Grid_Status_inlines.hh
879|   |-- Grid_chdims.cc
880|   |-- Grid_conversion.cc
881|   |-- Grid_defs.hh
882|   |-- Grid_inlines.hh
883|   |-- Grid_nonpublic.cc
884|   |-- Grid_public.cc
885|   |-- Grid_simplify.cc
886|   |-- Grid_templates.hh
887|   |-- Grid_types.hh
888|   |-- Grid_widenings.cc
889|   |-- H79_Certificate.cc
890|   |-- H79_Certificate_defs.hh
891|   |-- H79_Certificate_inlines.hh
892|   |-- H79_Certificate_types.hh
893|   |-- Handler.cc
894|   |-- Handler_defs.hh
895|   |-- Handler_inlines.hh
896|   |-- Handler_types.hh
897|   |-- Has_Assign_Or_Swap.hh
898|   |-- Init.cc
899|   |-- Init_defs.hh
900|   |-- Init_inlines.hh
901|   |-- Init_types.hh
902|   |-- Integer_Interval.hh
903|   |-- Interval_Info_defs.hh
904|   |-- Interval_Info_inlines.hh
905|   |-- Interval_Info_types.hh
906|   |-- Interval_defs.hh
907|   |-- Interval_inlines.hh
908|   |-- Interval_templates.hh
909|   |-- Interval_types.hh
910|   |-- Linear_Expression.cc
911|   |-- Linear_Expression_Impl.cc
912|   |-- Linear_Expression_Impl_defs.hh
913|   |-- Linear_Expression_Impl_inlines.hh
914|   |-- Linear_Expression_Impl_templates.hh
915|   |-- Linear_Expression_Impl_types.hh
916|   |-- Linear_Expression_Interface.cc
917|   |-- Linear_Expression_Interface_defs.hh
918|   |-- Linear_Expression_Interface_types.hh
919|   |-- Linear_Expression_defs.hh
920|   |-- Linear_Expression_inlines.hh
921|   |-- Linear_Expression_types.hh
922|   |-- Linear_Form.cc
923|   |-- Linear_Form_defs.hh
924|   |-- Linear_Form_inlines.hh
925|   |-- Linear_Form_templates.hh
926|   |-- Linear_Form_types.hh
927|   |-- Linear_System_defs.hh
928|   |-- Linear_System_inlines.hh
929|   |-- Linear_System_templates.hh
930|   |-- Linear_System_types.hh
931|   |-- MIP_Problem.cc
932|   |-- MIP_Problem_defs.hh
933|   |-- MIP_Problem_inlines.hh
934|   |-- MIP_Problem_templates.hh
935|   |-- MIP_Problem_types.hh
936|   |-- Makefile.am
937|   |-- Makefile.in
938|   |-- Matrix_defs.hh
939|   |-- Matrix_inlines.hh
940|   |-- Matrix_templates.hh
941|   |-- Matrix_types.hh
942|   |-- Multiplication_Floating_Point_Expression_defs.hh
943|   |-- Multiplication_Floating_Point_Expression_inlines.hh
944|   |-- Multiplication_Floating_Point_Expression_templates.hh
945|   |-- Multiplication_Floating_Point_Expression_types.hh
946|   |-- NNC_Polyhedron.cc
947|   |-- NNC_Polyhedron_defs.hh
948|   |-- NNC_Polyhedron_inlines.hh
949|   |-- NNC_Polyhedron_types.hh
950|   |-- Numeric_Format_defs.hh
951|   |-- OR_Matrix_defs.hh
952|   |-- OR_Matrix_inlines.hh
953|   |-- OR_Matrix_templates.hh
954|   |-- OR_Matrix_types.hh
955|   |-- Octagonal_Shape.cc
956|   |-- Octagonal_Shape_defs.hh
957|   |-- Octagonal_Shape_inlines.hh
958|   |-- Octagonal_Shape_templates.hh
959|   |-- Octagonal_Shape_types.hh
960|   |-- Og_Status.cc
961|   |-- Og_Status_idefs.hh
962|   |-- Og_Status_inlines.hh
963|   |-- Opposite_Floating_Point_Expression_defs.hh
964|   |-- Opposite_Floating_Point_Expression_inlines.hh
965|   |-- Opposite_Floating_Point_Expression_types.hh
966|   |-- PIP_Problem.cc
967|   |-- PIP_Problem_defs.hh
968|   |-- PIP_Problem_inlines.hh
969|   |-- PIP_Problem_templates.hh
970|   |-- PIP_Problem_types.hh
971|   |-- PIP_Tree.cc
972|   |-- PIP_Tree_defs.hh
973|   |-- PIP_Tree_inlines.hh
974|   |-- PIP_Tree_types.hh
975|   |-- Partial_Function.cc
976|   |-- Partial_Function_defs.hh
977|   |-- Partial_Function_inlines.hh
978|   |-- Partial_Function_types.hh
979|   |-- Partially_Reduced_Product_defs.hh
980|   |-- Partially_Reduced_Product_inlines.hh
981|   |-- Partially_Reduced_Product_templates.hh
982|   |-- Partially_Reduced_Product_types.hh
983|   |-- Pending_Element_defs.hh
984|   |-- Pending_Element_inlines.hh
985|   |-- Pending_Element_types.hh
986|   |-- Pending_List_defs.hh
987|   |-- Pending_List_inlines.hh
988|   |-- Pending_List_templates.hh
989|   |-- Pending_List_types.hh
990|   |-- Ph_Status.cc
991|   |-- Ph_Status_idefs.hh
992|   |-- Ph_Status_inlines.hh
993|   |-- Pointset_Powerset.cc
994|   |-- Pointset_Powerset_defs.hh
995|   |-- Pointset_Powerset_inlines.hh
996|   |-- Pointset_Powerset_templates.hh
997|   |-- Pointset_Powerset_types.hh
998|   |-- Poly_Con_Relation.cc
999|   |-- Poly_Con_Relation_defs.hh
1000|   |-- Poly_Con_Relation_inlines.hh
1001|   |-- Poly_Con_Relation_types.hh
1002|   |-- Poly_Gen_Relation.cc
1003|   |-- Poly_Gen_Relation_defs.hh
1004|   |-- Poly_Gen_Relation_inlines.hh
1005|   |-- Poly_Gen_Relation_types.hh
1006|   |-- Polyhedron_chdims.cc
1007|   |-- Polyhedron_chdims_templates.hh
1008|   |-- Polyhedron_conversion_templates.hh
1009|   |-- Polyhedron_defs.hh
1010|   |-- Polyhedron_inlines.hh
1011|   |-- Polyhedron_minimize_templates.hh
1012|   |-- Polyhedron_nonpublic.cc
1013|   |-- Polyhedron_public.cc
1014|   |-- Polyhedron_simplify_templates.hh
1015|   |-- Polyhedron_templates.hh
1016|   |-- Polyhedron_types.hh
1017|   |-- Polyhedron_widenings.cc
1018|   |-- Powerset_defs.hh
1019|   |-- Powerset_inlines.hh
1020|   |-- Powerset_templates.hh
1021|   |-- Powerset_types.hh
1022|   |-- Ptr_Iterator_defs.hh
1023|   |-- Ptr_Iterator_inlines.hh
1024|   |-- Ptr_Iterator_types.hh
1025|   |-- Rational_Box.hh
1026|   |-- Rational_Interval.hh
1027|   |-- Result_defs.hh
1028|   |-- Result_inlines.hh
1029|   |-- Rounding_Dir_defs.hh
1030|   |-- Rounding_Dir_inlines.hh
1031|   |-- Scalar_Products.cc
1032|   |-- Scalar_Products_defs.hh
1033|   |-- Scalar_Products_inlines.hh
1034|   |-- Scalar_Products_types.hh
1035|   |-- Slow_Copy.hh
1036|   |-- Sparse_Row.cc
1037|   |-- Sparse_Row_defs.hh
1038|   |-- Sparse_Row_inlines.hh
1039|   |-- Sparse_Row_templates.hh
1040|   |-- Sparse_Row_types.hh
1041|   |-- Sum_Floating_Point_Expression_defs.hh
1042|   |-- Sum_Floating_Point_Expression_inlines.hh
1043|   |-- Sum_Floating_Point_Expression_templates.hh
1044|   |-- Sum_Floating_Point_Expression_types.hh
1045|   |-- Swapping_Vector_defs.hh
1046|   |-- Swapping_Vector_inlines.hh
1047|   |-- Swapping_Vector_types.hh
1048|   |-- Temp_defs.hh
1049|   |-- Temp_inlines.hh
1050|   |-- Temp_templates.hh
1051|   |-- Threshold_Watcher.cc
1052|   |-- Threshold_Watcher_defs.hh
1053|   |-- Threshold_Watcher_inlines.hh
1054|   |-- Threshold_Watcher_templates.hh
1055|   |-- Threshold_Watcher_types.hh
1056|   |-- Time.cc
1057|   |-- Time_defs.hh
1058|   |-- Time_inlines.hh
1059|   |-- Time_types.hh
1060|   |-- Topology_types.hh
1061|   |-- Variable.cc
1062|   |-- Variable_Floating_Point_Expression_defs.hh
1063|   |-- Variable_Floating_Point_Expression_inlines.hh
1064|   |-- Variable_Floating_Point_Expression_types.hh
1065|   |-- Variable_defs.hh
1066|   |-- Variable_inlines.hh
1067|   |-- Variable_types.hh
1068|   |-- Variables_Set.cc
1069|   |-- Variables_Set_defs.hh
1070|   |-- Variables_Set_inlines.hh
1071|   |-- Variables_Set_types.hh
1072|   |-- WRD_coefficient_types_defs.hh
1073|   |-- WRD_coefficient_types_inlines.hh
1074|   |-- Watchdog.cc
1075|   |-- Watchdog_defs.hh
1076|   |-- Watchdog_inlines.hh
1077|   |-- Watchdog_types.hh
1078|   |-- Weight_Profiler.cc
1079|   |-- Weight_Profiler_defs.hh
1080|   |-- Widening_Function_defs.hh
1081|   |-- Widening_Function_inlines.hh
1082|   |-- Widening_Function_types.hh
1083|   |-- algorithms.hh
1084|   |-- assertions.cc
1085|   |-- assertions.hh
1086|   |-- assign_or_swap.hh
1087|   |-- c_streambuf.cc
1088|   |-- c_streambuf_defs.hh
1089|   |-- c_streambuf_inlines.hh
1090|   |-- c_streambuf_types.hh
1091|   |-- checked.cc
1092|   |-- checked_defs.hh
1093|   |-- checked_ext_inlines.hh
1094|   |-- checked_float_inlines.hh
1095|   |-- checked_inlines.hh
1096|   |-- checked_int_inlines.hh
1097|   |-- checked_mpq_inlines.hh
1098|   |-- checked_mpz_inlines.hh
1099|   |-- checked_numeric_limits.hh
1100|   |-- compiler.hh
1101|   |-- distances_defs.hh
1102|   |-- distances_inlines.hh
1103|   |-- distances_types.hh
1104|   |-- fpu-c99_inlines.hh
1105|   |-- fpu-ia32.cc
1106|   |-- fpu-ia32_inlines.hh
1107|   |-- fpu-none_inlines.hh
1108|   |-- fpu-sparc_inlines.hh
1109|   |-- fpu_defs.hh
1110|   |-- fpu_types.hh
1111|   |-- globals.cc
1112|   |-- globals_defs.hh
1113|   |-- globals_inlines.hh
1114|   |-- globals_types.hh
1115|   |-- initializer.hh
1116|   |-- intervals_defs.hh
1117|   |-- iterator_to_const_defs.hh
1118|   |-- iterator_to_const_inlines.hh
1119|   |-- iterator_to_const_types.hh
1120|   |-- linearize.hh
1121|   |-- math_utilities_defs.hh
1122|   |-- math_utilities_inlines.hh
1123|   |-- max_space_dimension.hh
1124|   |-- meta_programming.hh
1125|   |-- mp_std_bits.cc
1126|   |-- mp_std_bits_defs.hh
1127|   |-- mp_std_bits_inlines.hh
1128|   |-- namespaces.hh
1129|   |-- ppl-config.cc.in
1130|   |-- ppl.hh.dist
1131|   |-- ppl_header.hh
1132|   |-- set_GMP_memory_alloc_funcs.cc
1133|   |-- stdiobuf.cc
1134|   |-- stdiobuf_defs.hh
1135|   |-- stdiobuf_inlines.hh
1136|   |-- stdiobuf_types.hh
1137|   |-- swapping_sort_templates.hh
1138|   |-- termination.cc
1139|   |-- termination_defs.hh
1140|   |-- termination_templates.hh
1141|   |-- termination_types.hh
1142|   |-- version.cc
1143|   |-- version.hh.in
1144|   |-- wrap_assign.hh
1145|   |-- wrap_string.cc
1146|   `-- wrap_string.hh
1147|-- test-driver
1148|-- tests
1149|   |-- BD_Shape
1150|   |   |-- Makefile.am
1151|   |   |-- Makefile.in
1152|   |   |-- addconstraints1.cc
1153|   |   |-- addspacedims1.cc
1154|   |   |-- affinedimension1.cc
1155|   |   |-- affineimage1.cc
1156|   |   |-- affineimage2.cc
1157|   |   |-- affinepreimage1.cc
1158|   |   |-- ascii_dump_load1.cc
1159|   |   |-- bgp99extrapolation1.cc
1160|   |   |-- bhmz05widening1.cc
1161|   |   |-- bhz03widening1.cc
1162|   |   |-- bounded1.cc
1163|   |   |-- boundedaffineimage1.cc
1164|   |   |-- boundedaffinepreimage1.cc
1165|   |   |-- bounds1.cc
1166|   |   |-- cc76extrapolation1.cc
1167|   |   |-- cc76narrowing1.cc
1168|   |   |-- closure1.cc
1169|   |   |-- concatenate1.cc
1170|   |   |-- congruences1.cc
1171|   |   |-- constrains1.cc
1172|   |   |-- constraints1.cc
1173|   |   |-- contains1.cc
1174|   |   |-- containsintegerpoint1.cc
1175|   |   |-- difference1.cc
1176|   |   |-- discrete1.cc
1177|   |   |-- disjoint1.cc
1178|   |   |-- dropsomenonintegerpoints1.cc
1179|   |   |-- empty1.cc
1180|   |   |-- equality1.cc
1181|   |   |-- expandspacedim1.cc
1182|   |   |-- foldspacedims1.cc
1183|   |   |-- frequency1.cc
1184|   |   |-- frombdshape1.cc
1185|   |   |-- frombox1.cc
1186|   |   |-- fromgensys1.cc
1187|   |   |-- fromgrid1.cc
1188|   |   |-- fromoctagonalshape1.cc
1189|   |   |-- frompolyhedron1.cc
1190|   |   |-- fromspacedim1.cc
1191|   |   |-- generalizedaffineimage1.cc
1192|   |   |-- generalizedaffineimage2.cc
1193|   |   |-- generalizedaffinepreimage1.cc
1194|   |   |-- generalizedaffinepreimage2.cc
1195|   |   |-- generalizedaffinepreimage3.cc
1196|   |   |-- geomcovers1.cc
1197|   |   |-- h79widening1.cc
1198|   |   |-- integerupperboundifexact1.cc
1199|   |   |-- intersection1.cc
1200|   |   |-- limitedbhmz05extrapolation1.cc
1201|   |   |-- limitedcc76extrapolation1.cc
1202|   |   |-- limitedh79extrapolation1.cc
1203|   |   |-- mapspacedims1.cc
1204|   |   |-- max_min1.cc
1205|   |   |-- max_min2.cc
1206|   |   |-- maxspacedim1.cc
1207|   |   |-- membytes1.cc
1208|   |   |-- minconstraints1.cc
1209|   |   |-- relations1.cc
1210|   |   |-- relations2.cc
1211|   |   |-- relations3.cc
1212|   |   |-- relations4.cc
1213|   |   |-- removespacedims1.cc
1214|   |   |-- run_tests
1215|   |   |-- simplifyusingcontext1.cc
1216|   |   |-- timeelapse1.cc
1217|   |   |-- unconstrain1.cc
1218|   |   |-- universe1.cc
1219|   |   |-- upperbound1.cc
1220|   |   |-- upperboundifexact1.cc
1221|   |   |-- wrap1.cc
1222|   |   `-- writebdshape1.cc
1223|   |-- Box
1224|   |   |-- Makefile.am
1225|   |   |-- Makefile.in
1226|   |   |-- addconstraints1.cc
1227|   |   |-- addspacedims1.cc
1228|   |   |-- affinedimension1.cc
1229|   |   |-- affineimage1.cc
1230|   |   |-- affinepreimage1.cc
1231|   |   |-- ascii_dump_load1.cc
1232|   |   |-- bgp99extrapolation1.cc
1233|   |   |-- bhz03widening1.cc
1234|   |   |-- bounded1.cc
1235|   |   |-- boundedaffineimage1.cc
1236|   |   |-- boundedaffinepreimage1.cc
1237|   |   |-- cc76narrowing1.cc
1238|   |   |-- cc76widening.cc
1239|   |   |-- concatenate1.cc
1240|   |   |-- congruences1.cc
1241|   |   |-- constrains1.cc
1242|   |   |-- constraints1.cc
1243|   |   |-- contains1.cc
1244|   |   |-- containsintegerpoint1.cc
1245|   |   |-- difference1.cc
1246|   |   |-- discrete1.cc
1247|   |   |-- disjoint1.cc
1248|   |   |-- empty1.cc
1249|   |   |-- equality1.cc
1250|   |   |-- expandspacedim1.cc
1251|   |   |-- foldspacedims1.cc
1252|   |   |-- frequency1.cc
1253|   |   |-- frombdshape1.cc
1254|   |   |-- frombox1.cc
1255|   |   |-- fromgensys1.cc
1256|   |   |-- fromgrid1.cc
1257|   |   |-- frompartiallyreducedproduct1.cc
1258|   |   |-- frompolyhedron1.cc
1259|   |   |-- frompolyhedron2.cc
1260|   |   |-- fromspacedim1.cc
1261|   |   |-- generalizedaffineimage1.cc
1262|   |   |-- generalizedaffineimage2.cc
1263|   |   |-- generalizedaffinepreimage1.cc
1264|   |   |-- geomcovers1.cc
1265|   |   |-- intersection1.cc
1266|   |   |-- interval1.cc
1267|   |   |-- limitedcc76extrapolation1.cc
1268|   |   |-- mapspacedims1.cc
1269|   |   |-- max_min1.cc
1270|   |   |-- maxspacedim1.cc
1271|   |   |-- membytes1.cc
1272|   |   |-- minconstraints1.cc
1273|   |   |-- propagateconstraints1.cc
1274|   |   |-- propagateconstraints2.cc
1275|   |   |-- refinewithcongruence1.cc
1276|   |   |-- refinewithcongruences1.cc
1277|   |   |-- refinewithconstraint1.cc
1278|   |   |-- refinewithconstraint2.cc
1279|   |   |-- refinewithconstraints1.cc
1280|   |   |-- refinewithconstraints2.cc
1281|   |   |-- relations1.cc
1282|   |   |-- relations2.cc
1283|   |   |-- relations3.cc
1284|   |   |-- relations4.cc
1285|   |   |-- removespacedims1.cc
1286|   |   |-- run_tests
1287|   |   |-- simplifyusingcontext1.cc
1288|   |   |-- timeelapse1.cc
1289|   |   |-- topclosed1.cc
1290|   |   |-- unconstrain1.cc
1291|   |   |-- universe1.cc
1292|   |   |-- upperbound1.cc
1293|   |   |-- upperboundifexact1.cc
1294|   |   |-- wrap1.cc
1295|   |   `-- writebox1.cc
1296|   |-- CO_Tree
1297|   |   |-- Makefile.am
1298|   |   |-- Makefile.in
1299|   |   `-- cotree1.cc
1300|   |-- Concrete_Expression
1301|   |   |-- C_Expr.cc
1302|   |   |-- C_Expr_defs.hh
1303|   |   |-- C_Expr_inlines.hh
1304|   |   |-- Makefile.am
1305|   |   |-- Makefile.in
1306|   |   |-- bdshape1.cc
1307|   |   |-- bdshape2.cc
1308|   |   |-- digitalfilters1.cc
1309|   |   |-- linearform1.cc
1310|   |   |-- linearize.cc
1311|   |   |-- octagonalshape1.cc
1312|   |   |-- octagonalshape2.cc
1313|   |   |-- polyhedron1.cc
1314|   |   |-- polyhedron2.cc
1315|   |   `-- run_tests
1316|   |-- Grid
1317|   |   |-- Makefile.am
1318|   |   |-- Makefile.in
1319|   |   |-- addcongruence1.cc
1320|   |   |-- addcongruences1.cc
1321|   |   |-- addconstraint1.cc
1322|   |   |-- addconstraints1.cc
1323|   |   |-- addgenerator1.cc
1324|   |   |-- addgenerators1.cc
1325|   |   |-- addspacedims1.cc
1326|   |   |-- affinedim1.cc
1327|   |   |-- affineimage1.cc
1328|   |   |-- affineimage2.cc
1329|   |   |-- affinepreimage1.cc
1330|   |   |-- affinepreimage2.cc
1331|   |   |-- approximatepartition1.cc
1332|   |   |-- asciidumpload1.cc
1333|   |   |-- asciidumpload2.cc
1334|   |   |-- asciidumpload3.cc
1335|   |   |-- asciidumpload4.cc
1336|   |   |-- asciidumpload5.cc
1337|   |   |-- asciidumpload6.cc
1338|   |   |-- bhz03widening1.cc
1339|   |   |-- bounded1.cc
1340|   |   |-- boundedaffineimage1.cc
1341|   |   |-- boundedaffinepreimage1.cc
1342|   |   |-- bounds1.cc
1343|   |   |-- certificate1.cc
1344|   |   |-- concatenate1.cc
1345|   |   |-- congruence1.cc
1346|   |   |-- congruences1.cc
1347|   |   |-- congruences2.cc
1348|   |   |-- constraints1.cc
1349|   |   |-- contains1.cc
1350|   |   |-- containsintegerpoint1.cc
1351|   |   |-- discrete1.cc
1352|   |   |-- disjoint1.cc
1353|   |   |-- dropnonintegerpoints1.cc
1354|   |   |-- equals1.cc
1355|   |   |-- expandspacedim1.cc
1356|   |   |-- foldspacedims1.cc
1357|   |   |-- frequency1.cc
1358|   |   |-- frombdshape1.cc
1359|   |   |-- frombox1.cc
1360|   |   |-- fromgrid1.cc
1361|   |   |-- fromoctagonalshape1.cc
1362|   |   |-- frompolyhedron1.cc
1363|   |   |-- generalizedaffineimage1.cc
1364|   |   |-- generalizedaffineimage2.cc
1365|   |   |-- generalizedaffineimage3.cc
1366|   |   |-- generalizedaffinepreimage1.cc
1367|   |   |-- generalizedaffinepreimage2.cc
1368|   |   |-- generalizedaffinepreimage3.cc
1369|   |   |-- generator1.cc
1370|   |   |-- generators1.cc
1371|   |   |-- generators2.cc
1372|   |   |-- grid1.cc
1373|   |   |-- grid2.cc
1374|   |   |-- grid3.cc
1375|   |   |-- griddifference1.cc
1376|   |   |-- intersection1.cc
1377|   |   |-- isempty1.cc
1378|   |   |-- isuniverse1.cc
1379|   |   |-- limitedextrapolation1.cc
1380|   |   |-- limitedextrapolation2.cc
1381|   |   |-- limitedextrapolation3.cc
1382|   |   |-- mapspacedims1.cc
1383|   |   |-- maxmin1.cc
1384|   |   |-- membytes1.cc
1385|   |   |-- mincongruences1.cc
1386|   |   |-- mingenerators1.cc
1387|   |   |-- outputoperator1.cc
1388|   |   |-- outputoperator2.cc
1389|   |   |-- outputoperator3.cc
1390|   |   |-- partition1.cc
1391|   |   |-- powersetdifference1.cc
1392|   |   |-- powersetgeometricallycovers1.cc
1393|   |   |-- powersetgeometricallyequals1.cc
1394|   |   |-- refinewithcongruences1.cc
1395|   |   |-- refinewithconstraints1.cc
1396|   |   |-- relations1.cc
1397|   |   |-- relations2.cc
1398|   |   |-- relations3.cc
1399|   |   |-- removespacedims1.cc
1400|   |   |-- removespacedims2.cc
1401|   |   |-- simplifyusingcontext1.cc
1402|   |   |-- timeelapse1.cc
1403|   |   |-- topclosed1.cc
1404|   |   |-- topclosure1.cc
1405|   |   |-- unconstrain1.cc
1406|   |   |-- upperbound1.cc
1407|   |   |-- upperbound2.cc
1408|   |   |-- widening1.cc
1409|   |   |-- widening2.cc
1410|   |   |-- widening3.cc
1411|   |   |-- wrap1.cc
1412|   |   `-- writecongruencesystem.cc
1413|   |-- MIP_Problem
1414|   |   |-- Makefile.am
1415|   |   |-- Makefile.in
1416|   |   |-- ascii_dump_load1.cc
1417|   |   |-- exceptions1.cc
1418|   |   |-- mipproblem1.cc
1419|   |   |-- mipproblem2.cc
1420|   |   |-- mipproblem3.cc
1421|   |   `-- mipproblem4.cc
1422|   |-- Makefile.am
1423|   |-- Makefile.in
1424|   |-- Octagonal_Shape
1425|   |   |-- Makefile.am
1426|   |   |-- Makefile.in
1427|   |   |-- addspacedims1.cc
1428|   |   |-- affinedimension1.cc
1429|   |   |-- affineimage1.cc
1430|   |   |-- affineimage2.cc
1431|   |   |-- affinepreimage1.cc
1432|   |   |-- affinepreimage2.cc
1433|   |   |-- ascii_dump_load1.cc
1434|   |   |-- bhmz05widening1.cc
1435|   |   |-- bhz03widening1.cc
1436|   |   |-- bounded1.cc
1437|   |   |-- boundedaffineimage1.cc
1438|   |   |-- boundedaffinepreimage1.cc
1439|   |   |-- bounds1.cc
1440|   |   |-- cc76extrapolation1.cc
1441|   |   |-- cc76narrowing1.cc
1442|   |   |-- chinainit.cc
1443|   |   |-- concatenate1.cc
1444|   |   |-- congruences1.cc
1445|   |   |-- constrains1.cc
1446|   |   |-- constraints1.cc
1447|   |   |-- contains1.cc
1448|   |   |-- containsintegerpoint1.cc
1449|   |   |-- difference1.cc
1450|   |   |-- discrete1.cc
1451|   |   |-- disjoint1.cc
1452|   |   |-- dropsomenonintegerpoints1.cc
1453|   |   |-- empty1.cc
1454|   |   |-- expandspacedim1.cc
1455|   |   |-- foldspacedims1.cc
1456|   |   |-- frequency1.cc
1457|   |   |-- frombdshape1.cc
1458|   |   |-- frombox1.cc
1459|   |   |-- fromgensys1.cc
1460|   |   |-- fromgrid1.cc
1461|   |   |-- fromoctagonalshape1.cc
1462|   |   |-- frompolyhedron1.cc
1463|   |   |-- fromspacedim1.cc
1464|   |   |-- generalizedaffineimage1.cc
1465|   |   |-- generalizedaffineimage2.cc
1466|   |   |-- generalizedaffineimage3.cc
1467|   |   |-- generalizedaffineimage4.cc
1468|   |   |-- generalizedaffineimage5.cc
1469|   |   |-- generalizedaffinepreimage1.cc
1470|   |   |-- generalizedaffinepreimage2.cc
1471|   |   |-- generalizedaffinepreimage3.cc
1472|   |   |-- generalizedaffinepreimage4.cc
1473|   |   |-- integerupperboundifexact1.cc
1474|   |   |-- intersection1.cc
1475|   |   |-- limitedbhmz05extrapolation1.cc
1476|   |   |-- limitedcc76extrapolation1.cc
1477|   |   |-- mapspacedims1.cc
1478|   |   |-- max_min1.cc
1479|   |   |-- max_min2.cc
1480|   |   |-- maxspacedim1.cc
1481|   |   |-- membytes1.cc
1482|   |   |-- minconstraints1.cc
1483|   |   |-- relatwithcons1.cc
1484|   |   |-- relatwithcons2.cc
1485|   |   |-- relatwithcons3.cc
1486|   |   |-- relatwithgen1.cc
1487|   |   |-- removespacedims1.cc
1488|   |   |-- run_tests
1489|   |   |-- simplifyusingcontext1.cc
1490|   |   |-- timeelapse1.cc
1491|   |   |-- unconstrain1.cc
1492|   |   |-- universe1.cc
1493|   |   |-- upperbound1.cc
1494|   |   |-- upperboundifexact1.cc
1495|   |   |-- wrap1.cc
1496|   |   `-- writeoctagon1.cc
1497|   |-- PIP_Problem
1498|   |   |-- Makefile.am
1499|   |   |-- Makefile.in
1500|   |   |-- ascii_dump_load1.cc
1501|   |   |-- exceptions1.cc
1502|   |   |-- pipproblem1.cc
1503|   |   |-- pipproblem2.cc
1504|   |   |-- pipproblem3.cc
1505|   |   `-- weightwatch1.cc
1506|   |-- Partially_Reduced_Product
1507|   |   |-- Makefile.am
1508|   |   |-- Makefile.in
1509|   |   |-- addcongruences1.cc
1510|   |   |-- affineimage1.cc
1511|   |   |-- asciidumpload1.cc
1512|   |   |-- bounded1.cc
1513|   |   |-- boundedaffineimage1.cc
1514|   |   |-- bounds1.cc
1515|   |   |-- concatenate1.cc
1516|   |   |-- congruences1.cc
1517|   |   |-- congruencesproduct1.cc
1518|   |   |-- constraints1.cc
1519|   |   |-- constraintsproduct1.cc
1520|   |   |-- contains1.cc
1521|   |   |-- difference1.cc
1522|   |   |-- dimension1.cc
1523|   |   |-- directproduct1.cc
1524|   |   |-- discrete1.cc
1525|   |   |-- disjoint1.cc
1526|   |   |-- dropsomenonintegerpoints1.cc
1527|   |   |-- equals1.cc
1528|   |   |-- frombdshape1.cc
1529|   |   |-- frombox1.cc
1530|   |   |-- fromgrid1.cc
1531|   |   |-- fromoctagonalshape1.cc
1532|   |   |-- frompolyhedron1.cc
1533|   |   |-- fromproduct1.cc
1534|   |   |-- generalizedaffineimage1.cc
1535|   |   |-- intersection1.cc
1536|   |   |-- isempty1.cc
1537|   |   |-- isuniverse1.cc
1538|   |   |-- maxmin1.cc
1539|   |   |-- partially_reduced_product_test.hh
1540|   |   |-- refinewithcongruences1.cc
1541|   |   |-- refinewithconstraints1.cc
1542|   |   |-- relations1.cc
1543|   |   |-- shapepreservingproduct1.cc
1544|   |   |-- smashproduct1.cc
1545|   |   |-- spacedims1.cc
1546|   |   |-- timeelapse1.cc
1547|   |   |-- topclosed1.cc
1548|   |   |-- topclosure1.cc
1549|   |   `-- upperbound1.cc
1550|   |-- Polyhedron
1551|   |   |-- Makefile.am
1552|   |   |-- Makefile.in
1553|   |   |-- addcongruence1.cc
1554|   |   |-- addcongruences1.cc
1555|   |   |-- addconstraint1.cc
1556|   |   |-- addconstraints1.cc
1557|   |   |-- addconstraints2.cc
1558|   |   |-- addgenerator1.cc
1559|   |   |-- addgenerator2.cc
1560|   |   |-- addgenerators1.cc
1561|   |   |-- addgenerators2.cc
1562|   |   |-- addspacedims1.cc
1563|   |   |-- addspacedims2.cc
1564|   |   |-- affineimage1.cc
1565|   |   |-- affineimage2.cc
1566|   |   |-- affinepreimage1.cc
1567|   |   |-- affinetrans.cc
1568|   |   |-- append1.cc
1569|   |   |-- append2.cc
1570|   |   |-- ascii_dump_load1.cc
1571|   |   |-- ascii_dump_load2.cc
1572|   |   |-- ascii_dump_load3.cc
1573|   |   |-- bgp99extrapolation1.cc
1574|   |   |-- bgp99extrapolation2.cc
1575|   |   |-- bhrz03widening1.cc
1576|   |   |-- bhrz03widening2.cc
1577|   |   |-- bhrz03widening3.cc
1578|   |   |-- bhz03widening1.cc
1579|   |   |-- bounded1.cc
1580|   |   |-- boundedaffineimage1.cc
1581|   |   |-- boundedaffinepreimage1.cc
1582|   |   |-- boundedbhrz03extrapolation1.cc
1583|   |   |-- boundedh79extrapolation1.cc
1584|   |   |-- bounds1.cc
1585|   |   |-- cnncconversion1.cc
1586|   |   |-- concatenate1.cc
1587|   |   |-- congruences1.cc
1588|   |   |-- constrains1.cc
1589|   |   |-- constraints1.cc
1590|   |   |-- contains1.cc
1591|   |   |-- contains2.cc
1592|   |   |-- containsintegerpoint1.cc
1593|   |   |-- disjoint1.cc
1594|   |   |-- disjoint2.cc
1595|   |   |-- dropsomenonintegerpoints1.cc
1596|   |   |-- dropsomenonintegerpoints2.cc
1597|   |   |-- dualhypercubes.cc
1598|   |   |-- empty1.cc
1599|   |   |-- equals1.cc
1600|   |   |-- exceptions1.cc
1601|   |   |-- exceptions2.cc
1602|   |   |-- exceptions3.cc
1603|   |   |-- expandspacedim1.cc
1604|   |   |-- expandspacedim2.cc
1605|   |   |-- foldspacedims1.cc
1606|   |   |-- foldspacedims2.cc
1607|   |   |-- frequency1.cc
1608|   |   |-- frombdshape1.cc
1609|   |   |-- frombox1.cc
1610|   |   |-- frombox2.cc
1611|   |   |-- fromgrid1.cc
1612|   |   |-- fromoctagonalshape1.cc
1613|   |   |-- generalizedaffineimage1.cc
1614|   |   |-- generalizedaffineimage2.cc
1615|   |   |-- generalizedaffinepreimage1.cc
1616|   |   |-- generalizedaffinepreimage2.cc
1617|   |   |-- generators1.cc
1618|   |   |-- geomcovers1.cc
1619|   |   |-- h79widening1.cc
1620|   |   |-- h79widening2.cc
1621|   |   |-- hybrid.cc
1622|   |   |-- hypercubes.cc
1623|   |   |-- intersection1.cc
1624|   |   |-- limitedbhrz03extrapolation1.cc
1625|   |   |-- limitedh79extrapolation1.cc
1626|   |   |-- linearexpression1.cc
1627|   |   |-- linearpartition1.cc
1628|   |   |-- linearsystem1.cc
1629|   |   |-- mapspacedims1.cc
1630|   |   |-- matrix1.cc
1631|   |   |-- max_min1.cc
1632|   |   |-- maxspacedim1.cc
1633|   |   |-- mc91.cc
1634|   |   |-- membytes1.cc
1635|   |   |-- memory1.cc
1636|   |   |-- memory2.cc
1637|   |   |-- minconstraints1.cc
1638|   |   |-- minconstraints2.cc
1639|   |   |-- mingenerators1.cc
1640|   |   |-- mingenerators2.cc
1641|   |   |-- nncminimize1.cc
1642|   |   |-- nncminimize2.cc
1643|   |   |-- nncpostimeelapse1.cc
1644|   |   |-- numberinput1.cc
1645|   |   |-- onepoint.cc
1646|   |   |-- permute.cc
1647|   |   |-- polydifference1.cc
1648|   |   |-- polydifference2.cc
1649|   |   |-- polyhull1.cc
1650|   |   |-- polyhull2.cc
1651|   |   |-- polyhullifexact1.cc
1652|   |   |-- polyhullifexact2.cc
1653|   |   |-- randphull1.cc
1654|   |   |-- refinewithcongruence1.cc
1655|   |   |-- refinewithcongruences1.cc
1656|   |   |-- refinewithconstraint1.cc
1657|   |   |-- refinewithconstraints1.cc
1658|   |   |-- relations1.cc
1659|   |   |-- relations2.cc
1660|   |   |-- relations3.cc
1661|   |   |-- removespacedims1.cc
1662|   |   |-- removespacedims2.cc
1663|   |   |-- simplifyusingcontext1.cc
1664|   |   |-- simplifyusingcontext2.cc
1665|   |   |-- smm1.cc
1666|   |   |-- sparserow1.cc
1667|   |   |-- termination1.cc
1668|   |   |-- termination2.cc
1669|   |   |-- timeelapse1.cc
1670|   |   |-- timeelapse2.cc
1671|   |   |-- topclosed1.cc
1672|   |   |-- topclosure1.cc
1673|   |   |-- unconstrain1.cc
1674|   |   |-- universe1.cc
1675|   |   |-- universe2.cc
1676|   |   |-- variablesset1.cc
1677|   |   |-- watchdog1.cc
1678|   |   |-- weightwatch1.cc
1679|   |   |-- wrap1.cc
1680|   |   |-- wrap2.cc
1681|   |   |-- writeconsys1.cc
1682|   |   |-- writegensys1.cc
1683|   |   |-- writepolyhedron1.cc
1684|   |   |-- writepolyhedron2.cc
1685|   |   |-- writerelation1.cc
1686|   |   `-- writevariable1.cc
1687|   |-- Powerset
1688|   |   |-- Makefile.am
1689|   |   |-- Makefile.in
1690|   |   |-- addcongruences1.cc
1691|   |   |-- addconstraints1.cc
1692|   |   |-- affinedimension1.cc
1693|   |   |-- affineimage1.cc
1694|   |   |-- affinepreimage1.cc
1695|   |   |-- bounded1.cc
1696|   |   |-- bounds1.cc
1697|   |   |-- closed1.cc
1698|   |   |-- closure1.cc
1699|   |   |-- collapse1.cc
1700|   |   |-- concatenate1.cc
1701|   |   |-- contains1.cc
1702|   |   |-- containsintegerpoint1.cc
1703|   |   |-- difference1.cc
1704|   |   |-- discrete1.cc
1705|   |   |-- disjoint1.cc
1706|   |   |-- disjunct1.cc
1707|   |   |-- empty1.cc
1708|   |   |-- entails1.cc
1709|   |   |-- equals1.cc
1710|   |   |-- frombdshape1.cc
1711|   |   |-- frombox1.cc
1712|   |   |-- fromcongruences1.cc
1713|   |   |-- fromconstraints1.cc
1714|   |   |-- fromgrid1.cc
1715|   |   |-- fromoctagonalshape1.cc
1716|   |   |-- frompolyhedron1.cc
1717|   |   |-- fromspacedimension1.cc
1718|   |   |-- intersection1.cc
1719|   |   |-- maxmin1.cc
1720|   |   |-- meet1.cc
1721|   |   |-- membytes1.cc
1722|   |   |-- powerset1.cc
1723|   |   |-- reduce1.cc
1724|   |   |-- refinewith1.cc
1725|   |   |-- relationwith1.cc
1726|   |   |-- simplifyusingcontext1.cc
1727|   |   |-- size1.cc
1728|   |   |-- spacedims1.cc
1729|   |   |-- universe1.cc
1730|   |   `-- upperbound1.cc
1731|   |-- README
1732|   |-- Random_Number_Generator_defs.hh
1733|   |-- Random_Number_Generator_inlines.hh
1734|   |-- Random_Number_Generator_types.hh
1735|   |-- Watchdog
1736|   |   |-- Makefile.am
1737|   |   |-- Makefile.in
1738|   |   `-- watchdog1.cc
1739|   |-- files.cc
1740|   |-- files.hh
1741|   |-- ppl_test.cc
1742|   |-- ppl_test.hh
1743|   `-- valgrind_suppressions
1744`-- utils
1745    |-- Makefile.am
1746    |-- Makefile.in
1747    |-- build_header.in
1748    |-- cm_cleaner.sh
1749    |-- cm_splitter.sh
1750    |-- text2cxxarray.in
1751    |-- timings.cc
1752    `-- timings.hh
1753
1754
1755--------
1756
1757Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
1758Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
1759
1760This document describes the Parma Polyhedra Library (PPL).
1761
1762Permission is granted to copy, distribute and/or modify this document
1763under the terms of the GNU Free Documentation License, Version 1.2
1764or any later version published by the Free Software Foundation;
1765with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
1766The license is included, in various formats, in the `doc' subdirectory
1767of each distribution of the PPL in files named `fdl.*'.
1768
1769The PPL is free software; you can redistribute it and/or modify it
1770under the terms of the GNU General Public License as published by the
1771Free Software Foundation; either version 3 of the License, or (at your
1772option) any later version.  The license is included, in various
1773formats, in the `doc' subdirectory of each distribution of the PPL in
1774files named `gpl.*'.
1775
1776The PPL is distributed in the hope that it will be useful, but WITHOUT
1777ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1778FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1779for more details.
1780
1781If you have not received a copy of one or both the above mentioned
1782licenses along with the PPL, write to the Free Software Foundation,
1783Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
1784
1785For the most up-to-date information see the Parma Polyhedra Library
1786site: http://bugseng.com/products/ppl/ .
1787

README.alpha

1Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
2Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
3See below for the copying conditions.
4
5
6Configuration of the Parma Polyhedra Library on the Alpha
7=========================================================
8
9There appears to be a bug in GCC (all versions up to and including
104.3.x) concerning exception handling on the Alpha.  This may be
11related to
12
13  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8966
14
15Strictily speaking, the PPL uses exception handling, so if that does
16not work on the Alpha, then the PPL does not work on the Alpha.  And
17there is nothing to do but fix the GCC bug.
18
19However, if that GCC bug really only affects exception handling and nothing
20else, given that the PPL only uses exceptions for error reporting, we can
21probably say that the PPL works on the Alpha *apart* from error reporting.
22In other words, under this hypothesis (which we have no way to check),
23users that are not interested in catching exceptions thrown by the PPL
24(in response to invalid arguments, heap exhaustion, overflows, ...)
25should probably not worry.  Your mileage may vary...
26
27
28--------
29
30Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
31Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
32
33This document describes the Parma Polyhedra Library (PPL).
34
35Permission is granted to copy, distribute and/or modify this document
36under the terms of the GNU Free Documentation License, Version 1.2
37or any later version published by the Free Software Foundation;
38with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
39The license is included, in various formats, in the `doc' subdirectory
40of each distribution of the PPL in files named `fdl.*'.
41
42The PPL is free software; you can redistribute it and/or modify it
43under the terms of the GNU General Public License as published by the
44Free Software Foundation; either version 3 of the License, or (at your
45option) any later version.  The license is included, in various
46formats, in the `doc' subdirectory of each distribution of the PPL in
47files named `gpl.*'.
48
49The PPL is distributed in the hope that it will be useful, but WITHOUT
50ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
51FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
52for more details.
53
54If you have not received a copy of one or both the above mentioned
55licenses along with the PPL, write to the Free Software Foundation,
56Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
57
58For the most up-to-date information see the Parma Polyhedra Library
59site: http://bugseng.com/products/ppl/ .
60

README.arm

1Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
2Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
3See below for the copying conditions.
4
5
6Configuration of the Parma Polyhedra Library on the ARM
7=======================================================
8
9On the ARM, whether or not the rounding mode can be set in a way that
10allows the PPL to work with floating point numbers, will depend on the
11actual hardware.  However, disabling the affected PPL code at run-time
12is impractical.  Thus, to ensure that the binary distributions of the
13PPL for the ARM work as expected on any hardware, on the ARM, the
14affected code is disabled at compile-time.  It is still possible to
15build a binary for the ARM that assumes the hardware can control the
16rounding mode; for this, configure the PPL with
17`-DPPL_ARM_CAN_CONTROL_FPU=1' included in CPPFLAGS.
18For example:
19
20  CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1" .../configure ...
21
22
23--------
24
25Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
26Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
27
28This document describes the Parma Polyhedra Library (PPL).
29
30Permission is granted to copy, distribute and/or modify this document
31under the terms of the GNU Free Documentation License, Version 1.2
32or any later version published by the Free Software Foundation;
33with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
34The license is included, in various formats, in the `doc' subdirectory
35of each distribution of the PPL in files named `fdl.*'.
36
37The PPL is free software; you can redistribute it and/or modify it
38under the terms of the GNU General Public License as published by the
39Free Software Foundation; either version 3 of the License, or (at your
40option) any later version.  The license is included, in various
41formats, in the `doc' subdirectory of each distribution of the PPL in
42files named `gpl.*'.
43
44The PPL is distributed in the hope that it will be useful, but WITHOUT
45ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
46FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
47for more details.
48
49If you have not received a copy of one or both the above mentioned
50licenses along with the PPL, write to the Free Software Foundation,
51Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
52
53For the most up-to-date information see the Parma Polyhedra Library
54site: http://bugseng.com/products/ppl/ .
55

README.configure

1Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
2Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
3See below for the copying conditions.
4
5
6Configuration of the Parma Polyhedra Library
7============================================
8
9Contents
10--------
11
12 1. The Standard Thing (configure, make, make install)
13 2. Using the Right Version of GMP
14 3. Using the Right C and C++ Compilers
15 4. Enabling the Use of Alternative Coefficient Types
16 5. Configuring the Language Interfaces
17 6. Configuring for Optimized Performance
18 7. Advanced Performance Tuning
19 8. Configuring for Debugging
20 9. Programs that Come with the Library
2110. Using the Git Sources
22
23
241. The Standard Thing (configure, make, make install)
25-----------------------------------------------------
26
27In an ideal situation (i.e., on a more or less standard Un*x
28environment, with the right C++ compiler to compile the core library
29as well as the right compilers to compile all the enabled language
30interfaces, with the GMP library installed in a standard place and
31provided the user is satisfied with all the options we chose as
32defaults), a source distribution of the Parma Polyhedra Library (PPL)
33can be unpacked, configured, built and installed with the following,
34well-known procedure:
35
36  $ tar jxf ppl-x.y.tar.bz2
37  $ ./configure
38  $ make
39  $ su
40  Password: <root password>
41  $ make install
42
43After successful completion of these steps the PPL is completely
44installed on the system and can be used as expected.
45
46On the other hand, the PPL `configure' shell script provides many
47options to customize the build and installation process.  The
48`INSTALL' file gives a detailed description of the non PPL-specific
49aspects of the configuration, compilation and installation process and
50describes the basic options of the `configure' script.  For a compact
51summary of all the available configuration options, run the command
52
53  $ ./configure --help
54
55The PPL-specific aspects of the configuration, compilation and
56installation process are discussed in the following sections.
57
58
592. Using the Right Version of GMP
60---------------------------------
61
62In order to use this version of the PPL you must make sure that:
63
64(1) GMP version 4.1.3 or later is installed on your system;
65(2) that this version was compiled with the C++ interface enabled;
66(3) that this C++ interface was compiled with the same compiler
67    version with which you will compile the PPL;
68(4) that your C and C++ compilers and your linker will find _that_
69    version of GMP and not others that may be present in your system.
70
71Some binary distributions of GMP may contain a version that was compiled
72with the C++ interface disabled, or compiled with a C++ compiler
73implementing a different ABI than the compiler you will use to compile
74the PPL.  In these (increasingly rare) cases the only reliable way to
75ensure points (1), (2) and (3) above is to visit GMP's home page at
76
77  http://gmplib.org/
78
79and download the last available version.  Then decide where to install
80it and call this place in your file system <GMP prefix>.  Then, unless
81you have special needs, you can invoke the GMP's configure script with
82the options
83
84  --prefix=<GMP prefix> --enable-cxx
85
86If the C++ compiler you will use to compile the PPL is not the default
87on your system then, in order to satisfy point (3) above, you should
88set the `CXX', `CXXFLAGS' and `CXXCPP' environment variables so as to
89use the intended compiler with the intended options.  See the file
90`INSTALL.autoconf' in the GMP distribution for more on this subject.
91
92If you want to use the PPL ability to recover from out-of-memory
93situations, you should use a version of GMP compiled with GCC (which
94implies you should then compile also the PPL with GCC) using the
95`-fexceptions' option.  To build such a version, you can use the
96`CPPFLAGS' environment variable, so that it contains (among possibly
97other compiler options) `-fexceptions'.  Again, see `INSTALL.autoconf'
98in the GMP distribution for more on using environment variables to
99influence the configure script.
100
101In order to achieve point (4) above, if the directory <GMP prefix>
102is not standard for your compiler and/or for your linker, you will
103have to make sure the configure script of the PPL is invoked with,
104among others, the option
105
106  --with-gmp=<GMP prefix>
107
108If you use shared libraries, consult the documentation of your dynamic
109linker/loader (`man ld.so' will do on most Un*x-like systems) to see
110how to make sure that GMP's shared library will be found at run-time
111(setting the environment variable `LD_LIBRARY_PATH' to
112"<GMP prefix>/lib:$LD_LIBRARY_PATH" or
113"<GMP prefix>/lib64:$LD_LIBRARY_PATH" is the most commonly used
114solution).
115
116It is also possible to use a non-installed build of GMP.  In order to
117do that you should configure the PPL with, among others, the option
118
119  --with-gmp-build=<GMP build directory>
120
121
1223. Using the Right C and C++ Compilers
123--------------------------------------
124
125The configure script of the PPL, as you can see by using its `--help'
126option, besides recognizing `CC', `CXX', `CFLAGS', `CXXFLAGS' and
127other environment variables, provides four switches with which you can
128select the compilers and compilers' options to use for building the
129library.  These switches are
130
131  --with-cc=XXX           use XXX as the C compiler
132  --with-cxx=XXX          use XXX as the C++ compiler
133  --with-cflags=XXX       add XXX to the options for the C compiler
134  --with-cxxflags=XXX     add XXX to the options for the C++ compiler
135
136Among other things, the ability to specify the C and C++ compilation
137flags allows you to use special compilation options ---such as
138`-fno-threadsafe-statics'--- that, while not safe for general use,
139may be adequate for your particular application.
140
141Let us take the occasion to stress, once again, the fact that you
142must use exactly the same C++ compiler to compile the C++ interface of GMP,
143the PPL and your application, if it uses the C++ interface of the PPL.
144It should be noted that no version of GCC prior to 4.0.3 is known to
145reliably compile PPL 0.10.
146
147Here is an example of a configuration that uses the Intel C/C++ compiler
148version 11.1.x.  Assuming you have configured GMP with a command like
149
150  CC=icc CXX=icpc /path/to/gmp-5.0.1/configure --enable-cxx \
151    --prefix=/opt/intel/Compiler/11.1/072 \
152    --libdir=/opt/intel/Compiler/11.1/072/lib/intel64
153
154you can configure the PPL with a command like
155
156  /path/to/ppl-x.y/configure --with-cxx=icpc --with-cc=icc \
157    --with-cxxflags=-pch \
158    --with-gmp=/opt/intel/Compiler/11.1/072
159
160Notice that the `--with-cxxflags' option is not essential here and is
161only included to show how extra compiler options can be passed to the
162configure script.
163
164As another example, here is how you can compile the PPL with
165Comeau C/C++ 4.3.10.1.  First configure GMP with a command like
166
167  CXX=como /path/to/gmp-5.0.1/configure --enable-cxx \
168    --disable-shared --prefix=/opt/comeau/local
169
170Then you can configure the PPL with a command like
171
172  /path/to/ppl/configure --with-cc="como --c" --with-cxx="como -tused" \
173    --with-cxxflags="-g++ --remarks --long_long \
174    --display_error_number --diag_suppress 340,401,679" \
175    --disable-shared --with-gmp=/opt/comeau/local
176
177Notice the use of the option `--disable-shared' both in the configuration
178of GMP and the configuration of the PPL.  This is due to the fact that
179Comeau C/C++ 4.3.10.1 does not support shared libraries.
180
181
1824. Enabling the Use of Alternative Coefficient Types
183----------------------------------------------------
184
185When speed is important and the numerical coefficients involved are
186likely to be small, you can configure the PPL to use checked native
187integers (8, 16, 32 or 64 bits wide) for the representation of the
188coefficients.  This is a safe strategy since, when using checked
189native integers, the library also performs systematic (yet efficient)
190overflow detection and, in case of overflow, an exception is raised.
191To enable the use of various kinds of coefficients, you can use
192the configure option
193
194  --enable-coefficients=TYPE
195
196where TYPE is one of
197
198  mpz,              use GMP unbounded integers (default);
199  checked-int8,     use  8-bit checked integers;
200  checked-int16,    use 16-bit checked integers;
201  checked-int32,    use 32-bit checked integers;
202  checked-int64,    use 64-bit checked integers.
203
204When using checked integers it is also wise to increase the
205optimization level, since their efficiency largely depends on the
206compiler and on the optimization options used.  See below for how
207to do that (in later releases we may try to make the choice of the
208optimization options automatic).
209
210If you want to test the overhead of checked integers with respect
211to plain, unchecked native integers and you are really sure of what
212you are doing, you may be interested to know that these additional
213choices for TYPE are available:
214
215  native-int8,     use  8-bit *unchecked* integers;
216  native-int16,    use 16-bit *unchecked* integers;
217  native-int32,    use 32-bit *unchecked* integers;
218  native-int64,    use 64-bit *unchecked* integers.
219
220
2215. Configuring the Language Interfaces
222--------------------------------------
223
224The PPL comes equipped with interfaces for several programming
225languages.  Some of these interfaces are enabled by default,
226meaning that, if the configuration script finds support for
227a certain programming language, these interfaces are compiled
228(with `make') and installed (with `make install').
229The set of enabled interface can be customized with the configure option
230
231  --enable-interfaces=INTERFACES
232
233The INTERFACES argument can be
234
235  none,            no language interface is enabled;
236  all,             all language interfaces are enabled;
237
238or any space-separated list of interface specifiers chosen among
239
240  cxx,             the C++ interface;
241  c,               the C interface;
242  java,            the Java interface;
243  ocaml,           the OCaml interface;
244  ciao_prolog,     the Ciao Prolog interface;
245  gnu_prolog,      the GNU Prolog interface;
246  sicstus_prolog,  the SICStus Prolog interface;
247  swi_prolog,      the SWI-Prolog interface;
248  xsb_prolog,      the XSB interface;
249  yap_prolog,      the YAP interface.
250
251Note that, in order to build any interface different from the C++ one,
252a recent enough version of GNU M4 is required (the configuration script
253searches for one and gives an error if it cannot find it).
254
255The instantiations for the domains for interfaces other than the main
256C++ interface can be customized via the `instantiations' option for
257the PPL `configure' shell script which is described below. Some
258interfaces depend on language implementations that are somewhat
259problematic, either because they tend to be installed in rather
260unpredictable places, or because some published versions have bugs
261that prevent the PPL interface to run correctly.  In these cases,
262information is given in a README.* file.  Presently we have:
263
264  README.java,
265  README.ocaml,
266  README.gprolog,
267  README.swiprolog,
268  README.yap.
269
270For the Java interface, the `--with-java=DIR' configure option allows
271to select the Java SDK root directory.  We have tested the Java interface
272with the Java SE Development Kit 6 and OpenJDK 1.6.
273
274For the OCaml interface, the `--with-mlgmp=DIR' configure option allows
275to specify the installation directory of the ML GMP package (which allows
276to use GMP numbers in OCaml programs).  By default, ML GMP is searched
277in the `gmp' subdirectory of the OCaml standard library directory.
278
279The C++ interface provides access to all the numerical abstractions
280provided by the PPL.  The majority of these (we are talking about
281hundreds of different numerical abstractions) are provided by means
282of C++ templates.  The other languages interfaced to the PPL, except
283Java, do not have this facility.  Moreover, at the time of writing
284we do not know if and to which extent C++ templates can be mapped
285onto Java generics.  As a result, for all the language interfaces
286but the C++ one, the instantiation of the template-based numerical
287abstractions must be done at library-compile-time (instead of
288application-compile-time).  A small set of instantiations is enabled
289by default.  Currently this set is given by
290
291  Polyhedron (which stands for both C_Polyhedron and NNC_Polyhedron),
292  Grid,
293  Rational_Box,
294  BD_Shape<mpz_class>,
295  BD_Shape<mpq_class>,
296  Octagonal_Shape<mpz_class>,
297  Octagonal_Shape<mpq_class>,
298  Constraints_Product<C_Polyhedron, Grid>,
299  Pointset_Powerset<C_Polyhedron>,
300  Pointset_Powerset<NNC_Polyhedron>,
301
302plus, if the host architecture supports double precision floating point
303numbers conforming to the IEEE 754 standard,
304
305  Double_Box,
306  BD_Shape<double>,
307  Octagonal_Shape<double>.
308
309To enable a different set of instantiations, the configure option
310
311  --enable-instantiations=INSTANTIATIONS
312
313The list of of possibilities for the `INSTANTIATIONS' argument can be
314obtained by omitting the argument, i.e., with the configure option
315
316  --enable-instantiations
317
318Note that the stand-alone `Polyhedron' instantiation must be specified
319without any topology `C_' or `NNC_' as they are added automatically
320and both the domains `C_Polyhedron' and `NNC_Polyhedron' will be
321generated.
322
323
3246. Configuring for Optimized Performance
325----------------------------------------
326
327By default, the PPL is compiled with all the optimizations provided
328by the compiler that do not involve a space-speed tradeoff (a.k.a.
329-O2 optimization).  The same optimization level can be obtained by
330using the configure options
331
332  --enable-optimization
333or
334  --enable-optimization=standard
335
336You can try to squeeze more speed from your compiler by using the
337`--enable-optimization=speed' compiler option (a.k.a. -O3
338optimization): this is recommended if you use the checked integers
339coefficients, even though it does not come with an 100% guarantee of
340extra performance.  With the `--enable-optimization=sspeed'
341optimization even more optimization is requested, possibly at the cost
342of making debugging impossible on some machines.  The
343`--enable-optimization=size' configure option instructs the compiler
344to optimize for size and for speed, but only for speed improvements do
345not increase code size.
346
347Further optimization can be requested at the expense of portability
348of the generated code.  This can be achieved by means of the configure option
349
350  --enable-arch[=ARCH]
351
352If the ARCH argument is omitted the configure script attempts to
353detect the architecture of the system.  Allowed values for ARCH can be
354found in the documentation of the `-march' option of the used C/C++
355compiler.
356
357For floating point computations, the option
358
359  --enable-fpmath=INSTRUCTION_SET
360
361allows for selecting, on the IA32 and x86_64, the floating point instruction
362set.  The allowed values for INSTRUCTION_SET are `sse', `sse2', `387,
363`sse+387', and `sse2+387', `default', and `no'.  The latter option, which
364is equivalent to specifying `--disable-fpmath', has the effect of disabling
365all floating point computation and, consequently, all the numerical
366abstractions based on floating point numbers.
367
368On the other hand, there are configure options to request lesser
369degrees of optimization for the sake of debugging.  These are,
370in decreasing order of optimization, `--enable-optimization=mild'
371(a.k.a. -O1 optimization), `--enable-optimization=no' or, equivalently
372`--disable-optimization', and `--enable-optimization=zero'
373(a.k.a. -O0 optimization).  See below for more information on the
374configure options that are useful for debugging purposes.
375
376
3777. Advanced Performance Tuning
378------------------------------
379
380Starting from version 1.0, the library fully supports two different
381representations for rows (i.e., sequences of coefficients):
382
383  - the "dense" representation is an array-like representation tailored
384    to sequences having most of their coefficients different from zero;
385
386  - the "sparse" representation saves memory space (as well as CPU
387    cycles) when most of the coefficients in the sequence are zero.
388
389A generic interface allows for a seamless interaction between the
390dense and the sparse row representation. Most library entities (linear
391expressions, constraints, generators, congruences, and their systems)
392can be built using either representation, specified as a constructor's
393argument. Reasonable default values for the row representation are
394provided for each library entity, automatically leading to significant
395memory space savings even in old client/library code, e.g., when
396dealing with constraint systems describing weakly relational
397abstractions such as boxes and octagonal shapes.
398
399If desired, these default values can be customized to user's needs by
400changing just a few lines of library code. For instance, the
401constraint systems stored inside C_Polyhedron and NNC_Polyhedron
402objects can be made to use the sparse representation by just changing
403the following line in Polyhedron_defs.hh:
404
405  static const Representation default_con_sys_repr = DENSE;
406
407to become
408
409  static const Representation default_con_sys_repr = SPARSE;
410
411
4128. Configuring for Debugging
413----------------------------
414
415By default, the PPL is configured with debugging information enabled.
416In case you are absolutely, definitely, positively sure that you will
417not need to engage in debugging sessions and wish to save some little
418disk space and compilation time/memory you can configure with the
419`--disable-debugging' option.
420
421When the results you obtain with the PPL surprise you and make you think
422there might be a bug somewhere, it is a good idea to build a version
423of the library using the `--enable-assertions' configure option.  This
424causes many run-time assertions to be checked and often result in the
425easier identification of bugs in your application or the library itself.
426Even more run-time assertions can be enabled with the
427`--enable-more-assertions': this causes some PPL objects to carry
428additional data fields for the purpose of making extra checks possible.
429Of course, this breaks the ABI of the library, so you should recompile
430the part of your application that depends on the PPL.
431
432If you are disappointed by performance of the library and would like
433to check where the computation time is being spent, you can use the
434`--enable-profiling' option to generate a version that writes profile
435information suitable for the `gprof' analysis program.
436
437The `--enable-valgrind-tests' causes most of the tests run by `make check'
438under Valgrind's Memcheck tool.  This will show you if the library has
439memory leaks.  At release time, we guarantee that Memcheck does not
440reveal any memory leak for tests using the C++ and the C interfaces.
441We are not able to make a similar guarantee for other interfaces because
442the corresponding language implementations (e.g., OCaml and SWI-Prolog)
443purposely do not deallocate all memory on exit.
444
445In order to assess the coverage of the PPL test suite, the
446`--enable-coverage' configure option is provided.  This causes instrumented
447code to be used in conjunction with the `gcov' coverage testing tool.
448
449
4509. Programs that Come with the Library
451--------------------------------------
452
453The PPL is shipped with two programs that are interesting per se, and
454allow to sanity-check the build as well as to obtain performance
455comparisons.  The first such program is `ppl_lpsol', which offers some
456of the functionality of GLPK's `glpsol' using the service of the
457PPL, including its simplex solver.  Since `ppl_lpsol' uses GLPK's
458input routines, it is only built if a suitable version of GLPK is
459available.  If you prefer `ppl_lpsol' not to be built, use the
460configure option
461
462  --disable-ppl_lpsol
463
464Another program that is built by default and is used for regression
465testing and build validation is `ppl_lcdd'.  This is a program for
466vertex/facet enumeration, accepting the same input format as the
467similar programs shipped with cddlib and lrslib.  If you prefer `ppl_lcdd'
468not to be built, use the configure option
469
470  --disable-ppl_lcdd
471
472Disabling these programs will shorten the compilation time by a few
473seconds, and the time spent in `make check' by a dozen of minutes.
474In exchange, you will give up an important opportunity to discover
475whether the version of PPL you have built has been miscompiled.
476
477
47810. Using the Git Sources
479-------------------------
480
481If you use the Git sources, then you need recent versions of Autoconf
482Automake and Libtool installed.  After a `git clone' or `git pull'
483you should run the `autoreconf' command.  In case you have fiddled
484around with some of the configuration files, or if you have problems
485you cannot explain otherwise, use `autoreconf -f'.
486
487
488--------
489
490Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
491Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
492
493This document describes the Parma Polyhedra Library (PPL).
494
495Permission is granted to copy, distribute and/or modify this document
496under the terms of the GNU Free Documentation License, Version 1.2
497or any later version published by the Free Software Foundation;
498with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
499The license is included, in various formats, in the `doc' subdirectory
500of each distribution of the PPL in files named `fdl.*'.
501
502The PPL is free software; you can redistribute it and/or modify it
503under the terms of the GNU General Public License as published by the
504Free Software Foundation; either version 3 of the License, or (at your
505option) any later version.  The license is included, in various
506formats, in the `doc' subdirectory of each distribution of the PPL in
507files named `gpl.*'.
508
509The PPL is distributed in the hope that it will be useful, but WITHOUT
510ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
511FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
512for more details.
513
514If you have not received a copy of one or both the above mentioned
515licenses along with the PPL, write to the Free Software Foundation,
516Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
517
518For the most up-to-date information see the Parma Polyhedra Library
519site: http://bugseng.com/products/ppl/ .
520

README.solaris

1Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
2Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
3See below for the copying conditions.
4
5
6Configuration of the Parma Polyhedra Library on Solaris
7=======================================================
8
9Build problems have been reported for Solaris 10, affecting the build
10of the (C, Java, ...) language interfaces, which are due to the use of an
11incompatible version of sed:
12
13  https://www.cs.unipr.it/mantis/view.php?id=103
14
15The solution is to install and use GNU sed.
16This is recommended, even if only the C++ language interface is used.
17
18
19--------
20
21Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
22Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
23
24This document describes the Parma Polyhedra Library (PPL).
25
26Permission is granted to copy, distribute and/or modify this document
27under the terms of the GNU Free Documentation License, Version 1.2
28or any later version published by the Free Software Foundation;
29with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
30The license is included, in various formats, in the `doc' subdirectory
31of each distribution of the PPL in files named `fdl.*'.
32
33The PPL is free software; you can redistribute it and/or modify it
34under the terms of the GNU General Public License as published by the
35Free Software Foundation; either version 3 of the License, or (at your
36option) any later version.  The license is included, in various
37formats, in the `doc' subdirectory of each distribution of the PPL in
38files named `gpl.*'.
39
40The PPL is distributed in the hope that it will be useful, but WITHOUT
41ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
42FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
43for more details.
44
45If you have not received a copy of one or both the above mentioned
46licenses along with the PPL, write to the Free Software Foundation,
47Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
48
49For the most up-to-date information see the Parma Polyhedra Library
50site: http://bugseng.com/products/ppl/ .
51