00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 package parma_polyhedra_library;
00025
00026 import java.io.Writer;
00027 import java.io.IOException;
00028
00033 public class Int64_Box extends PPL_Object {
00034 protected native void finalize();
00035
00036
00037
00038
00039
00040 public Int64_Box(long num_dimensions,
00041 Degenerate_Element kind) {
00042 build_cpp_object(num_dimensions, kind);
00043 }
00044
00045 private Int64_Box() {
00046 }
00047
00048
00049
00050
00051
00052 public Int64_Box(Int8_Box y) {
00053 build_cpp_object(y);
00054 }
00055
00056 public Int64_Box(Int16_Box y) {
00057 build_cpp_object(y);
00058 }
00059
00060 public Int64_Box(Int32_Box y) {
00061 build_cpp_object(y);
00062 }
00063
00064 public Int64_Box(Int64_Box y) {
00065 build_cpp_object(y);
00066 }
00067
00068 public Int64_Box(Uint8_Box y) {
00069 build_cpp_object(y);
00070 }
00071
00072 public Int64_Box(Uint16_Box y) {
00073 build_cpp_object(y);
00074 }
00075
00076 public Int64_Box(Uint32_Box y) {
00077 build_cpp_object(y);
00078 }
00079
00080 public Int64_Box(Uint64_Box y) {
00081 build_cpp_object(y);
00082 }
00083
00084 public Int64_Box(Z_Box y) {
00085 build_cpp_object(y);
00086 }
00087
00088 public Int64_Box(Rational_Box y) {
00089 build_cpp_object(y);
00090 }
00091
00092 public Int64_Box(BD_Shape_int8_t y) {
00093 build_cpp_object(y);
00094 }
00095
00096 public Int64_Box(BD_Shape_int16_t y) {
00097 build_cpp_object(y);
00098 }
00099
00100 public Int64_Box(BD_Shape_int32_t y) {
00101 build_cpp_object(y);
00102 }
00103
00104 public Int64_Box(BD_Shape_int64_t y) {
00105 build_cpp_object(y);
00106 }
00107
00108 public Int64_Box(BD_Shape_mpz_class y) {
00109 build_cpp_object(y);
00110 }
00111
00112 public Int64_Box(BD_Shape_mpq_class y) {
00113 build_cpp_object(y);
00114 }
00115
00116 public Int64_Box(Octagonal_Shape_int8_t y) {
00117 build_cpp_object(y);
00118 }
00119
00120 public Int64_Box(Octagonal_Shape_int16_t y) {
00121 build_cpp_object(y);
00122 }
00123
00124 public Int64_Box(Octagonal_Shape_int32_t y) {
00125 build_cpp_object(y);
00126 }
00127
00128 public Int64_Box(Octagonal_Shape_int64_t y) {
00129 build_cpp_object(y);
00130 }
00131
00132 public Int64_Box(Octagonal_Shape_mpz_class y) {
00133 build_cpp_object(y);
00134 }
00135
00136 public Int64_Box(Octagonal_Shape_mpq_class y) {
00137 build_cpp_object(y);
00138 }
00139
00140 public Int64_Box(C_Polyhedron y) {
00141 build_cpp_object(y);
00142 }
00143
00144 public Int64_Box(NNC_Polyhedron y) {
00145 build_cpp_object(y);
00146 }
00147
00148 public Int64_Box(Grid y) {
00149 build_cpp_object(y);
00150 }
00151
00152 public Int64_Box(Float_Box y) {
00153 build_cpp_object(y);
00154 }
00155
00156 public Int64_Box(BD_Shape_float y) {
00157 build_cpp_object(y);
00158 }
00159
00160 public Int64_Box(Octagonal_Shape_float y) {
00161 build_cpp_object(y);
00162 }
00163
00164 public Int64_Box(Double_Box y) {
00165 build_cpp_object(y);
00166 }
00167
00168 public Int64_Box(BD_Shape_double y) {
00169 build_cpp_object(y);
00170 }
00171
00172 public Int64_Box(Octagonal_Shape_double y) {
00173 build_cpp_object(y);
00174 }
00175
00176 public Int64_Box(Long_Double_Box y) {
00177 build_cpp_object(y);
00178 }
00179
00180 public Int64_Box(BD_Shape_long_double y) {
00181 build_cpp_object(y);
00182 }
00183
00184 public Int64_Box(Octagonal_Shape_long_double y) {
00185 build_cpp_object(y);
00186 }
00187
00188
00189
00190
00191
00192
00193 public Int64_Box(Int8_Box y, Complexity_Class complexity) {
00194 build_cpp_object(y, complexity);
00195 }
00196
00197 public Int64_Box(Int16_Box y, Complexity_Class complexity) {
00198 build_cpp_object(y, complexity);
00199 }
00200
00201 public Int64_Box(Int32_Box y, Complexity_Class complexity) {
00202 build_cpp_object(y, complexity);
00203 }
00204
00205 public Int64_Box(Int64_Box y, Complexity_Class complexity) {
00206 build_cpp_object(y, complexity);
00207 }
00208
00209 public Int64_Box(Uint8_Box y, Complexity_Class complexity) {
00210 build_cpp_object(y, complexity);
00211 }
00212
00213 public Int64_Box(Uint16_Box y, Complexity_Class complexity) {
00214 build_cpp_object(y, complexity);
00215 }
00216
00217 public Int64_Box(Uint32_Box y, Complexity_Class complexity) {
00218 build_cpp_object(y, complexity);
00219 }
00220
00221 public Int64_Box(Uint64_Box y, Complexity_Class complexity) {
00222 build_cpp_object(y, complexity);
00223 }
00224
00225 public Int64_Box(Z_Box y, Complexity_Class complexity) {
00226 build_cpp_object(y, complexity);
00227 }
00228
00229 public Int64_Box(Rational_Box y, Complexity_Class complexity) {
00230 build_cpp_object(y, complexity);
00231 }
00232
00233 public Int64_Box(BD_Shape_int8_t y, Complexity_Class complexity) {
00234 build_cpp_object(y, complexity);
00235 }
00236
00237 public Int64_Box(BD_Shape_int16_t y, Complexity_Class complexity) {
00238 build_cpp_object(y, complexity);
00239 }
00240
00241 public Int64_Box(BD_Shape_int32_t y, Complexity_Class complexity) {
00242 build_cpp_object(y, complexity);
00243 }
00244
00245 public Int64_Box(BD_Shape_int64_t y, Complexity_Class complexity) {
00246 build_cpp_object(y, complexity);
00247 }
00248
00249 public Int64_Box(BD_Shape_mpz_class y, Complexity_Class complexity) {
00250 build_cpp_object(y, complexity);
00251 }
00252
00253 public Int64_Box(BD_Shape_mpq_class y, Complexity_Class complexity) {
00254 build_cpp_object(y, complexity);
00255 }
00256
00257 public Int64_Box(Octagonal_Shape_int8_t y, Complexity_Class complexity) {
00258 build_cpp_object(y, complexity);
00259 }
00260
00261 public Int64_Box(Octagonal_Shape_int16_t y, Complexity_Class complexity) {
00262 build_cpp_object(y, complexity);
00263 }
00264
00265 public Int64_Box(Octagonal_Shape_int32_t y, Complexity_Class complexity) {
00266 build_cpp_object(y, complexity);
00267 }
00268
00269 public Int64_Box(Octagonal_Shape_int64_t y, Complexity_Class complexity) {
00270 build_cpp_object(y, complexity);
00271 }
00272
00273 public Int64_Box(Octagonal_Shape_mpz_class y, Complexity_Class complexity) {
00274 build_cpp_object(y, complexity);
00275 }
00276
00277 public Int64_Box(Octagonal_Shape_mpq_class y, Complexity_Class complexity) {
00278 build_cpp_object(y, complexity);
00279 }
00280
00281 public Int64_Box(C_Polyhedron y, Complexity_Class complexity) {
00282 build_cpp_object(y, complexity);
00283 }
00284
00285 public Int64_Box(NNC_Polyhedron y, Complexity_Class complexity) {
00286 build_cpp_object(y, complexity);
00287 }
00288
00289 public Int64_Box(Grid y, Complexity_Class complexity) {
00290 build_cpp_object(y, complexity);
00291 }
00292
00293 public Int64_Box(Float_Box y, Complexity_Class complexity) {
00294 build_cpp_object(y, complexity);
00295 }
00296
00297 public Int64_Box(BD_Shape_float y, Complexity_Class complexity) {
00298 build_cpp_object(y, complexity);
00299 }
00300
00301 public Int64_Box(Octagonal_Shape_float y, Complexity_Class complexity) {
00302 build_cpp_object(y, complexity);
00303 }
00304
00305 public Int64_Box(Double_Box y, Complexity_Class complexity) {
00306 build_cpp_object(y, complexity);
00307 }
00308
00309 public Int64_Box(BD_Shape_double y, Complexity_Class complexity) {
00310 build_cpp_object(y, complexity);
00311 }
00312
00313 public Int64_Box(Octagonal_Shape_double y, Complexity_Class complexity) {
00314 build_cpp_object(y, complexity);
00315 }
00316
00317 public Int64_Box(Long_Double_Box y, Complexity_Class complexity) {
00318 build_cpp_object(y, complexity);
00319 }
00320
00321 public Int64_Box(BD_Shape_long_double y, Complexity_Class complexity) {
00322 build_cpp_object(y, complexity);
00323 }
00324
00325 public Int64_Box(Octagonal_Shape_long_double y, Complexity_Class complexity) {
00326 build_cpp_object(y, complexity);
00327 }
00328
00329
00330
00331
00332
00333
00334 public Int64_Box(Constraint_System cs) {
00335 build_cpp_object(cs);
00336 }
00337
00338 public Int64_Box(Congruence_System cs) {
00339 build_cpp_object(cs);
00340 }
00341
00342 public Int64_Box(Generator_System cs) {
00343 build_cpp_object(cs);
00344 }
00345
00346
00347
00348
00349
00350
00351 public native void swap(Int64_Box y);
00352
00353
00354
00355
00356 public native long space_dimension();
00357
00358 public native long affine_dimension();
00359
00360
00361
00362
00363
00364 public native Poly_Con_Relation relation_with(Constraint c);
00365
00366 public native Poly_Gen_Relation relation_with(Generator c);
00367
00368 public native Poly_Con_Relation relation_with(Congruence c);
00369
00370
00371
00372
00373
00374 public native Constraint_System constraints();
00375
00376 public native Congruence_System congruences();
00377
00378
00379
00380
00381
00382 public native Constraint_System minimized_constraints();
00383
00384 public native Congruence_System minimized_congruences();
00385
00386
00387
00388
00389
00390 public native boolean is_empty();
00391
00392 public native boolean is_universe();
00393
00394 public native boolean is_bounded();
00395
00396 public native boolean contains_integer_point();
00397
00398 public native boolean is_topologically_closed();
00399
00400 public native boolean is_discrete();
00401
00402
00403
00404
00405
00406 public native void topological_closure_assign();
00407
00408
00409
00410
00411
00412 public native boolean bounds_from_above(Linear_Expression expr);
00413
00414 public native boolean bounds_from_below(Linear_Expression expr);
00415
00416
00417
00418
00419
00420 public native boolean maximize(Linear_Expression expr,
00421 Coefficient sup_n, Coefficient sup_d,
00422 By_Reference<Boolean> maximum);
00423
00424 public native boolean minimize(Linear_Expression expr,
00425 Coefficient sup_n, Coefficient sup_d,
00426 By_Reference<Boolean> maximum);
00427
00428
00429
00430
00431
00432 public native boolean maximize(Linear_Expression expr,
00433 Coefficient sup_n, Coefficient sup_d,
00434 By_Reference<Boolean> maximum,
00435 Generator point);
00436
00437 public native boolean minimize(Linear_Expression expr,
00438 Coefficient sup_n, Coefficient sup_d,
00439 By_Reference<Boolean> maximum,
00440 Generator point);
00441
00442
00443
00444
00445
00446 public native boolean frequency(Linear_Expression expr,
00447 Coefficient freq_n, Coefficient freq_d,
00448 Coefficient val_n, Coefficient val_d);
00449
00450
00451
00452
00453 public native boolean contains(Int64_Box y);
00454
00455 public native boolean strictly_contains(Int64_Box y);
00456
00457 public native boolean is_disjoint_from(Int64_Box y);
00458
00459
00460
00461
00462
00463 public native boolean equals(Int64_Box p);
00464
00465 public boolean equals(Object y) {
00466 if (this == y)
00467 return true;
00468 if (y == null || y.getClass() != this.getClass())
00469 return false;
00470 return this.equals((Int64_Box) y);
00471 }
00472
00473
00474
00475 public native boolean OK();
00476
00477
00478
00479
00480 public native void add_constraint(Constraint c);
00481
00482 public native void add_congruence(Congruence c);
00483
00484
00485
00486
00487
00488 public native void add_constraints(Constraint_System c);
00489
00490 public native void add_congruences(Congruence_System c);
00491
00492
00493
00494
00495
00496 public native void refine_with_constraint(Constraint c);
00497
00498 public native void refine_with_congruence(Congruence c);
00499
00500
00501
00502
00503
00504 public native void refine_with_constraints(Constraint_System c);
00505
00506 public native void refine_with_congruences(Congruence_System c);
00507
00508
00509
00510
00511
00512 public native void intersection_assign(Int64_Box p);
00513
00514 public native void upper_bound_assign(Int64_Box p);
00515
00516 public native void difference_assign(Int64_Box p);
00517
00518 public native void concatenate_assign(Int64_Box p);
00519
00520 public native void time_elapse_assign(Int64_Box p);
00521
00522
00523
00524
00525
00526 public native boolean upper_bound_assign_if_exact(Int64_Box y);
00527
00528
00529
00530
00531
00532
00533 public native boolean simplify_using_context_assign(Int64_Box p);
00534
00535
00536
00537
00538 public native boolean constrains(Variable var);
00539
00540
00541
00542
00543 public native void unconstrain_space_dimension(Variable var);
00544
00545
00546
00547
00548 public native void
00549 unconstrain_space_dimensions(Variables_Set vars);
00550
00551
00552
00553
00554 public native void affine_image(Variable var, Linear_Expression expr,
00555 Coefficient denominator);
00556
00557 public native void affine_preimage(Variable var, Linear_Expression expr,
00558 Coefficient denominator);
00559
00560
00561
00562
00563
00564 public native void bounded_affine_image(Variable var,
00565 Linear_Expression lb_expr,
00566 Linear_Expression ub_expr,
00567 Coefficient denominator);
00568
00569 public native void bounded_affine_preimage(Variable var,
00570 Linear_Expression lb_expr,
00571 Linear_Expression ub_expr,
00572 Coefficient denominator);
00573
00574
00575
00576
00577
00578 public native void generalized_affine_image(Variable var,
00579 Relation_Symbol relsym,
00580 Linear_Expression expr,
00581 Coefficient denominator);
00582
00583 public native void generalized_affine_preimage(Variable var,
00584 Relation_Symbol relsym,
00585 Linear_Expression expr,
00586 Coefficient denominator);
00587
00588
00589
00590
00591
00592 public native void generalized_affine_image(Linear_Expression lhs,
00593 Relation_Symbol relsym,
00594 Linear_Expression rhs);
00595
00596 public native void generalized_affine_preimage(Linear_Expression lhs,
00597 Relation_Symbol relsym,
00598 Linear_Expression rhs);
00599
00600
00601
00602
00603
00604 public native void add_space_dimensions_and_embed(long m);
00605
00606 public native void add_space_dimensions_and_project(long m);
00607
00608
00609
00610
00611
00612 public native void remove_space_dimensions(Variables_Set vars);
00613
00614
00615
00616
00617 public native void remove_higher_space_dimensions(long new_dimension);
00618
00619
00620
00621
00622 public native void expand_space_dimension(Variable var, long m);
00623
00624
00625
00626
00627 public native void fold_space_dimensions(Variables_Set vars,
00628 Variable dest);
00629
00630
00631
00632
00633 public native void map_space_dimensions(Partial_Function pfunc);
00634
00635
00636
00637
00638 public native void drop_some_non_integer_points
00639 (Integer complexity_threshold);
00640
00641
00642
00643
00644 public native void drop_some_non_integer_points_2
00645 (Variables_Set vars, Integer complexity_threshold);
00646
00647
00648
00649
00650 public native String ascii_dump();
00651
00652
00653
00654
00655 public native long external_memory_in_bytes();
00656
00657 public native long total_memory_in_bytes();
00658
00659
00660
00661
00662
00663
00664
00665 public native void CC76_widening_assign(Int64_Box y,
00666 By_Reference<Integer> tp);
00667
00668
00669
00670
00671
00672
00673
00674 public native void widening_assign(Int64_Box y,
00675 By_Reference<Integer> tp);
00676
00677
00678
00679
00680
00681
00682 public native
00683 void limited_CC76_extrapolation_assign(Int64_Box y,
00684 Constraint_System cs,
00685 By_Reference<Integer> tp);
00686
00687
00688
00689
00690
00691
00692
00693
00694 public static native
00695 Pair <Int64_Box, Pointset_Powerset_NNC_Polyhedron >
00696 linear_partition(Int64_Box p, Int64_Box q);
00697
00698
00699
00700
00701
00702 public native void wrap_assign(Variables_Set vars,
00703 Bounded_Integer_Type_Width w,
00704 Bounded_Integer_Type_Representation r,
00705 Bounded_Integer_Type_Overflow o,
00706 Constraint_System cs,
00707 long complexity_threshold,
00708 boolean wrap_individually);
00709
00710
00711
00712
00713 public native void free();
00714
00715
00716
00717
00718
00719 public native String toString();
00720
00721
00722
00723
00724 private native void build_cpp_object(Constraint_System cs);
00725
00726 private native void build_cpp_object(Congruence_System cs);
00727
00728 private native void build_cpp_object(Generator_System cs);
00729
00730
00731
00732
00733
00734 private native void build_cpp_object(long num_dimensions,
00735 Degenerate_Element kind);
00736
00737
00738
00739
00740 private native void build_cpp_object(Int8_Box y);
00741
00742 private native void build_cpp_object(Int8_Box y,
00743 Complexity_Class complexity);
00744
00745 private native void build_cpp_object(Int16_Box y);
00746
00747 private native void build_cpp_object(Int16_Box y,
00748 Complexity_Class complexity);
00749
00750 private native void build_cpp_object(Int32_Box y);
00751
00752 private native void build_cpp_object(Int32_Box y,
00753 Complexity_Class complexity);
00754
00755 private native void build_cpp_object(Int64_Box y);
00756
00757 private native void build_cpp_object(Int64_Box y,
00758 Complexity_Class complexity);
00759
00760 private native void build_cpp_object(Uint8_Box y);
00761
00762 private native void build_cpp_object(Uint8_Box y,
00763 Complexity_Class complexity);
00764
00765 private native void build_cpp_object(Uint16_Box y);
00766
00767 private native void build_cpp_object(Uint16_Box y,
00768 Complexity_Class complexity);
00769
00770 private native void build_cpp_object(Uint32_Box y);
00771
00772 private native void build_cpp_object(Uint32_Box y,
00773 Complexity_Class complexity);
00774
00775 private native void build_cpp_object(Uint64_Box y);
00776
00777 private native void build_cpp_object(Uint64_Box y,
00778 Complexity_Class complexity);
00779
00780 private native void build_cpp_object(Z_Box y);
00781
00782 private native void build_cpp_object(Z_Box y,
00783 Complexity_Class complexity);
00784
00785 private native void build_cpp_object(Rational_Box y);
00786
00787 private native void build_cpp_object(Rational_Box y,
00788 Complexity_Class complexity);
00789
00790 private native void build_cpp_object(BD_Shape_int8_t y);
00791
00792 private native void build_cpp_object(BD_Shape_int8_t y,
00793 Complexity_Class complexity);
00794
00795 private native void build_cpp_object(BD_Shape_int16_t y);
00796
00797 private native void build_cpp_object(BD_Shape_int16_t y,
00798 Complexity_Class complexity);
00799
00800 private native void build_cpp_object(BD_Shape_int32_t y);
00801
00802 private native void build_cpp_object(BD_Shape_int32_t y,
00803 Complexity_Class complexity);
00804
00805 private native void build_cpp_object(BD_Shape_int64_t y);
00806
00807 private native void build_cpp_object(BD_Shape_int64_t y,
00808 Complexity_Class complexity);
00809
00810 private native void build_cpp_object(BD_Shape_mpz_class y);
00811
00812 private native void build_cpp_object(BD_Shape_mpz_class y,
00813 Complexity_Class complexity);
00814
00815 private native void build_cpp_object(BD_Shape_mpq_class y);
00816
00817 private native void build_cpp_object(BD_Shape_mpq_class y,
00818 Complexity_Class complexity);
00819
00820 private native void build_cpp_object(Octagonal_Shape_int8_t y);
00821
00822 private native void build_cpp_object(Octagonal_Shape_int8_t y,
00823 Complexity_Class complexity);
00824
00825 private native void build_cpp_object(Octagonal_Shape_int16_t y);
00826
00827 private native void build_cpp_object(Octagonal_Shape_int16_t y,
00828 Complexity_Class complexity);
00829
00830 private native void build_cpp_object(Octagonal_Shape_int32_t y);
00831
00832 private native void build_cpp_object(Octagonal_Shape_int32_t y,
00833 Complexity_Class complexity);
00834
00835 private native void build_cpp_object(Octagonal_Shape_int64_t y);
00836
00837 private native void build_cpp_object(Octagonal_Shape_int64_t y,
00838 Complexity_Class complexity);
00839
00840 private native void build_cpp_object(Octagonal_Shape_mpz_class y);
00841
00842 private native void build_cpp_object(Octagonal_Shape_mpz_class y,
00843 Complexity_Class complexity);
00844
00845 private native void build_cpp_object(Octagonal_Shape_mpq_class y);
00846
00847 private native void build_cpp_object(Octagonal_Shape_mpq_class y,
00848 Complexity_Class complexity);
00849
00850 private native void build_cpp_object(C_Polyhedron y);
00851
00852 private native void build_cpp_object(C_Polyhedron y,
00853 Complexity_Class complexity);
00854
00855 private native void build_cpp_object(NNC_Polyhedron y);
00856
00857 private native void build_cpp_object(NNC_Polyhedron y,
00858 Complexity_Class complexity);
00859
00860 private native void build_cpp_object(Grid y);
00861
00862 private native void build_cpp_object(Grid y,
00863 Complexity_Class complexity);
00864
00865 private native void build_cpp_object(Float_Box y);
00866
00867 private native void build_cpp_object(Float_Box y,
00868 Complexity_Class complexity);
00869
00870 private native void build_cpp_object(BD_Shape_float y);
00871
00872 private native void build_cpp_object(BD_Shape_float y,
00873 Complexity_Class complexity);
00874
00875 private native void build_cpp_object(Octagonal_Shape_float y);
00876
00877 private native void build_cpp_object(Octagonal_Shape_float y,
00878 Complexity_Class complexity);
00879
00880 private native void build_cpp_object(Double_Box y);
00881
00882 private native void build_cpp_object(Double_Box y,
00883 Complexity_Class complexity);
00884
00885 private native void build_cpp_object(BD_Shape_double y);
00886
00887 private native void build_cpp_object(BD_Shape_double y,
00888 Complexity_Class complexity);
00889
00890 private native void build_cpp_object(Octagonal_Shape_double y);
00891
00892 private native void build_cpp_object(Octagonal_Shape_double y,
00893 Complexity_Class complexity);
00894
00895 private native void build_cpp_object(Long_Double_Box y);
00896
00897 private native void build_cpp_object(Long_Double_Box y,
00898 Complexity_Class complexity);
00899
00900 private native void build_cpp_object(BD_Shape_long_double y);
00901
00902 private native void build_cpp_object(BD_Shape_long_double y,
00903 Complexity_Class complexity);
00904
00905 private native void build_cpp_object(Octagonal_Shape_long_double y);
00906
00907 private native void build_cpp_object(Octagonal_Shape_long_double y,
00908 Complexity_Class complexity);
00909
00910
00911
00912
00913
00914
00915 }
00916