PPL Configured Java Language Interface  1.2
Polyhedron.java
Go to the documentation of this file.
1 /* PPL Java interface: Polyhedron definition.
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 
30 public class Polyhedron extends PPL_Object {
31  public native void swap(Polyhedron y);
32 
33 
34 
35 
36  public native long space_dimension();
37 
38  public native long affine_dimension();
39 
40 
41 
42 
43 
45 
46  public native Poly_Gen_Relation relation_with(Generator c);
47 
49 
50 
51 
52 
53 
54  public native Constraint_System constraints();
55 
56  public native Congruence_System congruences();
57 
58  public native Generator_System generators();
59 
60 
61 
62 
63 
65 
67 
68  public native Generator_System minimized_generators();
69 
70 
71 
72 
73 
74  public native boolean is_empty();
75 
76  public native boolean is_universe();
77 
78  public native boolean is_bounded();
79 
80  public native boolean contains_integer_point();
81 
82  public native boolean is_topologically_closed();
83 
84  public native boolean is_discrete();
85 
86 
87 
88 
89 
90  public native void topological_closure_assign();
91 
92 
93 
94 
95 
96  public native boolean bounds_from_above(Linear_Expression expr);
97 
98  public native boolean bounds_from_below(Linear_Expression expr);
99 
100 
101 
102 
103 
104  public native boolean maximize(Linear_Expression expr,
105  Coefficient sup_n, Coefficient sup_d,
106  By_Reference<Boolean> maximum);
107 
108  public native boolean minimize(Linear_Expression expr,
109  Coefficient sup_n, Coefficient sup_d,
110  By_Reference<Boolean> maximum);
111 
112 
113 
114 
115 
116  public native boolean maximize(Linear_Expression expr,
117  Coefficient sup_n, Coefficient sup_d,
118  By_Reference<Boolean> maximum,
119  Generator point);
120 
121  public native boolean minimize(Linear_Expression expr,
122  Coefficient sup_n, Coefficient sup_d,
123  By_Reference<Boolean> maximum,
124  Generator point);
125 
126 
127 
128 
129 
130  public native boolean frequency(Linear_Expression expr,
131  Coefficient freq_n, Coefficient freq_d,
132  Coefficient val_n, Coefficient val_d);
133 
134 
135 
136 
137  public native boolean contains(Polyhedron y);
138 
139  public native boolean strictly_contains(Polyhedron y);
140 
141  public native boolean is_disjoint_from(Polyhedron y);
142 
143 
144 
145 
146 
147  public native boolean equals(Polyhedron p);
148 
149  public boolean equals(Object y) {
150  if (this == y)
151  return true;
152  if (y == null || y.getClass() != this.getClass())
153  return false;
154  return this.equals((Polyhedron) y);
155  }
156 
157 
158 
159  public native boolean OK();
160 
161 
162 
163 
164  public native void add_constraint(Constraint c);
165 
166  public native void add_congruence(Congruence c);
167 
168  public native void add_generator(Generator c);
169 
170 
171 
172 
173 
174  public native void add_constraints(Constraint_System c);
175 
176  public native void add_congruences(Congruence_System c);
177 
178  public native void add_generators(Generator_System c);
179 
180 
181 
182 
183 
184  public native void refine_with_constraint(Constraint c);
185 
186  public native void refine_with_congruence(Congruence c);
187 
188 
189 
190 
191 
192  public native void refine_with_constraints(Constraint_System c);
193 
194  public native void refine_with_congruences(Congruence_System c);
195 
196 
197 
198 
199 
200  public native void intersection_assign(Polyhedron p);
201 
202  public native void upper_bound_assign(Polyhedron p);
203 
204  public native void difference_assign(Polyhedron p);
205 
206  public native void concatenate_assign(Polyhedron p);
207 
208  public native void time_elapse_assign(Polyhedron p);
209 
210  public native void poly_hull_assign(Polyhedron p);
211 
212  public native void poly_difference_assign(Polyhedron p);
213 
214 
215 
216 
217 
218  public native boolean simplify_using_context_assign(Polyhedron p);
219 
220 
221 
222 
223  public native boolean constrains(Variable var);
224 
225 
226 
227 
228  public native void unconstrain_space_dimension(Variable var);
229 
230 
231 
232 
233  public native void
235 
236 
237 
238 
239  public native void affine_image(Variable var, Linear_Expression expr,
240  Coefficient denominator);
241 
242  public native void affine_preimage(Variable var, Linear_Expression expr,
243  Coefficient denominator);
244 
245 
246 
247 
248 
249  public native void bounded_affine_image(Variable var,
250  Linear_Expression lb_expr,
251  Linear_Expression ub_expr,
252  Coefficient denominator);
253 
254  public native void bounded_affine_preimage(Variable var,
255  Linear_Expression lb_expr,
256  Linear_Expression ub_expr,
257  Coefficient denominator);
258 
259 
260 
261 
262 
263  public native void generalized_affine_image(Variable var,
264  Relation_Symbol relsym,
265  Linear_Expression expr,
266  Coefficient denominator);
267 
268  public native void generalized_affine_preimage(Variable var,
269  Relation_Symbol relsym,
270  Linear_Expression expr,
271  Coefficient denominator);
272 
273 
274 
275 
276 
277  public native void generalized_affine_image(Linear_Expression lhs,
278  Relation_Symbol relsym,
279  Linear_Expression rhs);
280 
281  public native void generalized_affine_preimage(Linear_Expression lhs,
282  Relation_Symbol relsym,
283  Linear_Expression rhs);
284 
285 
286 
287 
288 
289  public native void add_space_dimensions_and_embed(long m);
290 
291  public native void add_space_dimensions_and_project(long m);
292 
293 
294 
295 
296 
297  public native void remove_space_dimensions(Variables_Set vars);
298 
299 
300 
301 
302  public native void remove_higher_space_dimensions(long new_dimension);
303 
304 
305 
306 
307  public native void expand_space_dimension(Variable var, long m);
308 
309 
310 
311 
312  public native void fold_space_dimensions(Variables_Set vars,
313  Variable dest);
314 
315 
316 
317 
318  public native void map_space_dimensions(Partial_Function pfunc);
319 
320 
321 
322 
323  public native void drop_some_non_integer_points
324  (Complexity_Class complexity);
325 
326 
327 
328 
329  public native void drop_some_non_integer_points
330  (Variables_Set vars, Complexity_Class complexity);
331 
332 
333 
334 
335  public native String ascii_dump();
336 
337 
338 
339 
340  public native long external_memory_in_bytes();
341 
342  public native long total_memory_in_bytes();
343 
344 
345 
346 
347 
348 
349 
350 public native void BHRZ03_widening_assign(Polyhedron y,
352 
353 public native void H79_widening_assign(Polyhedron y,
355 
356 
357 
358 
359 
360 
361 
362 public native void widening_assign(Polyhedron y,
364 
365 
366 
367 
368 
369 
370  public native
374 
375  public native
379 
380  public native
384 
385  public native
389 
390 
391 
392 
393 
394 
395 
396 
397 
398 
399 
400  public native void wrap_assign(Variables_Set vars,
405  long complexity_threshold,
406  boolean wrap_individually);
407 
408 
409 
410 
411  public native int hashCode();
412 
413 
414 
415 
416  public native String toString();
417 
418 
419 
420 
421 }
A java.util.TreeSet of variables' indexes.
native void add_space_dimensions_and_embed(long m)
native void poly_hull_assign(Polyhedron p)
native void add_congruences(Congruence_System c)
native Generator_System generators()
native Congruence_System minimized_congruences()
native boolean contains(Polyhedron y)
native boolean simplify_using_context_assign(Polyhedron p)
native boolean bounds_from_above(Linear_Expression expr)
native void remove_space_dimensions(Variables_Set vars)
native void unconstrain_space_dimensions(Variables_Set vars)
native boolean is_disjoint_from(Polyhedron y)
native void BHRZ03_widening_assign(Polyhedron y, By_Reference< Integer > tp)
native void time_elapse_assign(Polyhedron p)
An utility class implementing mutable and non-mutable call-by-reference.
native void generalized_affine_image(Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator)
Java class interfacing C++ Parma_Polyhedra_Library::Polyhedron.
Definition: Polyhedron.java:30
native void drop_some_non_integer_points(Complexity_Class complexity)
native void remove_higher_space_dimensions(long new_dimension)
native void refine_with_constraint(Constraint c)
native void bounded_H79_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
native void affine_preimage(Variable var, Linear_Expression expr, Coefficient denominator)
native void add_constraints(Constraint_System c)
native boolean strictly_contains(Polyhedron y)
native void add_generator(Generator c)
native boolean equals(Polyhedron p)
A line, ray, point or closure point.
Definition: Generator.java:36
native Congruence_System congruences()
native void add_constraint(Constraint c)
native void affine_image(Variable var, Linear_Expression expr, Coefficient denominator)
A dimension of the vector space.
Definition: Variable.java:38
native void add_space_dimensions_and_project(long m)
native void refine_with_constraints(Constraint_System c)
native boolean bounds_from_below(Linear_Expression expr)
native void difference_assign(Polyhedron p)
native boolean minimize(Linear_Expression expr, Coefficient sup_n, Coefficient sup_d, By_Reference< Boolean > maximum)
native Constraint_System minimized_constraints()
native void intersection_assign(Polyhedron p)
The relation between a polyhedron and a constraint.
native void fold_space_dimensions(Variables_Set vars, Variable dest)
native boolean constrains(Variable var)
native void bounded_BHRZ03_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
native void bounded_affine_image(Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator)
Smart pointer to a PPL, C++ object.
Definition: PPL_Object.java:32
native boolean contains_integer_point()
The relation between a polyhedron and a generator.
native void refine_with_congruence(Congruence c)
native void bounded_affine_preimage(Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator)
native void refine_with_congruences(Congruence_System c)
native void wrap_assign(Variables_Set vars, Bounded_Integer_Type_Width w, Bounded_Integer_Type_Representation r, Bounded_Integer_Type_Overflow o, Constraint_System cs, long complexity_threshold, boolean wrap_individually)
native void concatenate_assign(Polyhedron p)
native void upper_bound_assign(Polyhedron p)
native void expand_space_dimension(Variable var, long m)
native void swap(Polyhedron y)
native void H79_widening_assign(Polyhedron y, By_Reference< Integer > tp)
native Poly_Con_Relation relation_with(Constraint c)
native void limited_BHRZ03_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
native boolean frequency(Linear_Expression expr, Coefficient freq_n, Coefficient freq_d, Coefficient val_n, Coefficient val_d)
native void limited_H79_extrapolation_assign(Polyhedron y, Constraint_System cs, By_Reference< Integer > tp)
Coefficient c
native boolean is_topologically_closed()
native Constraint_System constraints()
native void poly_difference_assign(Polyhedron p)
native void widening_assign(Polyhedron y, By_Reference< Integer > tp)
native void add_congruence(Congruence c)
native void map_space_dimensions(Partial_Function pfunc)
native Generator_System minimized_generators()
native void unconstrain_space_dimension(Variable var)
native void generalized_affine_preimage(Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator)
A partial function on space dimension indices.
native boolean maximize(Linear_Expression expr, Coefficient sup_n, Coefficient sup_d, By_Reference< Boolean > maximum)
native void add_generators(Generator_System c)
A linear equality or inequality.
Definition: Constraint.java:33