Commit 79b18f3b authored by Erwan Jahier's avatar Erwan Jahier

lurette 1.7 Fri, 10 Oct 2003 14:01:43 +0200 by jahier

Parent-Version:      1.6
Version-Log:

source/fair_bddd.ml: [new]
source/fair_bddd.mli: [new]
   The same as bddd, but taking polyhedron volume into account.

source/bddd.ml:
   It is useless to store both bdd and not bdd, because it is just
   so easy to recompute the sol nb of not bdd (by switchinf the
   pair of sol numbers!).

source/lurettetop.ml:
source/lurette.ml:
source/luc_exe.ml:
   add a --compute-poly-volume option that makes lurette use
   fair_bddd instead of bddd.

Project-Description: Lurette
parent 7189e37a
......@@ -3,14 +3,15 @@
(Created-By-Prcs-Version 1 3 3)
(cuddaux/cuddauxGenCof.c 12011 1034006019 c/29_cuddauxGen 1.1)
(source/show_env.mli 1150 1056619073 42_show_env.m 1.10)
(source/util.ml 22004 1064504947 35_util.ml 1.55)
(source/util.ml 22356 1065787303 35_util.ml 1.56)
(test/cygwin-scade/lib_pilot.vsp 1433 1055926783 f/47_lib_pilot. 1.1)
(source/constraint.mli 1606 1063029729 c/18_constraint 1.6)
(test/ControleurPorte.lus 3219 1032940601 c/17_Controleur 1.1)
(mlcuddidl/Changes 64 1034006019 d/10_Changes 1.1)
(TODO 5996 1064411282 d/22_TODO 1.25)
(TODO 5481 1065787303 d/22_TODO 1.26)
(share/gen_fake_lutin.sh.in 115 1063786164 g/30_gen_fake_l 1.1)
(mlcuddidl/rdd.mli 7174 1034006019 c/40_rdd.mli 1.1)
(source/fair_bddd.ml 19334 1065787303 g/38_fair_bddd. 1.1)
(source/ne.mli 2220 1063029729 c/22_ne.mli 1.7)
(share/config.guess 39153 1055926783 f/25_config.gue 1.1)
(polka/documentation/polka.texi 109061 1047029868 e/17_polka.texi 1.1)
......@@ -21,41 +22,42 @@
(share/pixmaps/open.xpm 782 1055926783 f/17_open.xpm 1.1)
(source/parse_luc.mli 2297 1063029729 40_parse_env. 1.16)
(polka/C/internal.c 699 1047029868 e/8_internal.c 1.1)
(source/solver.ml 7211 1064504947 39_solver.ml 1.55)
(source/solver.ml 8011 1065787303 39_solver.ml 1.56)
(ihm/xlurette/makefile 1853 1063786164 c/16_makefile 1.17)
(share/gen_fake_lucky.sh.in 115 1063786164 g/31_gen_fake_l 1.1)
(test/test_losange-10d.lus 108 1065787303 g/41_test_losan 1.1)
(polka/C/internal.h 958 1047029868 e/0_internal.h 1.1)
(source/command_line.ml 4534 1064329011 b/20_command_li 1.15)
(source/command_line.ml 4752 1065787303 b/20_command_li 1.16)
(test/cudd_gc_problem.rif.exp 7882 1053337243 e/30_cudd_gc_pr 1.2)
(test/sparc-scade/libpwlinear.saofdm 1379 1055487917 e/43_libpwlinea 1.1)
(test/cygwin-scade/ConfAnnot.aty 13661 1055926783 g/4_ConfAnnot. 1.1)
(test/ControleurPorte.c 9407 1012914629 b/19_Controleur 1.1)
(source/bddd.mli 1416 1064504947 g/37_bddd.mli 1.2)
(source/bddd.mli 1436 1065787303 g/37_bddd.mli 1.3)
(share/lucky_init.sh.in 1061 1063786164 e/24_lucky_init 1.11)
(test/heater.lus 176 1063786164 g/33_heater.lus 1.1)
(test/ControleurPorte.h 2306 1012914629 b/18_Controleur 1.1)
(test/test10.rif.exp 3815 1064411282 g/16_test10.rif 1.2)
(test/test10.rif.exp 3827 1065787303 g/16_test10.rif 1.3)
(test/test-scade-cygwin.res 0 1055926783 f/28_test-scade 1.1)
(source/gen_stubs_common.ml 6381 1055487917 e/39_gen_stubs_ 1.1)
(doc/synthese 2556 1007379917 b/2_synthese 1.1)
(test/cygwin-scade/Pilot_cst.saofd 788 1055926783 f/38_Pilot_cst. 1.1)
(test/cygwin-scade/lib_pilot.etp 1173 1055926783 f/48_lib_pilot. 1.1)
(source/command_line.mli 1580 1064329011 b/21_command_li 1.12)
(source/Makefile.lucky 3115 1064415295 b/41_Makefile.i 1.24)
(source/command_line.mli 1632 1065787303 b/21_command_li 1.13)
(source/Makefile.lucky 3125 1065787303 b/41_Makefile.i 1.25)
(polka/README 1437 1047029868 e/19_README 1.1)
(polka/Makefile.depend 136 1047029868 d/30_Makefile.d 1.1)
(test/test9.rif.exp 2322 1064411282 g/17_test9.rif. 1.2)
(README 2803 1056374363 10_README 1.10)
(source/pnumsolver.ml 9273 1045489850 d/23_pnumsolver 1.2)
(source/gen_stubs_scade.ml 9106 1055926783 f/5_gen_stubs_ 1.1)
(test/test9.rif.exp 2322 1064411282 g/17_test9.rif. 1.2)
(cuddaux/cuddauxMisc.c 13842 1034006019 c/27_cuddauxMis 1.1)
(source/polyhedron.ml 7871 1064411282 d/25_polyhedron 1.8)
(source/polyhedron.ml 12853 1065787303 d/25_polyhedron 1.9)
(source/Makefile.gen_fake_lucky 528 1063786164 g/9_Makefile.g 1.2)
(polka/C/poly.c 48492 1047029868 e/5_poly.c 1.1)
(source/luc_exe.mli 447 1033738731 b/31_ima_exe.ml 1.2)
(doc/ocamldoc.sty 1380 1008328137 b/12_ocamldoc.s 1.1)
(polka/C/cherni.c 28811 1047029868 e/9_cherni.c 1.1)
(source/command_line_luc_exe.mli 1276 1064329011 b/34_command_li 1.11)
(polka/C/cherni.c 28868 1065787303 e/9_cherni.c 1.2)
(source/command_line_luc_exe.mli 1325 1065787303 b/34_command_li 1.12)
(polka/C/poly.h 4314 1047029868 d/49_poly.h 1.1)
(source/formula.mli 4393 1064504947 44_formula.ml 1.27)
(polka/C/cherni.h 2217 1047029868 e/1_cherni.h 1.1)
......@@ -63,12 +65,12 @@
(polka/caml/polka_caml.c 6499 1047029868 d/37_polka_caml 1.1)
(source/gen_stubs_poc.mli 636 1055926783 f/4_gen_stubs_ 1.1)
(test/losange-3d.luc 514 1063786164 d/28_losange-3d 1.4)
(test/time-moucherotte.res 4862 1064411282 e/38_time-mouch 1.8)
(test/time-moucherotte.res 4855 1065787303 e/38_time-mouch 1.9)
(polka/caml/poly.idl 8449 1047029868 d/33_poly.idl 1.1)
(polka/documentation/texinfo.tex 200195 1047029868 e/16_texinfo.te 1.1)
(polka/caml/polka_caml.h 1922 1047029868 d/36_polka_caml 1.1)
(mlcuddidl/mtbdd.ml 10185 1034006019 c/44_mtbdd.ml 1.1)
(source/draw.ml 2902 1055926783 f/2_draw.ml 1.1)
(source/draw.ml 2946 1065787303 f/2_draw.ml 1.2)
(source/prevar.ml 3090 1063029729 d/18_prevar.ml 1.4)
(mlcuddidl/idd.ml 7061 1034006019 d/0_idd.ml 1.1)
(test/cygwin-scade/C_SQRT.saofd 214 1055926783 g/1_C_SQRT.sao 1.1)
......@@ -76,22 +78,24 @@
(source/eval.ml 7275 1064415295 49_eval.ml 1.16)
(polka/Changes 1502 1047029868 e/22_Changes 1.1)
(source/env.mli 1937 1064329011 15_env.mli 1.19)
(test/losange-10d.luc 1533 1065787303 g/42_losange-10 1.1)
(test/sparc-scade/libdigital.saofdm 1256 1055487917 e/47_libdigital 1.1)
(test/temp_int.luc 517 1063786164 b/50_temp_int.e 1.7)
(source/automata.mli 3595 1064329011 b/46_automata.m 1.5)
(source/print.mli 1136 1045558187 46_print.mli 1.13)
(polka/caml/Makefile 6559 1047029868 d/45_Makefile 1.1)
(test/cygwin-scade/det_mvt_mode.saofd 4184 1055926783 f/51_det_mvt_mo 1.1)
(ihm/xlurette/xlurette_glade_main.ml 44987 1064411282 c/12_xlurette_g 1.28)
(ihm/xlurette/xlurette_glade_main.ml 46439 1065787303 c/12_xlurette_g 1.29)
(TAGS 9825 1007379917 21_TAGS 1.6)
(polka/C/main.tex 1961 1047029868 e/14_main.tex 1.1)
(ihm/xlurette/xlurette.glade 103210 1064504947 c/13_xlurette.g 1.23)
(ihm/xlurette/xlurette.glade 103401 1065787303 c/13_xlurette.g 1.24)
(test/cygwin-scade/MODULE.saofd 3026 1055926783 f/45_MODULE.sao 1.1)
(test/cygwin-scade/Command.saofd 4147 1055926783 g/6_Command.sa 1.1)
(test/cygwin-scade/lib_pilot.err 119 1055926783 f/49_lib_pilot. 1.1)
(test/losange.luc 410 1046768487 d/27_losange.lu 1.2)
(test/gyro.rif.exp 10954 1064411282 e/36_gyro.rif.e 1.4)
(test/time-ecrins.exp 8429 1064415295 d/21_time-ecrin 1.27)
(test/gyro.rif.exp 10966 1065787303 e/36_gyro.rif.e 1.5)
(test/time-ecrins.exp 8430 1065787303 d/21_time-ecrin 1.28)
(source/fair_bdd.mli 2835 1065787303 g/40_fair_bdd.m 1.1)
(source/value.ml 2539 1063786164 c/23_value.ml 1.6)
(source/gne.ml 3467 1063029729 b/37_gne.ml 1.6)
(test/cygwin-scade/Pilot.vsp 2075 1055926783 f/40_Pilot.vsp 1.1)
......@@ -105,14 +109,15 @@
(source/Makefile.gen_fake_lutin 528 1063786164 d/17_Makefile.g 1.4)
(Makefile.common.source 1826 1055926783 e/33_Makefile.c 1.5)
(test/giro/giro.luc 2755 1033738731 c/6_giro.ima 1.4)
(source/control.ml 4445 1036675177 c/4_control.ml 1.4)
(source/control.ml 4586 1065787303 c/4_control.ml 1.5)
(test/cygwin-scade/.lurette_rc~ 505 1055926783 f/30_.lurette_r 1.1)
(test/cygwin-scade/Pilot.vsw 431 1055926783 f/39_Pilot.vsw 1.1)
(share/pixmaps/open_plus.xpm 787 1055926783 f/16_open_plus. 1.1)
(share/xlurettetop.bat.in 613 1063786164 g/19_xluretteto 1.1)
(source/env_state.ml 21516 1064504947 51_env_state. 1.49)
(test/test8.rif.exp 341 1063786164 g/18_test8.rif. 1.1)
(test/test8.rif.exp 341 1065787303 g/18_test8.rif. 1.2)
(polka/caml/matrix.idl 5301 1047029868 d/34_matrix.idl 1.1)
(source/fair_bddd.mli 2855 1065787303 g/39_fair_bddd. 1.1)
(cuddaux/cuddauxAddIte.c 12812 1034006019 c/32_cuddauxAdd 1.1)
(source/gen_stubs_scade.mli 641 1055926783 f/6_gen_stubs_ 1.1)
(share/pixmaps/clean-up.xpm 1565 1055926783 f/22_clean-up.x 1.1)
......@@ -127,7 +132,7 @@
(source/call_lurette_main.c 322 1050421093 e/28_call_luret 1.1)
(polka/C/vector.c 13780 1047029868 e/3_vector.c 1.1)
(test/sparc-scade/Direction_D1.saofd 1335 1055487917 e/51_Direction_ 1.1)
(source/Makefile.lurette_lib 2810 1064415295 c/2_Makefile.l 1.22)
(source/Makefile.lurette_lib 2838 1065787303 c/2_Makefile.l 1.23)
(polka/caml/polka_parser.mly 1729 1047029868 d/40_polka_pars 1.1)
(mlcuddidl/bdd.idl 18233 1034006019 d/7_bdd.idl 1.1)
(test/heater_int.lus 170 1020068208 b/43_heater_int 1.1)
......@@ -148,9 +153,9 @@
(mlcuddidl/manager.ml 8017 1034006019 c/47_manager.ml 1.1)
(share/plot 11394 1063786164 e/35_plot 1.4)
(share/pixmaps/save.xpm 867 1055926783 f/12_save.xpm 1.1)
(source/solver.mli 1330 1064415295 38_solver.mli 1.17)
(source/solver.mli 1481 1065787303 38_solver.mli 1.18)
(test/passerelle.luc 963 1063786164 b/17_passerelle 1.12)
(source/store.ml 33533 1064411282 b/27_rnumsolver 1.27)
(source/store.ml 46244 1065787303 b/27_rnumsolver 1.28)
(mlcuddidl/mtbdd.mli 4395 1034006019 c/43_mtbdd.mli 1.1)
(test/sparc-scade/exo1.vsp 2089 1055487917 e/49_exo1.vsp 1.1)
(polka/C/satmat.h 1254 1047029868 d/48_satmat.h 1.1)
......@@ -162,25 +167,25 @@
(demo-xlurette/chaudiere/chaudiere_oracle.lus 107 1031732392 c/8_chaudiere_ 1.1)
(share/Makefile.lurette.in 4414 1063029729 b/38_Makefile.l 1.27)
(source/graph.mli 2382 1063029729 13_graph.mli 1.11)
(source/store.mli 3122 1064411282 b/26_rnumsolver 1.19)
(test/time-ossau.res 8420 1064411282 b/49_time.res 1.53)
(source/automata.ml 20683 1064415295 b/47_automata.m 1.13)
(source/store.mli 3324 1065787303 b/26_rnumsolver 1.20)
(test/time-ossau.res 9311 1065787303 b/49_time.res 1.54)
(source/automata.ml 20686 1065787303 b/47_automata.m 1.14)
(test/sparc-scade/libmath.saofdm 1378 1055487917 e/45_libmath.sa 1.1)
(Makefile 68 1051024737 d/13_Makefile 1.4)
(share/Makefile.test.in 2712 1064329011 c/25_user-rules 1.10)
(cuddaux/cuddauxBridge.c 6099 1034006019 c/31_cuddauxBri 1.1)
(test/sparc-scade/libmathadvanced.saofdm 3267 1055487917 e/44_libmathadv 1.1)
(test/sparc-scade/exo1.vsw 400 1055487917 e/48_exo1.vsw 1.1)
(test/heater_float.rif.exp 1058 1064329011 b/30_heater_flo 1.17)
(test/heater_float.rif.exp 1057 1065787303 b/30_heater_flo 1.18)
(cuddaux/Makefile 3326 1053337243 c/35_Makefile 1.7)
(polka/C/bit.c 3026 1047029868 e/10_bit.c 1.1)
(source/draw.mli 467 1055926783 f/1_draw.mli 1.1)
(source/draw.mli 452 1065787303 f/1_draw.mli 1.2)
(test/time-ossau.exp 8420 1064415295 b/48_time.exp 1.50)
(polka/caml/polkaIO.ml 1652 1047029868 d/44_polkaIO.ml 1.1)
(mlcuddidl/macros.m4 11290 1034006019 c/49_macros.m4 1.1)
(source/print.ml 5732 1063029729 47_print.ml 1.24)
(test/heater_int.rif.exp 820 1064329011 b/28_heater_int 1.15)
(test/sparc-scade/scade.rif.exp 1166 1064329011 f/0_scade.rif. 1.3)
(test/heater_int.rif.exp 824 1065787303 b/28_heater_int 1.16)
(test/sparc-scade/scade.rif.exp 1164 1065787303 f/0_scade.rif. 1.4)
(source/parse_poc.ml 4417 1055926783 d/15_parse_poc. 1.4)
(test/cygwin-scade/det_center.saofd 4993 1055926783 g/0_det_center 1.1)
(share/pixmaps/stock_save.xpm 3420 1055926783 f/9_stock_save 1.1)
......@@ -190,21 +195,21 @@
(test/giro/allocator.lus 1087 1031732392 c/5_allocator. 1.1)
(cuddaux/README 1427 1034006019 c/34_README 1.1)
(mlcuddidl/bdd.ml 10889 1034006019 d/6_bdd.ml 1.1)
(source/lurettetop.ml 46392 1064329011 c/1_lurettetop 1.41)
(source/lurettetop.ml 47330 1065787303 c/1_lurettetop 1.42)
(source/constraint.ml 2784 1063029729 c/19_constraint 1.8)
(test/structured_type.luc 2224 1063786164 g/32_structured 1.1)
(source/formula_to_bdd.ml 13269 1064415295 g/34_formula_to 1.1)
(test/cygwin-scade/counter.saofd 587 1055926783 g/2_counter.sa 1.1)
(test/test7.rif.exp 269 1063786164 g/12_test7.rif. 1.1)
(polka/caml/Makefile.depend 744 1063029729 d/32_Makefile.d 1.3)
(source/bddd.ml 16610 1064504947 g/36_bddd.ml 1.2)
(source/bddd.ml 16556 1065787303 g/36_bddd.ml 1.3)
(doc/archi.fig 3693 1003928781 20_archi.fig 1.1)
(ihm/xlurette/xlurette_glade_interface.ml 76914 1064411282 c/15_xlurette_g 1.21)
(ihm/xlurette/xlurette_glade_interface.ml 76320 1065787303 c/15_xlurette_g 1.22)
(test/Makefile 2729 1064411282 c/0_Makefile 1.14)
(INSTALL 101 1056616700 f/26_INSTALL 1.2)
(test/cygwin-scade/MyConsts.saofd 153 1055926783 f/44_MyConsts.s 1.1)
(test/losange-3d2.luc 361 1063786164 e/32_losange-3d 1.3)
(user-rules 28768 1064411282 c/14_myrules 1.44)
(test/losange-3d2.luc 375 1065787303 e/32_losange-3d 1.4)
(user-rules 30170 1065787303 c/14_myrules 1.45)
(test/infinite_weight.luc 889 1063786164 g/13_infinite_w 1.1)
(mlcuddidl/cudd_caml.c 22890 1034006019 d/3_cudd_caml. 1.1)
(polka/C/config.h 77 1047029868 e/13_config.h 1.1)
......@@ -239,7 +244,7 @@
(mlcuddidl/sedscript 203 1034006019 c/38_sedscript 1.1)
(test/cygwin-scade/.lurette_rc 551 1063029729 f/29_.lurette_r 1.2)
(source/env_state.mli 6123 1064504947 50_env_state. 1.34)
(test/ControleurPorte.rif.exp 4688 1064329011 b/29_Controleur 1.18)
(test/ControleurPorte.rif.exp 4688 1065787303 b/29_Controleur 1.19)
(source/show_luc.ml 4271 1063029729 e/25_show_luc.m 1.6)
(share/pixmaps/quit.xpm 494 1055926783 f/14_quit.xpm 1.1)
(share/xlurette.sh.in 110 1063786164 g/21_xlurette.s 1.1)
......@@ -256,7 +261,7 @@
(source/Makefile.gen_stubs 741 1063786164 b/42_Makefile.g 1.8)
(test/temp_float.luc 680 1063786164 b/51_temp_float 1.10)
(polka/C/polka.c 4969 1047029868 e/6_polka.c 1.1)
(source/polyhedron.mli 1153 1064411282 d/26_polyhedron 1.3)
(source/polyhedron.mli 1383 1065787303 d/26_polyhedron 1.4)
(test/test_losange.lus 88 1055926783 f/27_test_losan 1.1)
(mlcuddidl/bdd.mli 8573 1034006019 d/5_bdd.mli 1.1)
(test/cygwin-scade/compute_path.saofd 1662 1055926783 g/5_compute_pa 1.1)
......@@ -264,12 +269,12 @@
(share/pixmaps/ediff-quit.xpm 494 1055926783 f/20_ediff-quit 1.1)
(test/cygwin-scade/Pilot.saofd 3645 1055926783 f/42_Pilot.saof 1.1)
(test/time-moucherotte.exp 4862 1064415295 e/37_time-mouch 1.8)
(source/command_line_luc_exe.ml 3526 1064329011 b/33_command_li 1.18)
(source/command_line_luc_exe.ml 3832 1065787303 b/33_command_li 1.19)
(source/lurette_exe.c 220 1050421093 e/27_lurette_ex 1.2)
(source/env.ml 8206 1064329011 16_env.ml 1.32)
(source/env.ml 8492 1065787303 16_env.ml 1.33)
(share/pixmaps/close.xpm 803 1055926783 f/21_close.xpm 1.1)
(test/time-CHAILLOL.res 8235 1063029729 g/11_time-CHAIL 1.1)
(test/time-ecrins.res 8430 1064504947 d/20_time-ecrin 1.28)
(test/time-ecrins.res 9304 1065787303 d/20_time-ecrin 1.29)
(source/value.mli 1159 1063786164 c/24_value.mli 1.4)
(polka/Makefile.config 1683 1053337243 e/20_Makefile.c 1.5)
(test/vrai_tram.lus 564 1027066799 b/6_vrai_tram. 1.2)
......@@ -278,14 +283,14 @@
(test/cudd_gc_problem.luc 208372 1063029729 e/29_cudd_gc_pr 1.2)
(test/time-CHAILLOL.exp 8235 1063029729 g/10_time-CHAIL 1.1)
(demo-xlurette/chaudiere/chaudiere_ctrl.lus 178 1063786164 c/9_chaudiere_ 1.2)
(test/losange-3d.rif.exp 2686 1063029729 e/31_losange-3d 1.3)
(test/losange-3d.rif.exp 2683 1065787303 e/31_losange-3d 1.4)
(polka/documentation/Makefile 476 1047029868 e/18_Makefile 1.1)
(source/sim2chro.ml 3260 1063786164 b/24_sim2chro.m 1.20)
(cuddaux/cuddauxTDGenCof.c 15712 1034006019 c/26_cuddauxTDG 1.1)
(source/luc_exe.ml 14113 1064504947 b/32_ima_exe.ml 1.36)
(source/luc_exe.ml 14438 1065787303 b/32_ima_exe.ml 1.37)
(source/gne.mli 1853 1063029729 b/36_gne.mli 1.6)
(test/cygwin-scade/Direction_D1.saofd 1298 1055926783 f/50_Direction_ 1.1)
(source/lurette.ml 17865 1064504947 12_lurette.ml 1.75)
(source/lurette.ml 19658 1065787303 12_lurette.ml 1.76)
(polka/C/Makefile.depend 1081 1047029868 d/46_Makefile.d 1.1)
(share/lucky.bat.in 584 1063786164 g/28_lucky.bat. 1.1)
(share/lucky.sh.in 106 1063786164 g/27_lucky.sh.i 1.1)
......@@ -306,4 +311,4 @@
(test/cygwin-scade/Pilot_type.saofd 962 1055926783 f/37_Pilot_type 1.1)
(mlcuddidl/Makefile 7387 1053337243 d/9_Makefile 1.7)
(source/eval.mli 1265 1050421093 48_eval.mli 1.11)
(source/Makefile.show_luc 1334 1063029729 b/40_Makefile.s 1.10)
(source/Makefile.show_luc 1253 1065787303 b/40_Makefile.s 1.11)
*********** BUGS
* ZZZ une contrainte du style "0<x<100 and x<>2" va tirer "1" une fois sur 2 !!!
car "x<>2" est traduit en "x<2 or x>2" et le choix sur le or est effectué de
facon équitable ...
En particulier, je ne peux donc pas representer des enum par des entiers...
* Quand je tire une solution dans le gras de l'épaisseur,
il faut que je tienne compte des poids des transitions
avec l'option --draw-all-formula
-> idem au sein du polyedre ; oui mais laquelle prendre ?
inside ? n'importe laquelle ?
-> if suffit de refaire en un env_try false 1 0 0 ....
=> Solution on remonte du bdd le nombre de solutions entieres presentes
a chaque feuille.
pour cela, je dois changer un peu de philosophie (cf solver.ml).
Avant:
1- calcul du nombre de solutions d'un point de vue Booleen
2- tirage dans le bdd tenant compte des poids obtenu en (1)
en verifiant au fur et a mesure les contraintes numeriques
faciles, a savoir celles de dimensions 1
3- une fois aux feuilles, s'il reste des contraintes de dimensions > 1,
faire appel à Polka.
Apres:
1- calcul du nombre de solutions d'un point de vue Booleen ET
des variables numériques de dimension 1.
2- tirage dans le bdd tenant compte des poids obtenu en (1)
3- comme avant
en d'autre termes, je fais la vérif de satisfiabilité des intervalles
lors du calcul du nombre de solutions, et pas lors du tirage dans le bdd.
* compilé en mode "assert", lurette se fait tuer par un signal 11
au bout d'une dizaine de pas...
* en mode fair, certaine requete aboutisse a qque chose de vraiment
pas satisfaisant : pleins de polyhedres intermediaires inutiles
sont calcules, selon l'ordre dans lequel arrivent les contraintes...
****** Documentation
* Rajouter un mode ecexe dans lurette
* documenter les options ~default, ~alias, etc.
* Decrire l'heuristique utilisée pour choisir le vecteur qui va servir
dans la suite de l'execution ().
* Signaler les approximations faites (en dimension > 1)
- volumes des polyhedres pas calculés (=> pb d'equité)
- pour le choix des entiers, on travaille dans les reels,
......@@ -54,10 +46,15 @@
dans ]0;3[ dans le 1er contre 75% dans le 2eme.
* Il faut aussi documenter les probas de f=1.0 vs 0<f<1. Avec un pas de 10,
ca donne 10% vs 90% ... On pourrait donner un pas plus petit, mais ca
desiquilibrerait l'importance des reels par rapport aux entiers et
aux Booleens. Et puis f=1.0 est une valeur particuliere qu'il est légitime
de vouloir tester plus souvent...
ca donne 10% vs 90% en mode <<efficient draw>>
Faire remarquer que dans certain cas, le fair draw peut etre plus rapide ...
mais que dans d'autre, il peut etre trs tres cher !
(2) Faire une doc utilisateur pour lurette (moins urgent depuis qu'il y
a lurettetop et xlurette...)
......@@ -80,6 +77,8 @@
* Faire l'elimination des DAGS, ie,
finir la fonction duplicate_graph_from_node automata.ml
* ZZZ Changer le epsilon en 1/10^p !!!!!
* faire un passage sur map vs rev_map
......
......@@ -28,6 +28,11 @@
<class>GtkNotebook</class>
<name>notebook1</name>
<can_focus>True</can_focus>
<accelerator>
<modifiers>GDK_CONTROL_MASK</modifiers>
<key>GDK_Tab</key>
<signal>switch_page</signal>
</accelerator>
<show_tabs>True</show_tabs>
<show_border>True</show_border>
<tab_pos>GTK_POS_TOP</tab_pos>
......@@ -68,6 +73,7 @@
<widget>
<class>GtkTable</class>
<name>table2</name>
<height>150</height>
<rows>5</rows>
<columns>3</columns>
<homogeneous>False</homogeneous>
......@@ -843,7 +849,7 @@ scade
<class>GtkLabel</class>
<child_name>Notebook:tab</child_name>
<name>stderr_thumbnail</name>
<label>Misc outputs </label>
<label> Misc outputs </label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0.5</xalign>
......@@ -858,7 +864,6 @@ scade
<class>GtkHBox</class>
<name>hbox1</name>
<border_width>11</border_width>
<height>72</height>
<homogeneous>False</homogeneous>
<spacing>4</spacing>
<child>
......@@ -1235,7 +1240,7 @@ scade
<tooltip>Try one formula</tooltip>
<can_focus>True</can_focus>
<label>One </label>
<active>True</active>
<active>False</active>
<draw_indicator>True</draw_indicator>
<child>
<padding>0</padding>
......@@ -1529,7 +1534,7 @@ scade
<widget>
<class>GtkRadioButton</class>
<name>radiobutton_draw_all</name>
<name>radiobutton_draw_all_vertices</name>
<tooltip>Try all the possible combination of values of vertices</tooltip>
<can_focus>True</can_focus>
<label>All </label>
......@@ -1544,13 +1549,13 @@ scade
<widget>
<class>GtkRadioButton</class>
<name>radiobuttondraw_some</name>
<name>radiobutton_draw_some_vertices</name>
<tooltip>Try some of the polyhedra vertices (cf the lhs spin button)</tooltip>
<can_focus>True</can_focus>
<label>Some</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
<group>radiobutton_draw_all</group>
<group>radiobutton_draw_all_vertices</group>
<child>
<padding>0</padding>
<expand>False</expand>
......@@ -1733,7 +1738,7 @@ scade
<widget>
<class>GtkRadioButton</class>
<name>radiobutton10</name>
<name>radiobutton_efficient_draw</name>
<tooltip>Favour efficiency over fairness. This means that the draw of numric variable will not be really fair (cf lucky reference manual for more explanation).</tooltip>
<can_focus>True</can_focus>
<label>Efficiency</label>
......
......@@ -26,6 +26,14 @@ let notebook1 = GPack.notebook
()
in
let _ = GtkBase.Widget.set_can_focus notebook1#as_widget true in
let _ = notebook1#misc#add_accelerator
~group:accel_group
GdkKeysyms._Tab
~sgn:{ GtkSignal.name = "switch_page";
GtkSignal.marshaller = GtkSignal.marshal_unit ;
GtkSignal.classe = `base }
~modi:[`CONTROL;]
in
let run_panel = GPack.paned
`VERTICAL~handle_size:10
~border_width:3
......@@ -48,6 +56,7 @@ let table2 = GPack.table
~row_spacings:0
~col_spacings:0
~homogeneous:false
~height:150
~packing:frame1#add
()
in
......@@ -541,7 +550,7 @@ let _ = GtkBase.Widget.set_can_focus error_window#as_widget true in
let _ = GtkBase.Widget.set_can_default error_window#as_widget true in
let _ = GtkBase.Widget.grab_default error_window#as_widget in
let stderr_thumbnail = GMisc.label
~text: "Misc outputs "
~text: " Misc outputs "
~xalign:0.5
~yalign:0.5
~xpad:0
......@@ -552,7 +561,6 @@ in
let hbox1 = GPack.hbox
~spacing:4
~homogeneous:false
~height:72
~packing:(run_panel#add )
()
in
......@@ -816,7 +824,7 @@ let radiobutton_draw_one_formula = GButton.radio_button
)
~label: "One "
~draw_indicator:true
~active:true
~active:false
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_draw_one_formula#as_widget true in
......@@ -1047,7 +1055,7 @@ let label38 = GMisc.label
~width:210
()
in
let radiobutton_draw_all = GButton.radio_button
let radiobutton_draw_all_vertices = GButton.radio_button
~packing:(hbox22#pack ~padding:0
~fill:false
~expand:false
......@@ -1057,10 +1065,10 @@ let radiobutton_draw_all = GButton.radio_button
~active:true
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_draw_all#as_widget true in
let _ = tooltips#set_tip ~text:"Try all the possible combination of values of vertices" radiobutton_draw_all#coerce in
let radiobuttondraw_some = GButton.radio_button
~group:radiobutton_draw_all#group
let _ = GtkBase.Widget.set_can_focus radiobutton_draw_all_vertices#as_widget true in
let _ = tooltips#set_tip ~text:"Try all the possible combination of values of vertices" radiobutton_draw_all_vertices#coerce in
let radiobutton_draw_some_vertices = GButton.radio_button
~group:radiobutton_draw_all_vertices#group
~packing:(hbox22#pack ~padding:0
~fill:false
~expand:false
......@@ -1070,8 +1078,8 @@ let radiobuttondraw_some = GButton.radio_button
~active:false
()
in
let _ = GtkBase.Widget.set_can_focus radiobuttondraw_some#as_widget true in
let _ = tooltips#set_tip ~text:"Try some of the polyhedra vertices (cf the lhs spin button)" radiobuttondraw_some#coerce in
let _ = GtkBase.Widget.set_can_focus radiobutton_draw_some_vertices#as_widget true in
let _ = tooltips#set_tip ~text:"Try some of the polyhedra vertices (cf the lhs spin button)" radiobutton_draw_some_vertices#coerce in
let vertices_nb = GEdit.spin_button
~adjustment:(GData.adjustment~value:1.
~lower:0.
......@@ -1178,6 +1186,54 @@ let user_seed = GEdit.spin_button
in
let _ = GtkBase.Widget.set_can_focus user_seed#as_widget true in
let _ = tooltips#set_tip ~text:"The seed used (if the Manual button is selected)" user_seed#coerce in
let hbox33 = GPack.hbox
~spacing:0
~homogeneous:false
~packing:(vbox9#pack ~padding:0
~fill:true
~expand:true
)
()
in
let label60 = GMisc.label
~text: " Draw Fairness versus Efficiency "
~packing:(hbox33#pack ~padding:0
~fill:false
~expand:false
)
~xalign:0.5
~yalign:0.5
~xpad:0
~ypad:0
~line_wrap:true
~width:220
()
in
let radiobutton_fair_draw = GButton.radio_button
~packing:(hbox33#pack ~padding:0
~fill:false
~expand:false
)
~label: "Fairness"
~draw_indicator:true
~active:false
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_fair_draw#as_widget true in
let _ = tooltips#set_tip ~text:"Favour the draw fairness over efficiency. " radiobutton_fair_draw#coerce in
let radiobutton_efficient_draw = GButton.radio_button
~group:radiobutton_fair_draw#group
~packing:(hbox33#pack ~padding:0
~fill:false
~expand:false
)
~label: "Efficiency"
~draw_indicator:true
~active:true
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_efficient_draw#as_widget true in
let _ = tooltips#set_tip ~text:"Favour efficiency over fairness. This means that the draw of numric variable will not be really fair (cf lucky reference manual for more explanation)." radiobutton_efficient_draw#coerce in
let hbox2 = GPack.hbox
~spacing:0
~homogeneous:false
......@@ -1325,53 +1381,6 @@ let radiobutton_display_local_no = GButton.radio_button
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_display_local_no#as_widget true in
let hbox12 = GPack.hbox
~spacing:0
~homogeneous:false
~packing:(vbox9#pack ~padding:0
~fill:false
~expand:false
)
()
in
let label21 = GMisc.label
~text: " Use the progress bar "
~packing:(hbox12#pack ~padding:0
~fill:false
~expand:false
)
~xalign:0.5
~yalign:0.5
~xpad:0
~ypad:0
~line_wrap:true
~width:220
()
in
let radiobutton_show_step_on = GButton.radio_button
~packing:(hbox12#pack ~padding:0
~fill:false
~expand:false
)
~label: "Yes"
~draw_indicator:true
~active:true
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_show_step_on#as_widget true in
let _ = tooltips#set_tip ~text:"Migth slow down the execution a smidgin" radiobutton_show_step_on#coerce in
let radiobutton_show_step_off = GButton.radio_button
~group:radiobutton_show_step_on#group
~packing:(hbox12#pack ~padding:0
~fill:false
~expand:false
)
~label: "No"
~draw_indicator:true
~active:false
()
in
let _ = GtkBase.Widget.set_can_focus radiobutton_show_step_off#as_widget true in
let hbox6 = GPack.hbox
~spacing:0
~homogeneous:false
......@@ -1464,52 +1473,6 @@ let label56 = GMisc.label
~line_wrap:false
()
in
let hbox30 = GPack.hbox
~spacing:0
~homogeneous:false
~packing:(vbox9#pack ~padding:0
~fill:true
~expand:true
)
()
in
let save_session_label = GMisc.label
~text: " Saved session "
~packing:(hbox30#pack ~padding:0
~fill:false
~expand:false
)
~xalign:0.5
~yalign:0.5
~xpad:0
~ypad:0
~line_wrap:false
()
in
let saved_session_file = GEdit.entry
~packing:(hbox30#pack ~padding:0
~fill:false
~expand:false
)