PPL Java Language Interface  1.2
Fake_Class_for_Doxygen.java
Go to the documentation of this file.
1 /* Doxumentation for the Java interface.
2  Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
3  Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
4 
5 This file is part of the Parma Polyhedra Library (PPL).
6 
7 The PPL is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 The PPL is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
20 
21 For the most up-to-date information see the Parma Polyhedra Library
22 site: http://bugseng.com/products/ppl/ . */
23 
24 package parma_polyhedra_library;
25 
26 // A fake class, just to cheat Doxygen.
27 public class Fake_Class_For_Doxygen {}
28 
30 
38 public class Polyhedron extends PPL_Object {
39 
41 
42 
44  public native long space_dimension();
45 
51  public native long affine_dimension();
52 
54  public native Constraint_System constraints();
55 
57  public native Congruence_System congruences();
58 
61 
68 
70  public native boolean is_empty();
71 
73  public native boolean is_universe();
74 
79  public native boolean is_bounded();
80 
82  public native boolean is_discrete();
83 
88  public native boolean is_topologically_closed();
89 
94  public native boolean contains_integer_point();
95 
103  public native boolean constrains(Variable var);
104 
112  public native boolean bounds_from_above(Linear_Expression expr);
113 
121  public native boolean bounds_from_below(Linear_Expression expr);
122 
147  public native boolean maximize(Linear_Expression expr,
148  Coefficient sup_n, Coefficient sup_d,
149  By_Reference<Boolean> maximum);
150 
175  public native boolean minimize(Linear_Expression expr,
176  Coefficient inf_n, Coefficient inf_d,
177  By_Reference<Boolean> minimum);
178 
207  public native boolean maximize(Linear_Expression expr,
208  Coefficient sup_n, Coefficient sup_d,
209  By_Reference<Boolean> maximum,
210  Generator g);
211 
240  public native boolean minimize(Linear_Expression expr,
241  Coefficient inf_n, Coefficient inf_d,
242  By_Reference<Boolean> minimum,
243  Generator g);
244 
253 
261  public native Poly_Gen_Relation relation_with(Generator c);
262 
270  public native Poly_Con_Relation relation_with(Congruence c);
271 
273 
278  public native boolean contains(Polyhedron y);
279 
281 
286  public native boolean strictly_contains(Polyhedron y);
287 
289 
294  public native boolean is_disjoint_from(Polyhedron y);
295 
297  public native boolean equals(Polyhedron y);
298 
300  public boolean equals(Object y);
301 
303 
307  public native int hashCode();
308 
310  public native long external_memory_in_bytes();
311 
313  public native long total_memory_in_bytes();
314 
316  public native String toString();
317 
323  public native String ascii_dump();
324 
326  public native boolean OK();
327 
329 
331 
332 
345  public native void add_constraint(Constraint c);
346 
356  public native void add_congruence(Congruence cg);
357 
370  public native void add_constraints(Constraint_System cs);
371 
384  public native void add_congruences(Congruence_System cgs);
385 
392  public native void refine_with_constraint(Constraint c);
393 
400  public native void refine_with_congruence(Congruence cg);
401 
412  public native void refine_with_constraints(Constraint_System cs);
413 
424  public native void refine_with_congruences(Congruence_System cgs);
425 
434  public native void intersection_assign(Polyhedron y);
435 
443  public native void upper_bound_assign(Polyhedron y);
444 
454  public native void difference_assign(Polyhedron y);
455 
464  public native void time_elapse_assign(Polyhedron y);
465 
467  public native void topological_closure_assign();
468 
478  public native boolean simplify_using_context_assign(Polyhedron y);
479 
501  public native void affine_image(Variable var, Linear_Expression expr,
502  Coefficient denominator);
503 
524  public native void affine_preimage(Variable var, Linear_Expression expr,
525  Coefficient denominator);
526 
553  public native void bounded_affine_image(Variable var,
554  Linear_Expression lb_expr,
555  Linear_Expression ub_expr,
556  Coefficient denominator);
557 
583  public native void bounded_affine_preimage(Variable var,
584  Linear_Expression lb_expr,
585  Linear_Expression ub_expr,
586  Coefficient denominator);
587 
614  public native void generalized_affine_image(Variable var,
615  Relation_Symbol relsym,
616  Linear_Expression expr,
617  Coefficient denominator);
618 
645  public native void generalized_affine_preimage(Variable var,
646  Relation_Symbol relsym,
647  Linear_Expression expr,
648  Coefficient denominator);
649 
670  public native void generalized_affine_image(Linear_Expression lhs,
671  Relation_Symbol relsym,
672  Linear_Expression rhs);
673 
694  public native void generalized_affine_preimage(Linear_Expression lhs,
695  Relation_Symbol relsym,
696  Linear_Expression rhs);
697 
708  public native void unconstrain_space_dimension(Variable var);
709 
722  public native void unconstrain_space_dimensions(Variables_Set vars);
723 
740  public native void widening_assign(Polyhedron y,
742 
744 
746 
747 
755  public native void swap(Polyhedron y);
756 
768  public native void add_space_dimensions_and_embed(long m);
769 
781  public native void add_space_dimensions_and_project(long m);
782 
794  public native void concatenate_assign(Polyhedron y);
795 
797 
806  public native void remove_space_dimensions(Variables_Set vars);
807 
816  public native void remove_higher_space_dimensions(long
817  new_dimension);
818 
820 
834  public native void expand_space_dimension(Variable var, long m);
835 
837 
851  public native void fold_space_dimensions(Variables_Set vars,
852  Variable dest);
853 
861  public native void map_space_dimensions(Partial_Function pfunc);
862 
864 
871 
873  public native Generator_System generators();
874 
876  public native Generator_System minimized_generators();
877 
887  public native void add_generator(Generator g);
888 
902  public native void add_generators(Generator_System gs);
903 
905  public native void poly_hull_assign(Polyhedron y);
906 
908  public native void poly_difference_assign(Polyhedron y);
909 
926  public native void BHRZ03_widening_assign(Polyhedron y,
928 
945  public native void H79_widening_assign(Polyhedron y,
947 
968  public native
972 
993  public native
997 
1020  public native
1022  Constraint_System cs,
1024 
1047  public native
1049  Constraint_System cs,
1051 
1053 
1054 } // class Polyhedron
1055 
1056 
1058 
1059 public class C_Polyhedron extends Polyhedron {
1060 
1062 
1063 
1065 
1069  public C_Polyhedron(long d, Degenerate_Element kind);
1070 
1072  public C_Polyhedron(C_Polyhedron y);
1073 
1075 
1078  public C_Polyhedron(C_Polyhedron y, Complexity_Class complexity);
1079 
1081 
1084  public C_Polyhedron(Constraint_System cs);
1085 
1087 
1090  public C_Polyhedron(Congruence_System cgs);
1091 
1096  public native void free();
1097 
1099 
1113 
1118  public C_Polyhedron(NNC_Polyhedron y);
1119 
1127  public C_Polyhedron(NNC_Polyhedron y, Complexity_Class complexity);
1128 
1130 
1133  public C_Polyhedron(Generator_System gs);
1134 
1136 
1138 
1139 
1147  public native boolean upper_bound_assign_if_exact(C_Polyhedron y);
1148 
1150 
1152 
1162  public static native
1165 
1167  protected native void finalize();
1168 
1169 } // class C_Polyhedron
1170 
1171 
1173 
1187 
1189 
1195  public native void omega_reduce();
1196 
1198 
1201  public native long size();
1202 
1204  public native boolean
1206 
1208  public native boolean
1210 
1216 
1222 
1224  public native void add_disjunct(C_Polyhedron d);
1225 
1226  // FIXME: this method needs correction, as it returns nothing.
1231  public native void
1233 
1234 
1239  public native void
1242 
1243 
1248  public native void pairwise_reduce();
1249  /* Ad Hoc Functions for Pointset_Powerset domains */
1251 
1252 } // class Pointset_Powerset_C_Polyhedron
1253 
1254 
1256 
1258 
1262 
1264  public native boolean equals(Pointset_Powerset_C_Polyhedron_Iterator itr);
1265 
1267  public native void next();
1268 
1270  public native void prev();
1271 
1273 
1283  public native C_Polyhedron get_disjunct();
1284 
1286  public native void free();
1287 
1289  protected native void finalize();
1290 
1291 } // class Pointset_Powerset_C_Polyhedron_Iterator
A java.util.TreeSet of variables' indexes.
native void time_elapse_assign(Polyhedron y)
Assigns to this the result of computing the time-elapse between this and y.
native void omega_reduce()
Drops from the sequence of disjuncts in this all the non-maximal elements, so that a non-redundant po...
native void add_space_dimensions_and_embed(long m)
Adds m new space dimensions and embeds the old polyhedron in the new vector space.
native void free()
Releases all resources managed by this, also resetting it to a null reference.
Pointset_Powerset_C_Polyhedron_Iterator(Pointset_Powerset_C_Polyhedron_Iterator y)
Builds a copy of iterator y.
native void add_generator(Generator g)
Adds a copy of generator g to the system of generators of this (without minimizing the result)...
native Generator_System generators()
Returns the system of generators.
native Congruence_System minimized_congruences()
Returns a system of (equality) congruences satisfied by this, with no redundant congruences and havin...
native C_Polyhedron get_disjunct()
Returns the disjunct referenced by this.
native boolean contains(Polyhedron y)
Returns true if and only if this contains y.
native void add_constraints(Constraint_System cs)
Adds a copy of the constraints in cs to the system of constraints of this (without minimizing the res...
Kinds of degenerate abstract elements.
native boolean bounds_from_above(Linear_Expression expr)
Returns true if and only if expr is bounded from above in this.
native void add_congruence(Congruence cg)
Adds a copy of congruence cg to this, if cg can be exactly represented by a polyhedron.
static native Pair< C_Polyhedron, Pointset_Powerset_NNC_Polyhedron > linear_partition(C_Polyhedron p, C_Polyhedron q)
Partitions q with respect to p.
native long external_memory_in_bytes()
Returns the size in bytes of the memory managed by this.
native boolean is_discrete()
Returns true if and only if this is discrete.
native void remove_space_dimensions(Variables_Set vars)
Removes all the specified dimensions from the vector space.
native void unconstrain_space_dimensions(Variables_Set vars)
Computes the cylindrification of this with respect to the set of space dimensions vars...
native boolean is_disjoint_from(Polyhedron y)
Returns true if and only if this and y are disjoint.
native void refine_with_constraints(Constraint_System cs)
Uses a copy of the constraints in cs to refine this.
native void BHRZ03_widening_assign(Polyhedron y, By_Reference< Integer > tp)
Assigns to this the result of computing the BHRZ03-widening between this and y.
An utility class implementing mutable and non-mutable call-by-reference.
native void intersection_assign(Polyhedron y)
Assigns to this the intersection of this and y. The result is not guaranteed to be minimized...
native void generalized_affine_image(Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator)
Assigns to this the image of this with respect to the generalized affine relation ...
native boolean equals(Polyhedron y)
Returns true if and only if this and y are equal.
C_Polyhedron(long d, Degenerate_Element kind)
Builds a new C polyhedron of dimension d.
native long space_dimension()
Returns the dimension of the vector space enclosing this.
native void drop_disjunct(Pointset_Powerset_C_Polyhedron_Iterator iter)
Drops from this the disjunct referred by iter; returns an iterator referring to the disjunct followin...
The Java base class for (C and NNC) convex polyhedra.
native boolean geometrically_equals(Pointset_Powerset_C_Polyhedron y)
Returns true if and only if this is geometrically equal to y.
native void concatenate_assign(Polyhedron y)
Assigns to this the concatenation of this and y, taken in this order.
native boolean upper_bound_assign_if_exact(C_Polyhedron y)
If the upper bound of this and y is exact it is assigned to this and true is returned; otherwise fals...
native void remove_higher_space_dimensions(long new_dimension)
Removes the higher dimensions of the vector space so that the resulting space will have dimension new...
native void refine_with_constraint(Constraint c)
Uses a copy of constraint c to refine this.
native void bounded_H79_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
Improves the result of the H79-widening computation by also enforcing those constraints in cs that ar...
native void affine_preimage(Variable var, Linear_Expression expr, Coefficient denominator)
Assigns to this the affine preimage of this under the function mapping variable var to the affine exp...
native void add_disjunct(C_Polyhedron d)
Adds to this a copy of disjunct d.
native boolean strictly_contains(Polyhedron y)
Returns true if and only if this strictly contains y.
native void upper_bound_assign(Polyhedron y)
Assigns to this the upper bound of this and y.
A line, ray, point or closure point.
Definition: Generator.java:36
native Congruence_System congruences()
Returns a system of (equality) congruences satisfied by this.
native void refine_with_congruences(Congruence_System cgs)
Uses a copy of the congruences in cgs to refine this.
native void add_congruences(Congruence_System cgs)
Adds a copy of the congruences in cgs to this, if all the congruences can be exactly represented by a...
native boolean is_empty()
Returns true if and only if this is an empty polyhedron.
native void free()
Releases resources and resets this to a null reference.
native void add_constraint(Constraint c)
Adds a copy of constraint c to the system of constraints of this (without minimizing the result)...
native void affine_image(Variable var, Linear_Expression expr, Coefficient denominator)
Assigns to this the affine image of this under the function mapping variable var to the affine expres...
A dimension of the vector space.
Definition: Variable.java:38
native void add_space_dimensions_and_project(long m)
Adds m new space dimensions to the polyhedron and does not embed it in the new vector space...
native boolean bounds_from_below(Linear_Expression expr)
Returns true if and only if expr is bounded from below in this.
native Pointset_Powerset_C_Polyhedron_Iterator end_iterator()
Returns an iterator referring to past the end of the sequence of disjuncts of this.
native Constraint_System minimized_constraints()
Returns the system of constraints, with no redundant constraint.
A topologically closed convex polyhedron.
native int hashCode()
Returns a hash code for this.
The relation between a polyhedron and a constraint.
native void fold_space_dimensions(Variables_Set vars, Variable dest)
Folds the space dimensions in vars into dest.
native boolean minimize(Linear_Expression expr, Coefficient inf_n, Coefficient inf_d, By_Reference< Boolean > minimum)
Returns true if and only if this is not empty and expr is bounded from below in this, in which case the infimum value is computed.
native boolean constrains(Variable var)
Returns true if and only if var is constrained in this.
native void bounded_BHRZ03_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
Improves the result of the BHRZ03-widening computation by also enforcing those constraints in cs that...
native void prev()
Modifies this so that it refers to the previous disjunct.
native void bounded_affine_image(Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator)
Assigns to this the image of this with respect to the bounded affine relation .
Smart pointer to a PPL, C++ object.
Definition: PPL_Object.java:32
native boolean contains_integer_point()
Returns true if and only if this contains at least one integer point.
native String ascii_dump()
Returns a string containing a low-level representation of this.
native boolean is_universe()
Returns true if and only if this is a universe polyhedron.
The relation between a polyhedron and a generator.
native void refine_with_congruence(Congruence cg)
Uses a copy of congruence cg to refine this.
native void bounded_affine_preimage(Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator)
Assigns to this the preimage of this with respect to the bounded affine relation .
native void next()
Modifies this so that it refers to the next disjunct.
native Pointset_Powerset_C_Polyhedron_Iterator begin_iterator()
Returns an iterator referring to the beginning of the sequence of disjuncts of this.
native void poly_hull_assign(Polyhedron y)
Same as upper_bound_assign.
native long size()
Returns the number of disjuncts.
native boolean is_bounded()
Returns true if and only if this is a bounded polyhedron.
native String toString()
Returns a string representing this.
native void expand_space_dimension(Variable var, long m)
Creates m copies of the space dimension corresponding to var.
native void poly_difference_assign(Polyhedron y)
Same as difference_assign.
native boolean OK()
Checks if all the invariants are satisfied.
native void drop_disjuncts(Pointset_Powerset_C_Polyhedron_Iterator first, Pointset_Powerset_C_Polyhedron_Iterator last)
Drops from this all the disjuncts from first to last (excluded).
native void pairwise_reduce()
Modifies this by (recursively) merging together the pairs of disjuncts whose upper-bound is the same ...
native void finalize()
Releases all resources managed by this.
native void swap(Polyhedron y)
Swaps this with polyhedron y. (this and y can be dimension-incompatible.)
native void H79_widening_assign(Polyhedron y, By_Reference< Integer > tp)
Assigns to this the result of computing the H79-widening between this and y.
native Poly_Con_Relation relation_with(Constraint c)
Returns the relations holding between the polyhedron this and the constraint c.
native void limited_BHRZ03_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
Improves the result of the BHRZ03-widening computation by also enforcing those constraints in cs that...
native boolean simplify_using_context_assign(Polyhedron y)
Assigns to this a meet-preserving simplification of this with respect to y. If false is returned...
native boolean geometrically_covers(Pointset_Powerset_C_Polyhedron y)
Returns true if and only if this geometrically covers y.
native void difference_assign(Polyhedron y)
Assigns to this the poly-difference of this and y. The result is not guaranteed to be minimized...
native void limited_H79_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
Improves the result of the H79-widening computation by also enforcing those constraints in cs that ar...
native boolean equals(Pointset_Powerset_C_Polyhedron_Iterator itr)
Returns true if and only if this and itr are equal.
Coefficient c
native boolean is_topologically_closed()
Returns true if and only if this is a topologically closed subset of the vector space.
native void add_generators(Generator_System gs)
Adds a copy of the generators in gs to the system of generators of this (without minimizing the resul...
native Constraint_System constraints()
Returns the system of constraints.
An iterator class for the disjuncts of a Pointset_Powerset_C_Polyhedron.
native void widening_assign(Polyhedron y, By_Reference< Integer > tp)
Assigns to this the result of computing the H79-widening between this and y.
A pair of values of type K and V.
Definition: Pair.java:30
native void map_space_dimensions(Partial_Function pfunc)
Remaps the dimensions of the vector space according to a partial function.
native Generator_System minimized_generators()
Returns the system of generators, with no redundant generator.
native void unconstrain_space_dimension(Variable var)
Computes the cylindrification of this with respect to space dimension var, assigning the result to th...
native void finalize()
Releases the resources managed by this.
native void generalized_affine_preimage(Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator)
Assigns to this the preimage of this with respect to the generalized affine relation ...
A partial function on space dimension indices.
native void topological_closure_assign()
Assigns to this its topological closure.
native boolean maximize(Linear_Expression expr, Coefficient sup_n, Coefficient sup_d, By_Reference< Boolean > maximum)
Returns true if and only if this is not empty and expr is bounded from above in this, in which case the supremum value is computed.
A linear equality or inequality.
Definition: Constraint.java:33
native long total_memory_in_bytes()
Returns the total size in bytes of the memory occupied by this.
native long affine_dimension()
Returns , if this is empty; otherwise, returns the affine dimension of this.