From fe6d609c14ebfa5eeba5890da224977e32ae004b Mon Sep 17 00:00:00 2001 From: Erwan Jahier Date: Wed, 17 Mar 2010 15:35:35 +0100 Subject: [PATCH] lurette 0.136 Mon, 19 May 2003 11:40:43 +0200 by jahier Parent-Version: 0.135 Version-Log: source/parse_env.ml: source/formula.ml: source/formula.mli: source/env_state.ml: source/env_state.mli: source/automata.ml: Change the format of pragma to stick with how they are defined in the DC ref man. Also take into account programs that were added by yvan that let one know which control point in the source lutin program each lucky node correspond to. source/lurette.ml: Display a better error msg when the sut and env vars do not match. source/sim2chro.ml: Variables were not display in the same order as in their declaration (bug introduced in the previous change). source/lurettetop.ml: The clean command does not remove everything in the tmp dir but only the generated files. ihm/xlurette/xlurette_*.ml: The naming of rif files was not working properly. Add a clean-up button. user-rules: : Abstract away a few hard-code env var so that its works on cygwin Project-Description: Lurette --- .lurette.prcs_aux | 92 +- Makefile.common.source | 8 +- OcamlMakefile | 8 +- TODO | 23 +- cuddaux/Makefile | 10 +- ihm/xlurette/makefile | 33 +- ihm/xlurette/xlurette.glade | 23 +- ihm/xlurette/xlurette_glade_interface.ml | 25 +- ihm/xlurette/xlurette_glade_main.ml | 64 +- lurette.prj | 131 +- mlcuddidl/Makefile | 10 +- mlcuddidl/bdd_caml.c | 2204 ---------------------- mlcuddidl/idd_caml.c | 630 ------- mlcuddidl/manager_caml.c | 1560 --------------- mlcuddidl/rdd_caml.c | 1577 ---------------- polka/Makefile.config | 12 +- polka/caml/Makefile.depend | 17 - share/Makefile.lurette.in | 2 +- share/configure.in | 29 +- share/lucky_init.csh.in | 3 +- share/lucky_init.sh.in | 3 +- source/Makefile | 78 +- source/Makefile.lucky | 2 +- source/Makefile.lurette_lib | 2 +- source/automata.ml | 31 +- source/env_state.ml | 20 + source/env_state.mli | 9 + source/formula.ml | 6 +- source/formula.mli | 6 +- source/luc_exe.ml | 3 +- source/lurette.ml | 52 +- source/lurettetop.ml | 6 +- source/ne.ml | 7 +- source/parse_env.ml | 100 +- source/print.ml | 4 +- source/sim2chro.ml | 20 +- source/util.ml | 10 +- test/ControleurPorte.rif.exp | 200 +- test/cudd_gc_problem.rif.exp | 2 +- test/gyro.rif.exp | 120 +- test/heater_float.rif.exp | 62 +- test/heater_int.rif.exp | 64 +- test/losange-3d.rif.exp | 2 +- test/temp_float.luc | 10 +- test/time-ecrins.exp | 120 +- test/time-ecrins.res | 120 +- test/time-ossau.exp | 124 +- test/time-ossau.res | 124 +- user-rules | 96 +- 49 files changed, 1065 insertions(+), 6799 deletions(-) delete mode 100644 mlcuddidl/bdd_caml.c delete mode 100644 mlcuddidl/idd_caml.c delete mode 100644 mlcuddidl/manager_caml.c delete mode 100644 mlcuddidl/rdd_caml.c diff --git a/.lurette.prcs_aux b/.lurette.prcs_aux index e551290..4843b46 100644 --- a/.lurette.prcs_aux +++ b/.lurette.prcs_aux @@ -2,12 +2,12 @@ ;; REALLY bad things. (Created-By-Prcs-Version 1 3 3) (source/show_env.mli 1091 1033738731 42_show_env.m 1.8) -(source/util.ml 18915 1051024737 35_util.ml 1.45) +(source/util.ml 19131 1053337243 35_util.ml 1.46) (cuddaux/cuddauxGenCof.c 12011 1034006019 c/29_cuddauxGen 1.1) (source/constraint.mli 1601 1045489850 c/18_constraint 1.5) (test/ControleurPorte.lus 3219 1032940601 c/17_Controleur 1.1) (mlcuddidl/Changes 64 1034006019 d/10_Changes 1.1) -(TODO 6007 1052229068 d/22_TODO 1.14) +(TODO 6322 1053337243 d/22_TODO 1.15) (mlcuddidl/rdd.mli 7174 1034006019 c/40_rdd.mli 1.1) (source/ne.mli 2138 1050421093 c/22_ne.mli 1.6) (polka/documentation/polka.texi 109061 1047029868 e/17_polka.texi 1.1) @@ -15,21 +15,19 @@ (cuddaux/Changes 42 1034006019 c/36_Changes 1.1) (mlcuddidl/idd.idl 10595 1034006019 d/1_idd.idl 1.1) (polka/C/internal.c 699 1047029868 e/8_internal.c 1.1) -(mlcuddidl/bdd_caml.c 57199 1034006019 d/4_bdd_caml.c 1.1) (source/solver.ml 31036 1050421093 39_solver.ml 1.47) -(ihm/xlurette/makefile 2804 1052229068 c/16_makefile 1.11) +(ihm/xlurette/makefile 3737 1053337243 c/16_makefile 1.12) (polka/C/internal.h 958 1047029868 e/0_internal.h 1.1) (source/command_line.ml 5079 1050578564 b/20_command_li 1.13) -(test/cudd_gc_problem.rif.exp 7881 1050421093 e/30_cudd_gc_pr 1.1) +(test/cudd_gc_problem.rif.exp 7882 1053337243 e/30_cudd_gc_pr 1.2) (test/ControleurPorte.c 9407 1012914629 b/19_Controleur 1.1) -(share/lucky_init.sh.in 419 1051024737 e/24_lucky_init 1.3) -(mlcuddidl/idd_caml.c 15964 1034006019 c/50_idd_caml.c 1.1) +(share/lucky_init.sh.in 419 1053337243 e/24_lucky_init 1.4) (test/ControleurPorte.h 2306 1012914629 b/18_Controleur 1.1) (doc/synthese 2556 1007379917 b/2_synthese 1.1) (source/command_line.mli 1503 1046074449 b/21_command_li 1.11) -(source/Makefile.lucky 2684 1052229068 b/41_Makefile.i 1.19) -(polka/README 1437 1047029868 e/19_README 1.1) +(source/Makefile.lucky 2694 1053337243 b/41_Makefile.i 1.20) (polka/Makefile.depend 136 1047029868 d/30_Makefile.d 1.1) +(polka/README 1437 1047029868 e/19_README 1.1) (README 2266 1052229068 10_README 1.9) (source/pnumsolver.ml 9273 1045489850 d/23_pnumsolver 1.2) (source/polyhedron.ml 7661 1049961831 d/25_polyhedron 1.5) @@ -40,7 +38,7 @@ (polka/C/cherni.c 28811 1047029868 e/9_cherni.c 1.1) (source/command_line_luc_exe.mli 1187 1050421093 b/34_command_li 1.10) (polka/C/poly.h 4314 1047029868 d/49_poly.h 1.1) -(source/formula.mli 2862 1046682069 44_formula.ml 1.22) +(source/formula.mli 2967 1053337243 44_formula.ml 1.23) (polka/C/cherni.h 2217 1047029868 e/1_cherni.h 1.1) (polka/caml/polka_caml.c 6499 1047029868 d/37_polka_caml 1.1) (test/losange-3d.luc 555 1046768487 d/28_losange-3d 1.2) @@ -58,24 +56,23 @@ (source/automata.mli 3396 1033738731 b/46_automata.m 1.3) (source/print.mli 1136 1045558187 46_print.mli 1.13) (polka/caml/Makefile 6559 1047029868 d/45_Makefile 1.1) -(ihm/xlurette/xlurette_glade_main.ml 30749 1052229068 c/12_xlurette_g 1.19) +(ihm/xlurette/xlurette_glade_main.ml 31329 1053337243 c/12_xlurette_g 1.20) (TAGS 9825 1007379917 21_TAGS 1.6) (polka/C/main.tex 1961 1047029868 e/14_main.tex 1.1) -(ihm/xlurette/xlurette.glade 55996 1052229068 c/13_xlurette.g 1.14) -(mlcuddidl/manager_caml.c 39233 1034006019 c/45_manager_ca 1.1) +(ihm/xlurette/xlurette.glade 56573 1053337243 c/13_xlurette.g 1.15) (test/losange.luc 410 1046768487 d/27_losange.lu 1.2) -(test/gyro.rif.exp 10946 1052229068 e/36_gyro.rif.e 1.1) -(test/time-ecrins.exp 8235 1052229068 d/21_time-ecrin 1.17) +(test/gyro.rif.exp 10946 1053337243 e/36_gyro.rif.e 1.2) +(test/time-ecrins.exp 8227 1053337243 d/21_time-ecrin 1.18) (source/value.ml 2358 1049961831 c/23_value.ml 1.4) (source/gne.ml 2774 1046682069 b/37_gne.ml 1.5) -(source/formula.ml 5962 1046682069 45_formula.ml 1.28) +(source/formula.ml 6028 1053337243 45_formula.ml 1.29) (source/Makefile.gen_fake_lutin 255 1050578564 d/17_Makefile.g 1.2) -(Makefile.common.source 242 1051024737 e/33_Makefile.c 1.2) +(Makefile.common.source 222 1053337243 e/33_Makefile.c 1.3) (polka/C/Makefile 3528 1047029868 e/15_Makefile 1.1) (test/giro/giro.luc 2755 1033738731 c/6_giro.ima 1.4) (source/control.ml 4445 1036675177 c/4_control.ml 1.4) (source/parse_env.mli 1196 1050421093 40_parse_env. 1.14) -(source/env_state.ml 22975 1050578564 51_env_state. 1.42) +(source/env_state.ml 23648 1053337243 51_env_state. 1.43) (polka/caml/matrix.idl 5301 1047029868 d/34_matrix.idl 1.1) (cuddaux/cuddauxAddIte.c 12812 1034006019 c/32_cuddauxAdd 1.1) (source/Makefile.lurettetop 375 1050578564 d/14_Makefile.l 1.3) @@ -85,7 +82,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) (share/Makefile.test 1645 1051024737 c/25_user-rules 1.6) -(source/Makefile.lurette_lib 2397 1052229068 c/2_Makefile.l 1.19) +(source/Makefile.lurette_lib 2392 1053337243 c/2_Makefile.l 1.20) (test/heater_int.lus 170 1020068208 b/43_heater_int 1.1) (mlcuddidl/bdd.idl 18233 1034006019 d/7_bdd.idl 1.1) (polka/caml/polka_parser.mly 1729 1047029868 d/40_polka_pars 1.1) @@ -94,7 +91,7 @@ (polka/caml/vector.idl 8669 1047029868 d/35_vector.idl 1.1) (mlcuddidl/README 1574 1034006019 d/8_README 1.1) (source/sim2chro.mli 1545 1052229068 b/23_sim2chro.m 1.7) -(share/lucky_init.csh.in 420 1051024737 e/23_lucky_init 1.3) +(share/lucky_init.csh.in 419 1053337243 e/23_lucky_init 1.4) (ID_EN_VRAC 2184 1002196285 0_ID_EN_VRAC 1.1) (polka/C/vector.h 2103 1047029868 d/47_vector.h 1.1) (polka/C/satmat.c 6254 1047029868 e/4_satmat.c 1.1) @@ -105,39 +102,39 @@ (source/store.ml 31409 1050421093 b/27_rnumsolver 1.24) (mlcuddidl/mtbdd.mli 4395 1034006019 c/43_mtbdd.mli 1.1) (polka/C/satmat.h 1254 1047029868 d/48_satmat.h 1.1) -(source/ne.ml 9564 1050421093 c/21_ne.ml 1.7) +(source/ne.ml 9591 1053337243 c/21_ne.ml 1.8) (demo-xlurette/chaudiere/chaudiere_oracle.lus 107 1031732392 c/8_chaudiere_ 1.1) -(source/parse_env.ml 41134 1051024737 41_parse_env. 1.43) -(share/Makefile.lurette.in 783 1052229068 b/38_Makefile.l 1.22) +(source/parse_env.ml 42920 1053337243 41_parse_env. 1.44) +(share/Makefile.lurette.in 777 1053337243 b/38_Makefile.l 1.23) (mlcuddidl/session.ml 603 1034006019 c/37_session.ml 1.1) (source/graph.mli 2185 1037625990 13_graph.mli 1.10) (source/store.mli 2891 1046074449 b/26_rnumsolver 1.16) -(test/time-ossau.res 8238 1052229068 b/49_time.res 1.43) -(source/automata.ml 19223 1046682069 b/47_automata.m 1.7) +(test/time-ossau.res 8239 1053337243 b/49_time.res 1.44) +(source/automata.ml 19521 1053337243 b/47_automata.m 1.8) (Makefile 68 1051024737 d/13_Makefile 1.4) (cuddaux/cuddauxBridge.c 6099 1034006019 c/31_cuddauxBri 1.1) -(test/heater_float.rif.exp 1040 1052229068 b/30_heater_flo 1.14) -(cuddaux/Makefile 3344 1052229068 c/35_Makefile 1.6) +(test/heater_float.rif.exp 1040 1053337243 b/30_heater_flo 1.15) +(cuddaux/Makefile 3326 1053337243 c/35_Makefile 1.7) (polka/C/bit.c 3026 1047029868 e/10_bit.c 1.1) -(test/time-ossau.exp 8238 1052229068 b/48_time.exp 1.40) -(source/print.ml 5787 1045558187 47_print.ml 1.22) +(test/time-ossau.exp 8239 1053337243 b/48_time.exp 1.41) +(source/print.ml 5794 1053337243 47_print.ml 1.23) (mlcuddidl/macros.m4 11290 1034006019 c/49_macros.m4 1.1) (polka/caml/polkaIO.ml 1652 1047029868 d/44_polkaIO.ml 1.1) -(test/heater_int.rif.exp 812 1052229068 b/28_heater_int 1.12) +(test/heater_int.rif.exp 812 1053337243 b/28_heater_int 1.13) (source/parse_poc.ml 6265 1047029868 d/15_parse_poc. 1.2) (polka/C/bit.h 1380 1047029868 e/2_bit.h 1.1) (demo-xlurette/chaudiere/chaudiere.luc 446 1032789516 c/11_chaudiere. 1.5) (test/giro/allocator.lus 1087 1031732392 c/5_allocator. 1.1) (cuddaux/README 1427 1034006019 c/34_README 1.1) -(source/lurettetop.ml 33461 1052229068 c/1_lurettetop 1.32) +(source/lurettetop.ml 33530 1053337243 c/1_lurettetop 1.33) (mlcuddidl/bdd.ml 10889 1034006019 d/6_bdd.ml 1.1) (source/constraint.ml 2762 1050421093 c/19_constraint 1.7) -(polka/caml/Makefile.depend 744 1047029868 d/32_Makefile.d 1.1) +(polka/caml/Makefile.depend 0 1053337243 d/32_Makefile.d 1.2) (doc/archi.fig 3693 1003928781 20_archi.fig 1.1) -(ihm/xlurette/xlurette_glade_interface.ml 37539 1052229068 c/15_xlurette_g 1.13) +(ihm/xlurette/xlurette_glade_interface.ml 38030 1053337243 c/15_xlurette_g 1.14) (test/losange-3d2.luc 368 1050421093 e/32_losange-3d 1.1) (test/Makefile 26 1051024737 c/0_Makefile 1.12) -(user-rules 20654 1052229068 c/14_myrules 1.33) +(user-rules 21186 1053337243 c/14_myrules 1.34) (mlcuddidl/cudd_caml.c 22890 1034006019 d/3_cudd_caml. 1.1) (test/usager.luc 508 1046682069 b/14_usager.env 1.11) (polka/C/config.h 77 1047029868 e/13_config.h 1.1) @@ -145,15 +142,14 @@ (mlcuddidl/cudd_caml.h 1210 1034006019 d/2_cudd_caml. 1.1) (source/show_env.ml 3642 1037192189 43_show_env.m 1.16) (polka/C/essai.c 1001 1047029868 e/11_essai.c 1.1) -(mlcuddidl/rdd_caml.c 41613 1034006019 c/39_rdd_caml.c 1.1) (doc/Interface_draft 5232 1003928781 19_Interface_ 1.1) (mlcuddidl/rdd.idl 14806 1034006019 c/42_rdd.idl 1.1) (polka/sedscript 261 1047029868 d/31_sedscript 1.1) -(OcamlMakefile 22837 1050578564 17_OcamlMakef 1.49) +(OcamlMakefile 22849 1053337243 17_OcamlMakef 1.50) (source/lurette.mli 456 1049961831 11_lurette.ml 1.13) (polka/caml/polka.ml 5485 1047029868 d/39_polka.ml 1.1) (mlcuddidl/rdd.ml 8746 1034006019 c/41_rdd.ml 1.1) -(share/configure.in 2683 1052229068 d/11_configure. 1.6) +(share/configure.in 2738 1053337243 d/11_configure. 1.7) (polka/C/matrix.c 19090 1047029868 e/7_matrix.c 1.1) (test/tram.luc 1092 1046682069 b/15_tram.env 1.10) (share/Makefile.common.in 189 1052229068 d/12_Makefile.c 1.5) @@ -162,8 +158,8 @@ (polka/C/matrix.h 3461 1047029868 d/51_matrix.h 1.1) (source/pnumsolver.mli 2322 1045489850 d/24_pnumsolver 1.2) (mlcuddidl/sedscript 203 1034006019 c/38_sedscript 1.1) -(source/env_state.mli 6976 1050421093 50_env_state. 1.29) -(test/ControleurPorte.rif.exp 4676 1052229068 b/29_Controleur 1.14) +(source/env_state.mli 7269 1053337243 50_env_state. 1.30) +(test/ControleurPorte.rif.exp 4676 1053337243 b/29_Controleur 1.15) (source/show_luc.ml 3449 1052229068 e/25_show_luc.m 1.3) (doc/automata_format 0 1007379917 b/3_automata_f 1.1) (polka/caml/polka_lexer.mli 200 1047029868 d/41_polka_lexe 1.1) @@ -174,7 +170,7 @@ (polka/caml/polkaIO.mli 1517 1047029868 d/43_polkaIO.ml 1.1) (source/parse_poc.mli 1821 1047029868 d/29_parse_poc. 1.1) (source/Makefile.gen_stubs 219 1050578564 b/42_Makefile.g 1.6) -(test/temp_float.luc 744 1052229068 b/51_temp_float 1.7) +(test/temp_float.luc 731 1053337243 b/51_temp_float 1.8) (polka/C/polka.c 4969 1047029868 e/6_polka.c 1.1) (source/polyhedron.mli 940 1045489850 d/26_polyhedron 1.1) (mlcuddidl/bdd.mli 8573 1034006019 d/5_bdd.mli 1.1) @@ -182,21 +178,21 @@ (source/command_line_luc_exe.ml 3533 1050578564 b/33_command_li 1.14) (source/lurette_exe.c 220 1050421093 e/27_lurette_ex 1.2) (source/env.ml 7849 1050421093 16_env.ml 1.30) -(test/time-ecrins.res 8235 1052229068 d/20_time-ecrin 1.17) +(test/time-ecrins.res 8227 1053337243 d/20_time-ecrin 1.18) (source/value.mli 1100 1049961831 c/24_value.mli 1.2) -(polka/Makefile.config 1677 1051024737 e/20_Makefile.c 1.4) (test/vrai_tram.lus 564 1027066799 b/6_vrai_tram. 1.2) -(source/Makefile 7458 1052229068 c/20_Makefile 1.15) +(polka/Makefile.config 1683 1053337243 e/20_Makefile.c 1.5) +(source/Makefile 7037 1053337243 c/20_Makefile 1.16) (source/graph.ml 2339 1037625990 14_graph.ml 1.8) (test/cudd_gc_problem.luc 227680 1050421093 e/29_cudd_gc_pr 1.1) (demo-xlurette/chaudiere/chaudiere_ctrl.lus 177 1031732392 c/9_chaudiere_ 1.1) -(test/losange-3d.rif.exp 2675 1050421093 e/31_losange-3d 1.1) +(test/losange-3d.rif.exp 2676 1053337243 e/31_losange-3d 1.2) (polka/documentation/Makefile 476 1047029868 e/18_Makefile 1.1) -(source/sim2chro.ml 2944 1052229068 b/24_sim2chro.m 1.16) +(source/sim2chro.ml 2949 1053337243 b/24_sim2chro.m 1.17) (cuddaux/cuddauxTDGenCof.c 15712 1034006019 c/26_cuddauxTDG 1.1) -(source/luc_exe.ml 14047 1052229068 b/32_ima_exe.ml 1.31) +(source/luc_exe.ml 14073 1053337243 b/32_ima_exe.ml 1.32) (source/gne.mli 1557 1046682069 b/36_gne.mli 1.5) -(source/lurette.ml 17856 1052229068 12_lurette.ml 1.68) +(source/lurette.ml 18378 1053337243 12_lurette.ml 1.69) (polka/C/Makefile.depend 1081 1047029868 d/46_Makefile.d 1.1) (doc/ocamldoc.hva 313 1008328137 b/13_ocamldoc.h 1.1) (cuddaux/cuddauxCompose.c 13638 1034006019 c/30_cuddauxCom 1.1) @@ -207,4 +203,4 @@ (share/gnuplot-rif 974 1052229068 e/34_gnuplot-ri 1.1) (source/eval.mli 1265 1050421093 48_eval.mli 1.11) (source/Makefile.show_luc 1033 1050578564 b/40_Makefile.s 1.9) -(mlcuddidl/Makefile 7412 1052229068 d/9_Makefile 1.6) +(mlcuddidl/Makefile 7387 1053337243 d/9_Makefile 1.7) diff --git a/Makefile.common.source b/Makefile.common.source index 623a535..e9a5004 100644 --- a/Makefile.common.source +++ b/Makefile.common.source @@ -5,10 +5,10 @@ # Where to find libs -INCDIRS = /home/jahier/$(HOST_TYPE)/lib -LIBDIRS = /home/jahier/$(HOST_TYPE)/lib +INCDIRS = $(HOME)/$(HOST_TYPE)/lib +LIBDIRS = $(HOME)/$(HOST_TYPE)/lib -OCAMLMAKEFILE = /home/jahier/lurette/OcamlMakefile +OCAMLMAKEFILE = $(HOME)/lurette/OcamlMakefile -LURETTE_PATH = /home/jahier/lurette +LURETTE_PATH = $(HOME)/lurette diff --git a/OcamlMakefile b/OcamlMakefile index e145bac..5c4f6c5 100644 --- a/OcamlMakefile +++ b/OcamlMakefile @@ -5,7 +5,7 @@ # For updates see: # http://www.oefai.at/~markus/ocaml_sources # -# $Id: OcamlMakefile 1.49 Thu, 17 Apr 2003 13:22:44 +0200 jahier $ +# $Id: OcamlMakefile 1.50 Mon, 19 May 2003 11:40:43 +0200 jahier $ # ########################################################################### @@ -172,13 +172,13 @@ NCRESULT := $(addsuffix $(NCSUFFIX), $(RESULT)) TOPRESULT := $(addsuffix $(TOPSUFFIX), $(RESULT)) ifndef OCAMLC - OCAMLC := ocamlc + OCAMLC := ocamlc.opt endif export OCAMLC ifndef OCAMLOPT - OCAMLOPT := ocamlopt + OCAMLOPT := ocamlopt.opt endif export OCAMLOPT @@ -238,7 +238,7 @@ endif export CAMLP4 ifndef OCAMLDOC - OCAMLDOC := ocamldoc + OCAMLDOC := ocamldoc.opt endif export OCAMLDOC diff --git a/TODO b/TODO index 1ab1c97..f62d18c 100644 --- a/TODO +++ b/TODO @@ -1,12 +1,23 @@ *********** BUGS +* Attention, les gens ne peuvent pas appeler leur variables ok !!! + +* Quand on modifie le .lus, je ne recompile pas tout ce qu'il semble t'il ?? + + *********** A faire maintenant -* attention, xlurette suppose que j'ai du lustre (appel de lusinfo), - alors que j'avais dit que ca aurait pu etre du c ... + +* Si l'execution se termine normalement (ie, a la fin de l'expression +reguliere), changer le message d'erreur. + +* mettre qques part que j'utilise ocaml, camlidl cuddaux, mlcuddidl, + polka, gmp,autoconf, make, gcc, emacs, latex, dot, gtk, sim2chro, ... + +* Mettre les .c generes dans share * lurettetop :utilise Filename.temp_file pour creer un repertoire temporaire pour lurette. @@ -26,8 +37,6 @@ la verif de type en meme temps que le parsing -> (1) Portage pour scade et esterel windows ... -> structure, tableau, types structures, etc. -* le losange ne passe pas avec polkai et passe avec polkag. - Regarder pourquoi et dire à Bertrand (2) Traiter les variables stables (signaux purs) @@ -38,6 +47,10 @@ la verif de type en meme temps que le parsing -> (2) Faire une doc utilisateur pour lurette (moins urgent depuis qu'il y a lurettetop et xlurette...) + +* le losange ne passe pas avec polkai et passe avec polkag. + Regarder pourquoi et dire à Bertrand + * Inferer la croix, plutot que de verifier !!! * La notion d'epaisseur est mal branlée, surtout en presence de var @@ -89,7 +102,7 @@ la verif de type en meme temps que le parsing -> * Chercher a detecter des egalites lors de l'ajout d'une inegalité. - (cf code commenter dans store.ml) + (cf code commenté dans store.ml) * xlurette : - bouton sim2chro ; mettre les locales en vert -> pragma dans sim2chro !! diff --git a/cuddaux/Makefile b/cuddaux/Makefile index 764d569..515ea16 100644 --- a/cuddaux/Makefile +++ b/cuddaux/Makefile @@ -12,18 +12,20 @@ SRCDIR = $(shell pwd) # # XXX autoconf -CUDD_INSTALL = /home/jahier/$(HOSTTYPE) + + +CUDD_INSTALL = $(HOME)/$(HOSTTYPE) ifndef BIN_INSTALL_DIR - BIN_INSTALL_DIR := /home/jahier/$(HOSTTYPE)/bin + BIN_INSTALL_DIR := $(HOME)/$(HOSTTYPE)/bin endif ifndef INC_INSTALL_DIR - INC_INSTALL_DIR := /home/jahier/$(HOSTTYPE)/include + INC_INSTALL_DIR := $(HOME)/$(HOSTTYPE)/include endif ifndef LIB_INSTALL_DIR - LIB_INSTALL_DIR := /home/jahier/$(HOSTTYPE)/lib + LIB_INSTALL_DIR := $(HOME)/$(HOSTTYPE)/lib endif diff --git a/ihm/xlurette/makefile b/ihm/xlurette/makefile index 071f6bd..ec5b282 100644 --- a/ihm/xlurette/makefile +++ b/ihm/xlurette/makefile @@ -30,9 +30,37 @@ opt: dummy mlglade xlurette.glade mv xlurette_glade_interface.ml xlurette_glade_interface.ml0 cat xlurette_glade_interface.ml0 \ - | sed -e 's/\"pixmaps\//((Unix.getenv \"LURETTE_PATH\") \^ \"\/share\/pixmaps\/\" \^ \"/' \ + | sed -e 's/\"pixmaps\//((Unix.getenv \"PIXMAP_DIR\") \^ \"/' \ | sed -e 's/.xpm\"/.xpm\")/' \ > xlurette_glade_interface.ml + ocamlopt.opt -verbose -c -I +lablgtk -labels -c xlurette_glade_interface.ml + ocamlopt.opt -verbose -c -I +lablgtk -labels -c xlurette_glade_callbacks.ml + ocamlopt.opt -verbose -c -pp "camlp4o" -I +lablgtk $(THREAD) -c xlurette_glade_main.ml + ocamlopt.opt -verbose -I +lablgtk -I +str -labels -o xlurette unix.cmxa lablgtk.cmxa gtkInit.cmx \ + xlurette_glade_callbacks.cmx xlurette_glade_interface.cmx xlurette_glade_main.cmx + + +try: dummy + mlglade xlurette.glade + mv xlurette_glade_interface.ml xlurette_glade_interface.ml0 + cat xlurette_glade_interface.ml0 \ + | sed -e 's/\"pixmaps\//\"/' \ + | sed -e 's/.xpm\"/.xpm\"/' \ + > xlurette_glade_interface.ml + ocamlopt.opt -c -I +lablgtk -labels -c xlurette_glade_interface.ml + ocamlopt.opt -c -I +lablgtk -labels -c xlurette_glade_callbacks.ml + ocamlopt.opt -c -pp "camlp4o" -I +lablgtk $(THREAD) -c xlurette_glade_main.ml + ocamlopt.opt -I +lablgtk -I +str -labels -o xlurette unix.cmxa lablgtk.cmxa gtkInit.cmx \ + xlurette_glade_callbacks.cmx xlurette_glade_interface.cmx xlurette_glade_main.cmx + + +cyg: dummy + mlglade xlurette.glade + mv xlurette_glade_interface.ml xlurette_glade_interface.ml0 + cat xlurette_glade_interface.ml0 \ + | sed -e 's/\"pixmaps\//(Filename.concat (Unix.getenv \"LURETTE_PATH\") (Filename.concat \"share\" (Filename.concat \"pixmaps\" \"/' \ + | sed -e 's/.xpm\"/.xpm\")))/' \ + > xlurette_glade_interface.ml ocamlopt.opt -c -I +lablgtk -labels -c xlurette_glade_interface.ml ocamlopt.opt -c -I +lablgtk -labels -c xlurette_glade_callbacks.ml ocamlopt.opt -c -pp "camlp4o" -I +lablgtk $(THREAD) -c xlurette_glade_main.ml @@ -52,9 +80,6 @@ opt_opt: dummy ocamlopt.opt -I +lablgtk -I +str -labels -o xlurette unix.cmxa lablgtk.cmxa gtkInit.cmx \ xlurette_glade_callbacks.cmx xlurette_glade_interface.cmx xlurette_glade_main.cmx -# ocamlopt.opt -cclib /usr/openwin/lib/libXext.a -cclib /usr/openwin/lib/libX11.a -cclib /usr/local/lib/libglib.a -cclib /usr/local/lib/libgdk.a -cclib /usr/local/lib/libgtk.a -cclib /usr/local/lib/libgmodule.a -cclib -L/usr/openwin/lib -I /home/jahier/sparc-sun/lib -I +lablgtk -I +str -labels -o xlurette str.cmxa unix.cmxa lablgtk.cmxa gtkInit.cmx xlurette_glade_callbacks.cmx xlurette_glade_interface.cmx xlurette_glade_main.cmx -cclib -v - - diff --git a/ihm/xlurette/xlurette.glade b/ihm/xlurette/xlurette.glade index a3dfa4c..cc1629b 100644 --- a/ihm/xlurette/xlurette.glade +++ b/ihm/xlurette/xlurette.glade @@ -626,7 +626,7 @@ GtkScrolledWindow - scrolledwindow2 + scrolled_output_window GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_UPDATE_CONTINUOUS @@ -643,7 +643,7 @@ True True True - False + True @@ -750,7 +750,24 @@ GtkButton Toolbar:button - button36 + clean_up_button + 4 + 150 + 100 + Clean-up intermediary files (to try when xlurette seems to be broken) + + clicked + on_clean_up_button_clicked + Fri, 16 May 2003 14:18:29 GMT + + + clean-up.xpm + + + + GtkButton + Toolbar:button + button38 4 150 100 diff --git a/ihm/xlurette/xlurette_glade_interface.ml b/ihm/xlurette/xlurette_glade_interface.ml index f08c4c1..22c8d26 100644 --- a/ihm/xlurette/xlurette_glade_interface.ml +++ b/ihm/xlurette/xlurette_glade_interface.ml @@ -404,16 +404,16 @@ let _ = tooltips#set_tip ~text:"Environment file name: its input (resp output) v let _ = env_name_entry#set_editable true in let _ = env_name_entry#set_visibility true in let _ = env_name_entry#set_max_length 0 in -let scrolledwindow2 = GBin.scrolled_window +let scrolled_output_window = GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ~packing:(vpaned2#add ) () in let output_window = GEdit.text -~packing:scrolledwindow2#add +~packing:scrolled_output_window#add ~height:300 -~editable:false +~editable:true () in @@ -466,12 +466,18 @@ let button20 = toolbar4#insert_button () in let _ = tooltips#set_tip ~text:"Stop the current run" button20#coerce in -let button36 = toolbar4#insert_button +let clean_up_button = toolbar4#insert_button +~text: " " +~icon:(GMisc.pixmap (GDraw.pixmap_from_xpm ~file:((Unix.getenv "LURETTE_PATH") ^ "/share/pixmaps/" ^ "clean-up.xpm") ()) ())#coerce +() +in +let _ = tooltips#set_tip ~text:"Clean-up intermediary files (to try when xlurette seems to be broken)" clean_up_button#coerce in +let button38 = toolbar4#insert_button ~text: " " ~icon:(GMisc.pixmap (GDraw.pixmap_from_xpm ~file:((Unix.getenv "LURETTE_PATH") ^ "/share/pixmaps/" ^ "close.xpm") ()) ())#coerce () in -let _ = tooltips#set_tip ~text:"Quit xlurette" button36#coerce in +let _ = tooltips#set_tip ~text:"Quit xlurette" button38#coerce in let label9 = GMisc.label ~text: "Run " ~xalign:0.5 @@ -1247,8 +1253,10 @@ let _ = button14#connect#clicked ~callback:callbacks#call_sim2chro_clicked in let _ = button2#connect#clicked ~callback:callbacks#save_session in -let _ = button36#connect#clicked +let _ = button38#connect#clicked ~callback:callbacks#quit in +let _ = clean_up_button#connect#clicked + ~callback:callbacks#on_clean_up_button_clicked in let _ = button20#connect#clicked ~callback:callbacks#stop_run in let _ = button19#connect#clicked @@ -1310,7 +1318,7 @@ method oracle_node = oracle_node method oracle_node_entry = oracle_node method env_name = env_name method env_name_entry = env_name -method scrolledwindow2 = scrolledwindow2 +method scrolled_output_window = scrolled_output_window method output_window = output_window method hbox1 = hbox1 method toolbar4 = toolbar4 @@ -1318,7 +1326,8 @@ method button17 = button17 method button18 = button18 method button19 = button19 method button20 = button20 -method button36 = button36 +method clean_up_button = clean_up_button +method button38 = button38 method label9 = label9 method option_panel = option_panel method vbox8 = vbox8 diff --git a/ihm/xlurette/xlurette_glade_main.ml b/ihm/xlurette/xlurette_glade_main.ml index e6412e2..135c1bb 100644 --- a/ihm/xlurette/xlurette_glade_main.ml +++ b/ihm/xlurette/xlurette_glade_main.ml @@ -4,12 +4,13 @@ open GtkEdit open GtkList let debug = -(* true *) - false +(* true *) + false let pid = ref 0 let lpid = ref 0 +let rif_file = ref "" (* Flag telling if any saved package need to be restored *) let restore = ref false @@ -36,6 +37,7 @@ type tok = Genlex.token Stream.t let ok_str = " OK! " + (**************************************************************************) let (give_fresh_file_name : string -> string -> string) = @@ -44,16 +46,15 @@ let (give_fresh_file_name : string -> string -> string) = fun i -> let file = (prefix ^ (string_of_int i) ^ suffix) in if - not (Sys.file_exists file) + Sys.file_exists file then - file - else give_fresh_file_name_aux (i+1) + else + file in give_fresh_file_name_aux 1 -let rif_file = ref "" let get_rif_file _ = !rif_file @@ -153,14 +154,19 @@ let (lusinfo : string -> string list) = in let cmd = ("lusinfo " ^ file_lus ^ " nodes > " ^ file_info) in let _ = - if Sys.file_exists file_info then Sys.remove file_info; if - ((Sys.command cmd) <> 0) - then + Sys.file_exists file_lus + then ( - output_string stdout ("*** lusinfo failed.\n" ^ cmd ^ "\n"); - flush stdout - ) + if Sys.file_exists file_info then Sys.remove file_info; + if + ((Sys.command cmd) <> 0) + then + ( + output_string stdout ("*** lusinfo failed.\n" ^ cmd ^ "\n"); + flush stdout + ) + ); in let ic = open_in file_info in let nodes = readfile_line ic [] in @@ -291,7 +297,13 @@ class customized_callbacks = object(self) method show_step_window () = self#top_step_by_step_window#step_by_step_window#show () + method on_clean_up_button_clicked () = + output_string oc ("clean \n"); + flush oc; + prerr_endline "Clean-up temporary files ..."; + () + (* sut file selection window *) method browse_sut_clicked () = @@ -426,7 +438,9 @@ class customized_callbacks = object(self) method call_sim2chro_clicked () = let cmd_display = - ("set_output " ^ (get_rif_file ()) ^ "\n" ^ "sim2chro\n") in + if (get_rif_file ()) = "" then "" else + ("set_output \"" ^ (get_rif_file ()) ^ "\"\n" ^ "sim2chro\n") + in output_string oc cmd_display ; if debug then output_string stderr cmd_display; @@ -458,7 +472,7 @@ class customized_callbacks = object(self) let rif_file = (get_rif_file ()) in let cmd_rif_file = - if rif_file = "" then "" else ("set_output " ^ rif_file ^ "\n") + if rif_file = "" then "" else ("set_output \"" ^ rif_file ^ "\"\n") in let cmd_step = @@ -633,8 +647,8 @@ class customized_callbacks = object(self) update_rif_file_name self#top_xlurette#rif_file_basename#text - (remove_extension self#top_xlurette#sut_name#entry#text) - (remove_extension self#top_xlurette#env_name#entry#text) + (remove_extension self#top_xlurette#sut_name_entry#entry#text) + (remove_extension self#top_xlurette#env_name_entry#entry#text) self#top_xlurette#test_length#text ; @@ -659,6 +673,8 @@ class customized_callbacks = object(self) self#top_xlurette#output_window#insert msg + + method save_session () = output_string oc ("pack " ^ self#top_xlurette#saved_session_file#text ^ " \n"); flush oc; @@ -936,13 +952,23 @@ let main () = let _ = (* Check that LURETTE_PATH env var is set. *) try - Sys.getenv "LURETTE_PATH" + Sys.getenv "LURETTE_PATH"; with Not_found -> ( print_string "*** Can not run xlurette, sorry. \n***"; print_string "You need to set the LURETTE_PATH env variable properly.\n"; flush stdout; exit 2; + ) ; + (* Check that PIXMAP_DIR env var is set. *) + try + Sys.getenv "PIXMAP_DIR"; + with Not_found -> + ( + print_string "*** Can not run xlurette, sorry. \n***"; + print_string "You need to set the PIXMAP_DIR env variable properly.\n"; + flush stdout; + exit 2; ) in let callbacks = new customized_callbacks in @@ -1033,8 +1059,8 @@ let main () = if (callbacks#get_env () = "") then callbacks#set_env env_saved; xlurette#xlurette#show() ; - xlurette#xlurette#connect#destroy ~callback: quit; - + + let _ = xlurette#xlurette#connect#destroy ~callback: quit in let _ = Timeout.add ~ms:100 ~callback:callbacks#read_pipe in Main.main () diff --git a/lurette.prj b/lurette.prj index fde68d9..1c76609 100644 --- a/lurette.prj +++ b/lurette.prj @@ -1,28 +1,47 @@ ;; -*- Prcs -*- (Created-By-Prcs-Version 1 3 3) (Project-Description "Lurette") -(Project-Version lurette 0 135) -(Parent-Version lurette 0 134) +(Project-Version lurette 0 136) +(Parent-Version lurette 0 135) (Version-Log " -Implement a check_assertion rule that checks every programs assertions. +source/parse_env.ml: +source/formula.ml: +source/formula.mli: +source/env_state.ml: +source/env_state.mli: +source/automata.ml: + Change the format of pragma to stick with how they are defined + in the DC ref man. -source/*.ml: - Consistently display the help msg on stderr if something bad happened, - and on stdout if --help is provided at the command line. + Also take into account programs that were added by yvan that + let one know which control point in the source lutin program + each lucky node correspond to. source/lurette.ml: + Display a better error msg when the sut and env vars do not match. + source/sim2chro.ml: - Fix a bug (found by Nicolas Dervaux) where the sut output var were - not in the same order than in their declaration. + Variables were not display in the same order as in their declaration + (bug introduced in the previous change). + +source/lurettetop.ml: + The clean command does not remove everything in the tmp dir but only + the generated files. + +ihm/xlurette/xlurette_*.ml: + The naming of rif files was not working properly. + + Add a clean-up button. - Also, interchange input by output in the produced rif file, since - it is more sensible this way from the tester point of view. +user-rules: +: + Abstract away a few hard-code env var so that its works on cygwin ") (New-Version-Log "" ) -(Checkin-Time "Tue, 06 May 2003 15:51:08 +0200") +(Checkin-Time "Mon, 19 May 2003 11:40:43 +0200") (Checkin-Login jahier) (Populate-Ignore ()) (Project-Keywords) @@ -34,14 +53,14 @@ source/sim2chro.ml: ;; Sources files for luc_exe (source/luc_exe.mli (lurette/b/31_ima_exe.ml 1.2 644)) - (source/luc_exe.ml (lurette/b/32_ima_exe.ml 1.31 644)) + (source/luc_exe.ml (lurette/b/32_ima_exe.ml 1.32 644)) (source/command_line_luc_exe.ml (lurette/b/33_command_li 1.14 644)) (source/command_line_luc_exe.mli (lurette/b/34_command_li 1.10 644)) ;; Sources files for lurette only (source/lurette.mli (lurette/11_lurette.ml 1.13 644)) - (source/lurette.ml (lurette/12_lurette.ml 1.68 644)) + (source/lurette.ml (lurette/12_lurette.ml 1.69 644)) (source/command_line.ml (lurette/b/20_command_li 1.13 644)) (source/command_line.mli (lurette/b/21_command_li 1.11 644)) @@ -53,7 +72,7 @@ source/sim2chro.ml: (source/env.mli (lurette/15_env.mli 1.17 644)) (source/env.ml (lurette/16_env.ml 1.30 644)) - (source/util.ml (lurette/35_util.ml 1.45 644)) + (source/util.ml (lurette/35_util.ml 1.46 644)) (source/solver.mli (lurette/38_solver.mli 1.14 644)) (source/solver.ml (lurette/39_solver.ml 1.47 644)) @@ -68,33 +87,33 @@ source/sim2chro.ml: (source/pnumsolver.mli (lurette/d/24_pnumsolver 1.2 644)) (source/parse_env.mli (lurette/40_parse_env. 1.14 644)) - (source/parse_env.ml (lurette/41_parse_env. 1.43 644)) + (source/parse_env.ml (lurette/41_parse_env. 1.44 644)) (source/show_env.mli (lurette/42_show_env.m 1.8 644)) (source/show_env.ml (lurette/43_show_env.m 1.16 644)) - (source/formula.mli (lurette/44_formula.ml 1.22 644)) - (source/formula.ml (lurette/45_formula.ml 1.28 644)) + (source/formula.mli (lurette/44_formula.ml 1.23 644)) + (source/formula.ml (lurette/45_formula.ml 1.29 644)) (source/print.mli (lurette/46_print.mli 1.13 644)) - (source/print.ml (lurette/47_print.ml 1.22 644)) + (source/print.ml (lurette/47_print.ml 1.23 644)) (source/eval.mli (lurette/48_eval.mli 1.11 644)) (source/eval.ml (lurette/49_eval.ml 1.14 644)) - (source/env_state.mli (lurette/50_env_state. 1.29 644)) - (source/env_state.ml (lurette/51_env_state. 1.42 644)) + (source/env_state.mli (lurette/50_env_state. 1.30 644)) + (source/env_state.ml (lurette/51_env_state. 1.43 644)) (source/automata.mli (lurette/b/46_automata.m 1.3 644)) - (source/automata.ml (lurette/b/47_automata.m 1.7 644)) + (source/automata.ml (lurette/b/47_automata.m 1.8 644)) (source/sim2chro.mli (lurette/b/23_sim2chro.m 1.7 644)) - (source/sim2chro.ml (lurette/b/24_sim2chro.m 1.16 644)) + (source/sim2chro.ml (lurette/b/24_sim2chro.m 1.17 644)) (source/gne.mli (lurette/b/36_gne.mli 1.5 644)) (source/gne.ml (lurette/b/37_gne.ml 1.5 644)) - (source/lurettetop.ml (lurette/c/1_lurettetop 1.32 644)) + (source/lurettetop.ml (lurette/c/1_lurettetop 1.33 644)) (source/gen_stubs.ml (lurette/24_generate_l 1.46 644)) (source/control.mli (lurette/c/3_control.ml 1.3 644)) @@ -103,7 +122,7 @@ source/sim2chro.ml: (source/constraint.mli (lurette/c/18_constraint 1.5 644)) (source/constraint.ml (lurette/c/19_constraint 1.7 644)) - (source/ne.ml (lurette/c/21_ne.ml 1.7 644)) + (source/ne.ml (lurette/c/21_ne.ml 1.8 644)) (source/ne.mli (lurette/c/22_ne.mli 1.6 644)) (source/value.ml (lurette/c/23_value.ml 1.4 644)) @@ -124,22 +143,22 @@ source/sim2chro.ml: ;; Make files - (share/configure.in (lurette/d/11_configure. 1.6 644)) + (share/configure.in (lurette/d/11_configure. 1.7 644)) (share/Makefile.common.in (lurette/d/12_Makefile.c 1.5 644)) - (Makefile.common.source (lurette/e/33_Makefile.c 1.2 644)) - (OcamlMakefile (lurette/17_OcamlMakef 1.49 644)) - (share/Makefile.lurette.in (lurette/b/38_Makefile.l 1.22 644)) - (user-rules (lurette/c/14_myrules 1.33 644)) + (Makefile.common.source (lurette/e/33_Makefile.c 1.3 644)) + (OcamlMakefile (lurette/17_OcamlMakef 1.50 644)) + (share/Makefile.lurette.in (lurette/b/38_Makefile.l 1.23 644)) + (user-rules (lurette/c/14_myrules 1.34 644)) (share/Makefile.test (lurette/c/25_user-rules 1.6 644)) (Makefile (lurette/d/13_Makefile 1.4 644)) (source/Makefile.lurettetop (lurette/d/14_Makefile.l 1.3 644)) (source/Makefile.gen_fake_lutin (lurette/d/17_Makefile.g 1.2 644)) (source/Makefile.show_luc (lurette/b/40_Makefile.s 1.9 644)) - (source/Makefile.lucky (lurette/b/41_Makefile.i 1.19 644)) + (source/Makefile.lucky (lurette/b/41_Makefile.i 1.20 644)) (source/Makefile.gen_stubs (lurette/b/42_Makefile.g 1.6 644)) - (source/Makefile.lurette_lib (lurette/c/2_Makefile.l 1.19 644)) - (source/Makefile (lurette/c/20_Makefile 1.15 644)) + (source/Makefile.lurette_lib (lurette/c/2_Makefile.l 1.20 644)) + (source/Makefile (lurette/c/20_Makefile 1.16 644)) ;; Documentation (doc/Interface_draft (lurette/19_Interface_ 1.1 644)) @@ -153,28 +172,28 @@ source/sim2chro.ml: (README (lurette/10_README 1.9 644)) (ID_EN_VRAC (lurette/0_ID_EN_VRAC 1.1 644)) (TAGS (lurette/21_TAGS 1.6 644)) - (TODO (lurette/d/22_TODO 1.14 644)) - (share/lucky_init.csh.in (lurette/e/23_lucky_init 1.3 644)) - (share/lucky_init.sh.in (lurette/e/24_lucky_init 1.3 644)) + (TODO (lurette/d/22_TODO 1.15 644)) + (share/lucky_init.csh.in (lurette/e/23_lucky_init 1.4 644)) + (share/lucky_init.sh.in (lurette/e/24_lucky_init 1.4 644)) (share/gnuplot-rif (lurette/e/34_gnuplot-ri 1.1 744)) (share/plot (lurette/e/35_plot 1.1 744)) - (test/time-ossau.exp (lurette/b/48_time.exp 1.40 644)) - (test/time-ossau.res (lurette/b/49_time.res 1.43 644)) - (test/time-ecrins.res (lurette/d/20_time-ecrin 1.17 644)) - (test/time-ecrins.exp (lurette/d/21_time-ecrin 1.17 644)) + (test/time-ossau.exp (lurette/b/48_time.exp 1.41 644)) + (test/time-ossau.res (lurette/b/49_time.res 1.44 644)) + (test/time-ecrins.res (lurette/d/20_time-ecrin 1.18 644)) + (test/time-ecrins.exp (lurette/d/21_time-ecrin 1.18 644)) ;; Various files used for testing purposes (test/cudd_gc_problem.luc (lurette/e/29_cudd_gc_pr 1.1 644)) - (test/cudd_gc_problem.rif.exp (lurette/e/30_cudd_gc_pr 1.1 644)) + (test/cudd_gc_problem.rif.exp (lurette/e/30_cudd_gc_pr 1.2 644)) (test/usager.luc (lurette/b/14_usager.env 1.11 644)) (test/tram.luc (lurette/b/15_tram.env 1.10 644)) (test/porte.luc (lurette/b/16_porte.env 1.10 644)) (test/passerelle.luc (lurette/b/17_passerelle 1.10 644)) (test/temp_int.luc (lurette/b/50_temp_int.e 1.5 644)) - (test/temp_float.luc (lurette/b/51_temp_float 1.7 644)) + (test/temp_float.luc (lurette/b/51_temp_float 1.8 644)) (test/ControleurPorte.h (lurette/b/18_Controleur 1.1 644)) (test/ControleurPorte.c (lurette/b/19_Controleur 1.1 644)) @@ -184,14 +203,14 @@ source/sim2chro.ml: (test/losange-3d2.luc (lurette/e/32_losange-3d 1.1 644)) (test/onlyroll.lus (../demo-xlurette/Gyro/onlyroll.lus) :symlink) - (test/gyro.rif.exp (lurette/e/36_gyro.rif.e 1.1 644)) + (test/gyro.rif.exp (lurette/e/36_gyro.rif.e 1.2 644)) (test/giro.luc (../demo-xlurette/Gyro/giro.luc) :symlink) (test/allocator.lus (../demo-xlurette/Gyro/allocator.lus) :symlink) - (test/heater_int.rif.exp (lurette/b/28_heater_int 1.12 644)) - (test/ControleurPorte.rif.exp (lurette/b/29_Controleur 1.14 644)) - (test/heater_float.rif.exp (lurette/b/30_heater_flo 1.14 644)) + (test/heater_int.rif.exp (lurette/b/28_heater_int 1.13 644)) + (test/ControleurPorte.rif.exp (lurette/b/29_Controleur 1.15 644)) + (test/heater_float.rif.exp (lurette/b/30_heater_flo 1.15 644)) (test/heater_int.lus (lurette/b/43_heater_int 1.1 644)) (test/heater_float.lus (lurette/b/44_heater_flo 1.2 644)) @@ -206,15 +225,15 @@ source/sim2chro.ml: (test/losange.luc (lurette/d/27_losange.lu 1.2 644)) (test/losange-3d.luc (lurette/d/28_losange-3d 1.2 644)) - (test/losange-3d.rif.exp (lurette/e/31_losange-3d 1.1 644)) + (test/losange-3d.rif.exp (lurette/e/31_losange-3d 1.2 644)) (test/Makefile (lurette/c/0_Makefile 1.12 644)) ;; xlurette - (ihm/xlurette/xlurette_glade_main.ml (lurette/c/12_xlurette_g 1.19 644)) - (ihm/xlurette/xlurette.glade (lurette/c/13_xlurette.g 1.14 644)) - (ihm/xlurette/xlurette_glade_interface.ml (lurette/c/15_xlurette_g 1.13 644)) - (ihm/xlurette/makefile (lurette/c/16_makefile 1.11 644)) + (ihm/xlurette/xlurette_glade_main.ml (lurette/c/12_xlurette_g 1.20 644)) + (ihm/xlurette/xlurette.glade (lurette/c/13_xlurette.g 1.15 644)) + (ihm/xlurette/xlurette_glade_interface.ml (lurette/c/15_xlurette_g 1.14 644)) + (ihm/xlurette/makefile (lurette/c/16_makefile 1.12 644)) ;; cudaux @@ -227,43 +246,39 @@ source/sim2chro.ml: (cuddaux/cuddauxAddIte.c (lurette/c/32_cuddauxAdd 1.1 644)) (cuddaux/cuddaux.h (lurette/c/33_cuddaux.h 1.1 644)) (cuddaux/README (lurette/c/34_README 1.1 644)) - (cuddaux/Makefile (lurette/c/35_Makefile 1.6 644)) + (cuddaux/Makefile (lurette/c/35_Makefile 1.7 644)) (cuddaux/Changes (lurette/c/36_Changes 1.1 644)) ;; mlcuddidl (mlcuddidl/session.ml (lurette/c/37_session.ml 1.1 644)) (mlcuddidl/sedscript (lurette/c/38_sedscript 1.1 644)) - (mlcuddidl/rdd_caml.c (lurette/c/39_rdd_caml.c 1.1 640)) (mlcuddidl/rdd.mli (lurette/c/40_rdd.mli 1.1 640)) (mlcuddidl/rdd.ml (lurette/c/41_rdd.ml 1.1 640)) (mlcuddidl/rdd.idl (lurette/c/42_rdd.idl 1.1 644)) (mlcuddidl/mtbdd.mli (lurette/c/43_mtbdd.mli 1.1 644)) (mlcuddidl/mtbdd.ml (lurette/c/44_mtbdd.ml 1.1 644)) - (mlcuddidl/manager_caml.c (lurette/c/45_manager_ca 1.1 640)) (mlcuddidl/manager.mli (lurette/c/46_manager.ml 1.1 640)) (mlcuddidl/manager.ml (lurette/c/47_manager.ml 1.1 640)) (mlcuddidl/manager.idl (lurette/c/48_manager.id 1.1 644)) (mlcuddidl/macros.m4 (lurette/c/49_macros.m4 1.1 644)) - (mlcuddidl/idd_caml.c (lurette/c/50_idd_caml.c 1.1 640)) (mlcuddidl/idd.mli (lurette/c/51_idd.mli 1.1 640)) (mlcuddidl/idd.ml (lurette/d/0_idd.ml 1.1 640)) (mlcuddidl/idd.idl (lurette/d/1_idd.idl 1.1 644)) (mlcuddidl/cudd_caml.h (lurette/d/2_cudd_caml. 1.1 644)) (mlcuddidl/cudd_caml.c (lurette/d/3_cudd_caml. 1.1 644)) - (mlcuddidl/bdd_caml.c (lurette/d/4_bdd_caml.c 1.1 640)) (mlcuddidl/bdd.mli (lurette/d/5_bdd.mli 1.1 640)) (mlcuddidl/bdd.ml (lurette/d/6_bdd.ml 1.1 640)) (mlcuddidl/bdd.idl (lurette/d/7_bdd.idl 1.1 644)) (mlcuddidl/README (lurette/d/8_README 1.1 644)) - (mlcuddidl/Makefile (lurette/d/9_Makefile 1.6 644)) + (mlcuddidl/Makefile (lurette/d/9_Makefile 1.7 644)) (mlcuddidl/Changes (lurette/d/10_Changes 1.1 644)) ;; polka (polka/Makefile.depend (lurette/d/30_Makefile.d 1.1 644)) (polka/tmp () :directory) (polka/sedscript (lurette/d/31_sedscript 1.1 644)) - (polka/caml/Makefile.depend (lurette/d/32_Makefile.d 1.1 644)) + (polka/caml/Makefile.depend (lurette/d/32_Makefile.d 1.2 644)) (polka/caml/poly.idl (lurette/d/33_poly.idl 1.1 644)) (polka/caml/matrix.idl (lurette/d/34_matrix.idl 1.1 644)) (polka/caml/vector.idl (lurette/d/35_vector.idl 1.1 644)) @@ -303,7 +318,7 @@ source/sim2chro.ml: (polka/documentation/polka.texi (lurette/e/17_polka.texi 1.1 644)) (polka/documentation/Makefile (lurette/e/18_Makefile 1.1 644)) (polka/README (lurette/e/19_README 1.1 644)) - (polka/Makefile.config (lurette/e/20_Makefile.c 1.4 644)) + (polka/Makefile.config (lurette/e/20_Makefile.c 1.5 644)) (polka/Makefile (lurette/e/21_Makefile 1.1 644)) (polka/Changes (lurette/e/22_Changes 1.1 644)) diff --git a/mlcuddidl/Makefile b/mlcuddidl/Makefile index 7d5c040..6590538 100644 --- a/mlcuddidl/Makefile +++ b/mlcuddidl/Makefile @@ -8,22 +8,22 @@ SRCDIR = $(PWD) # # XXX autoconf !!! -CAML_INSTALL = /home/jahier/$(HOSTTYPE) -CUDD_INSTALL = /home/jahier/$(HOSTTYPE) +CAML_INSTALL = $(HOME)/$(HOSTTYPE) +CUDD_INSTALL = $(HOME)/$(HOSTTYPE) # # Where to install libs # ifndef BIN_INSTALL_DIR - BIN_INSTALL_DIR := /home/jahier/$(HOSTTYPE)/bin + BIN_INSTALL_DIR := $(HOME)/$(HOSTTYPE)/bin endif ifndef INC_INSTALL_DIR - INC_INSTALL_DIR := /home/jahier/$(HOSTTYPE)/include + INC_INSTALL_DIR := $(HOME)/$(HOSTTYPE)/include endif ifndef LIB_INSTALL_DIR - LIB_INSTALL_DIR := /home/jahier/$(HOSTTYPE)/lib + LIB_INSTALL_DIR := $(HOME)/$(HOSTTYPE)/lib endif diff --git a/mlcuddidl/bdd_caml.c b/mlcuddidl/bdd_caml.c deleted file mode 100644 index d337a74..0000000 --- a/mlcuddidl/bdd_caml.c +++ /dev/null @@ -1,2204 +0,0 @@ -/* File generated from bdd.idl */ - -#include -#include -#include -#include -#include -#include -#include -#ifdef Custom_tag -#include -#include -#endif -#include - - -#include "caml/custom.h" -#include "cudd_caml.h" - -extern void manager_ml2c(value, manager__t *); -#define camlidl_ml2c_manager_manager__t(v,c,ctx) manager_ml2c(v,c) - -extern value manager_c2ml(manager__t *); -#define camlidl_c2ml_manager_manager__t(c,ctx) manager_c2ml(c) - - -extern int camlidl_ml2c_manager_enum_reorder(value); -extern value camlidl_c2ml_manager_enum_reorder(int); - -extern int camlidl_transl_table_manager_enum_reorder[]; - -extern int camlidl_ml2c_manager_enum_aggregation(value); -extern value camlidl_c2ml_manager_enum_aggregation(int); - -extern int camlidl_transl_table_manager_enum_aggregation[]; - -extern int camlidl_ml2c_manager_enum_lazygroup(value); -extern value camlidl_c2ml_manager_enum_lazygroup(int); - -extern int camlidl_transl_table_manager_enum_lazygroup[]; - -extern int camlidl_ml2c_manager_enum_vartype(value); -extern value camlidl_c2ml_manager_enum_vartype(int); - -extern int camlidl_transl_table_manager_enum_vartype[]; - -extern int camlidl_ml2c_manager_enum_mtr(value); -extern value camlidl_c2ml_manager_enum_mtr(int); - -extern int camlidl_transl_table_manager_enum_mtr[]; - -extern int camlidl_ml2c_manager_enum_error(value); -extern value camlidl_c2ml_manager_enum_error(int); - -extern int camlidl_transl_table_manager_enum_error[]; - -#define camlidl_ml2c_bdd_bdd__t(v,c,ctx) node_ml2c(v,c) - -#define camlidl_c2ml_bdd_bdd__t(c,ctx) bdd_c2ml(c) - -value camlidl_bdd_manager( - value _v_no) -{ - bdd__t no; /*in*/ - manager__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res=no.man; - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_manager_manager__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_cst( - value _v_no) -{ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_IsConstant(no.node); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_topvar( - value _v_no) -{ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_Regular(no.node)->index; - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_dthen( - value _v_no) -{ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -_res.man = no.man; -_res.node = Cudd_T(no.node); -if (Cudd_IsComplement(no.node)) _res.node = Cudd_Not(_res.node); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_delse( - value _v_no) -{ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -_res.man = no.man; -_res.node = Cudd_E(no.node); -if (Cudd_IsComplement(no.node)) _res.node = Cudd_Not(_res.node); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_cofactors( - value _v_var, - value _v_no) -{ - int var; /*in*/ - bdd__t no; /*in*/ - bdd__t noa; /*out*/ - bdd__t nob; /*out*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - value _vresult; - value _vres[2] = { 0, 0, }; - - var = Int_val(_v_var); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - { - DdNode* cof; - noa.man = nob.man = no.man; - Begin_roots1(_v_no); - cof = Cudd_bddIthVar(no.man, var); - noa.node = Cudd_Cofactor(no.man,no.node,cof); - nob.node = Cudd_Cofactor(no.man,no.node,Cudd_Not(cof)); - End_roots(); - } - - /* end user-supplied calling sequence */ - Begin_roots_block(_vres, 2) - _vres[0] = camlidl_c2ml_bdd_bdd__t(&noa, _ctx); - _vres[1] = camlidl_c2ml_bdd_bdd__t(&nob, _ctx); - _vresult = camlidl_alloc_small(2, 0); - Field(_vresult, 0) = _vres[0]; - Field(_vresult, 1) = _vres[1]; - End_roots() - camlidl_free(_ctx); - return _vresult; -} - -value camlidl_bdd_cofactor( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_Cofactor(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_support( - value _v_no) -{ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_Support(no.man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_supportsize( - value _v_no) -{ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_SupportSize(no.man,no.node); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_var_in( - value _v_var, - value _v_no) -{ - int var; /*in*/ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - var = Int_val(_v_var); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -{ -DdNode* v = Cudd_bddIthVar(no.man,var); -_res = Cuddaux_IsVarIn(no.man, no.node, v); -} -End_roots(); - - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_support_inter( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddLiteralSetIntersection(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_dtrue( - value _v_man) -{ - manager__t man; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = DD_ONE(man); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_dfalse( - value _v_man) -{ - manager__t man; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = Cudd_Not(DD_ONE(man)); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_ithvar( - value _v_man, - value _v_var) -{ - manager__t man; /*in*/ - int var; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - var = Int_val(_v_var); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = Cudd_bddIthVar(man,var); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_newvar( - value _v_man) -{ - manager__t man; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = Cudd_bddNewVar(man); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_newvar_at_level( - value _v_man, - value _v_level) -{ - manager__t man; /*in*/ - int level; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - level = Int_val(_v_level); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = Cudd_bddNewVarAtLevel(man,level); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_true( - value _v_no) -{ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = (no.node == DD_ONE(no.man)); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_false( - value _v_no) -{ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = (no.node == Cudd_Not(DD_ONE(no.man))); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_equal( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; _res = (no1.node==no2.node); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_leq( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; _res = Cudd_bddLeq(no1.man, no1.node, no2.node); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_inter_empty( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; _res = Cudd_bddLeq(no1.man, no1.node, Cudd_Not(no2.node)); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_equal_when( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; _res=Cudd_EquivDC(no1.man,no1.node,no2.node,Cudd_Not(no3.node)); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_leq_when( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; _res=Cudd_bddLeqUnless(no1.man,no1.node,no2.node,Cudd_Not(no3.node)); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_ite_cst( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - int *_res; - value _v1; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ - { - static int storage; - - DdNode* node; - if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; - node = Cudd_bddIteConstant(no1.man,no1.node,no2.node,no3.node); - if (node==DD_NON_CONSTANT || Cudd_Regular(node)!=DD_ONE(no1.man)) - _res = 0; - else { - storage = (node==DD_ONE(no1.man)); - _res = &storage; - } - } - - /* end user-supplied calling sequence */ - if (_res == NULL) { - _vres = Val_int(0); - } else { - _v1 = Val_int(*_res); - Begin_root(_v1) - _vres = camlidl_alloc_small(1, 0); - Field(_vres, 0) = _v1; - End_roots(); - } - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_var_dependent( - value _v_var, - value _v_no) -{ - int var; /*in*/ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - var = Int_val(_v_var); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -{ -DdNode* v = Cudd_bddIthVar(no.man,var); -_res = Cudd_bddVarIsDependent(no.man, no.node, v); -} -End_roots(); - - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_is_var_essential( - value _v_index, - value _v_phase, - value _v_no) -{ - int index; /*in*/ - int phase; /*in*/ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - index = Int_val(_v_index); - phase = Int_val(_v_phase); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_bddIsVarEssential(no.man,no.node,index,phase); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_size( - value _v_no) -{ - bdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_DagSize(no.node); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_nbpaths( - value _v_no) -{ - bdd__t no; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_CountPath(no.node); if (_res==(double)CUDD_OUT_OF_MEM){ failwith("Bdd.nbpaths returned CUDD_OUT_OF_MEM"); } - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_nbminterms( - value _v_nvar, - value _v_no) -{ - int nvar; /*in*/ - bdd__t no; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvar = Int_val(_v_nvar); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_CountMinterm(no.man,no.node,nvar); if (_res==(double)CUDD_OUT_OF_MEM){ failwith("Bdd.nbminterms returned CUDD_OUT_OF_MEM"); } - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_density( - value _v_nvar, - value _v_no) -{ - int nvar; /*in*/ - bdd__t no; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvar = Int_val(_v_nvar); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_Density(no.man,no.node,nvar); if (_res==(double)CUDD_OUT_OF_MEM){ failwith("Bdd.density returned CUDD_OUT_OF_MEM"); } - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_dnot( - value _v_no) -{ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res.man = no.man; _res.node = Cudd_Not(no.node); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_dand( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddAnd(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_dor( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddOr(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_xor( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddXor(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_nand( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddNand(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_nor( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddNor(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_nxor( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddXnor(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_ite( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; -Begin_roots3(_v_no1,_v_no2,_v_no3); -_res.man = no1.man; -_res.node = Cudd_bddIte(no1.man,no1.node,no2.node,no3.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_compose( - value _v_var, - value _v_no1, - value _v_no2) -{ - int var; /*in*/ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - var = Int_val(_v_var); - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddCompose(no1.man, no2.node, no1.node, var); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_intersect( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddIntersect(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_varmap( - value _v_no) -{ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_bddVarMap(no.man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_exist( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddExistAbstract(no1.man,no2.node,no1.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_forall( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddUnivAbstract(no1.man,no2.node,no1.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_existand( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; -Begin_roots3(_v_no1,_v_no2,_v_no3); -_res.man = no1.man; -_res.node = Cudd_bddAndAbstract(no1.man,no2.node,no3.node,no1.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_existxor( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; -Begin_roots3(_v_no1,_v_no2,_v_no3); -_res.man = no1.man; -_res.node = Cudd_bddXorExistAbstract(no1.man,no2.node,no3.node,no1.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_booleandiff( - value _v_no, - value _v_index) -{ - bdd__t no; /*in*/ - int index; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - index = Int_val(_v_index); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_bddBooleanDiff(no.man,no.node,index); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_cube_union( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_bddCubeUnion(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_constrain( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddConstrain(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_tdconstrain( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_bddTDConstrain(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_restrict( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_bddRestrict(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_tdrestrict( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_bddTDRestrict(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_minimize( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddMinimize(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_licompaction( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddLICompaction(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_squeeze( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_bddSqueeze(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_clippingand( - value _v_no1, - value _v_no2, - value _v_maxdepth, - value _v_direction) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - int maxdepth; /*in*/ - int direction; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - maxdepth = Int_val(_v_maxdepth); - direction = Int_val(_v_direction); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man=no1.man; -_res.node = Cudd_bddClippingAnd(no1.man,no1.node,no2.node,maxdepth,direction); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_clippingexistand( - value _v_no1, - value _v_no2, - value _v_no3, - value _v_maxdepth, - value _v_direction) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t no3; /*in*/ - int maxdepth; /*in*/ - int direction; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no3, &no3, _ctx); - maxdepth = Int_val(_v_maxdepth); - direction = Int_val(_v_direction); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; -Begin_roots3(_v_no1,_v_no2,_v_no3); -_res.man=no1.man; -_res.node = Cudd_bddClippingAndAbstract(no1.man,no2.node,no3.node,no1.node,maxdepth,direction); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_underapprox( - value _v_nvars, - value _v_threshold, - value _v_safe, - value _v_quality, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - int safe; /*in*/ - double quality; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - safe = Int_val(_v_safe); - quality = Double_val(_v_quality); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; -_res.node=Cudd_UnderApprox(no.man,no.node,nvars,threshold,safe,quality); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_overapprox( - value _v_nvars, - value _v_threshold, - value _v_safe, - value _v_quality, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - int safe; /*in*/ - double quality; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - safe = Int_val(_v_safe); - quality = Double_val(_v_quality); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; -_res.node=Cudd_OverApprox(no.man,no.node,nvars,threshold,safe,quality); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_remapunderapprox( - value _v_nvars, - value _v_threshold, - value _v_quality, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - double quality; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - quality = Double_val(_v_quality); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; -_res.node=Cudd_RemapUnderApprox(no.man,no.node,nvars,threshold,quality); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_remapoverapprox( - value _v_nvars, - value _v_threshold, - value _v_quality, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - double quality; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - quality = Double_val(_v_quality); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; -_res.node=Cudd_RemapOverApprox(no.man,no.node,nvars,threshold,quality); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_biasedunderapprox( - value _v_nvars, - value _v_threshold, - value _v_quality1, - value _v_quality0, - value _v_no1, - value _v_no2) -{ - int nvars; /*in*/ - int threshold; /*in*/ - double quality1; /*in*/ - double quality0; /*in*/ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - quality1 = Double_val(_v_quality1); - quality0 = Double_val(_v_quality0); - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man=no1.man; -_res.node=Cudd_BiasedUnderApprox(no1.man,no1.node,no2.node,nvars,threshold,quality1,quality0); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_biasedunderapprox_bytecode(value * argv, int argn) -{ - return camlidl_bdd_biasedunderapprox(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]); -} - -value camlidl_bdd_biasedoverapprox( - value _v_nvars, - value _v_threshold, - value _v_quality1, - value _v_quality0, - value _v_no1, - value _v_no2) -{ - int nvars; /*in*/ - int threshold; /*in*/ - double quality1; /*in*/ - double quality0; /*in*/ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - quality1 = Double_val(_v_quality1); - quality0 = Double_val(_v_quality0); - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man=no1.man; -_res.node=Cudd_BiasedOverApprox(no1.man,no1.node,no2.node,nvars,threshold,quality1,quality0); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_biasedoverapprox_bytecode(value * argv, int argn) -{ - return camlidl_bdd_biasedoverapprox(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]); -} - -value camlidl_bdd_subsetcompress( - value _v_nvars, - value _v_threshold, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; _res.node = Cudd_SubsetCompress(no.man,no.node,nvars,threshold); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_supersetcompress( - value _v_nvars, - value _v_threshold, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; _res.node = Cudd_SupersetCompress(no.man,no.node,nvars,threshold); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_subsetHB( - value _v_nvars, - value _v_threshold, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; _res.node = Cudd_SubsetHeavyBranch(no.man,no.node,nvars,threshold); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_supersetHB( - value _v_nvars, - value _v_threshold, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; _res.node = Cudd_SupersetHeavyBranch(no.man,no.node,nvars,threshold); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_subsetSP( - value _v_nvars, - value _v_threshold, - value _v_hardlimit, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - int hardlimit; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - hardlimit = Int_val(_v_hardlimit); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; -_res.node = Cudd_SubsetShortPaths(no.man,no.node,nvars,threshold,hardlimit); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_supersetSP( - value _v_nvars, - value _v_threshold, - value _v_hardlimit, - value _v_no) -{ - int nvars; /*in*/ - int threshold; /*in*/ - int hardlimit; /*in*/ - bdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - nvars = Int_val(_v_nvars); - threshold = Int_val(_v_threshold); - hardlimit = Int_val(_v_hardlimit); - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man=no.man; -_res.node = Cudd_SupersetShortPaths(no.man,no.node,nvars,threshold,hardlimit); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - - -value camlidl_bdd_approxconjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddApproxConjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.approxconjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_approxdisjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddApproxDisjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.approxdisjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_iterconjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddIterConjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.iterconjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_iterdisjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddIterDisjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.iterdisjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_genconjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddGenConjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.genconjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_gendisjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddGenDisjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.gendisjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_varconjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddVarConjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.varconjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} - -value camlidl_bdd_vardisjdecomp(value _v_no) -{ - CAMLparam1(_v_no); CAMLlocal4(_v_res,_v_a,_v_b,_v_pair); - bdd__t no; - int res; - DdNode*** ptab; - bdd__t a; - bdd__t b; - - node_ml2c(_v_no,&no); - res = Cudd_bddVarDisjDecomp(no.man,no.node,ptab); - switch(res){ - case 0: - failwith("Bdd.vardisjdecomp: decomposition function failed (probably CUDD_OUT_OF_MEM)"); - break; - case 1: - _v_res = Val_int(0); - free(*ptab); - break; - case 2: - a.man = b.man = no.man; - a.node = (*ptab)[0]; - b.node = (*ptab)[1]; - cuddDeref(a.node); - _v_a = bdd_c2ml(&a); - cuddDeref(b.node); - _v_b = bdd_c2ml(&b); - _v_pair = alloc_small(0,2); - Field(_v_pair,0) = _v_a; - Field(_v_pair,1) = _v_b; - _v_res = alloc_small(0,1); - Field(_v_res,0) = _v_pair; - break; - } - CAMLreturn(_v_res); -} -value camlidl_bdd_transfer( - value _v_no, - value _v_man) -{ - bdd__t no; /*in*/ - manager__t man; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = man; -_res.node = Cudd_bddTransfer(no.man,man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_correlation( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; _res = Cudd_bddCorrelation(no1.man,no1.node,no2.node); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_bdd_correlationweights( - value _v_no1, - value _v_no2, - value _v_prob) -{ - bdd__t no1; /*in*/ - bdd__t no2; /*in*/ - double *prob; /*in*/ - int size; /*in*/ - double _res; - mlsize_t _c1; - mlsize_t _c2; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - _c1 = Wosize_val(_v_prob) / Double_wosize; - prob = camlidl_malloc(_c1 * sizeof(double ), _ctx); - for (_c2 = 0; _c2 < _c1; _c2++) { - prob[_c2] = Double_field(_v_prob, _c2); - } - size = _c1; - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; _res = Cudd_bddCorrelationWeights(no1.man,no1.node,no2.node,prob); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - diff --git a/mlcuddidl/idd_caml.c b/mlcuddidl/idd_caml.c deleted file mode 100644 index 41ee78e..0000000 --- a/mlcuddidl/idd_caml.c +++ /dev/null @@ -1,630 +0,0 @@ -/* File generated from idd.idl */ - -#include -#include -#include -#include -#include -#include -#include -#ifdef Custom_tag -#include -#include -#endif -#include - - -#include "caml/custom.h" -#include "cudd_caml.h" - -extern void manager_ml2c(value, manager__t *); -#define camlidl_ml2c_manager_manager__t(v,c,ctx) manager_ml2c(v,c) - -extern value manager_c2ml(manager__t *); -#define camlidl_c2ml_manager_manager__t(c,ctx) manager_c2ml(c) - - -extern int camlidl_ml2c_manager_enum_reorder(value); -extern value camlidl_c2ml_manager_enum_reorder(int); - -extern int camlidl_transl_table_manager_enum_reorder[]; - -extern int camlidl_ml2c_manager_enum_aggregation(value); -extern value camlidl_c2ml_manager_enum_aggregation(int); - -extern int camlidl_transl_table_manager_enum_aggregation[]; - -extern int camlidl_ml2c_manager_enum_lazygroup(value); -extern value camlidl_c2ml_manager_enum_lazygroup(int); - -extern int camlidl_transl_table_manager_enum_lazygroup[]; - -extern int camlidl_ml2c_manager_enum_vartype(value); -extern value camlidl_c2ml_manager_enum_vartype(int); - -extern int camlidl_transl_table_manager_enum_vartype[]; - -extern int camlidl_ml2c_manager_enum_mtr(value); -extern value camlidl_c2ml_manager_enum_mtr(int); - -extern int camlidl_transl_table_manager_enum_mtr[]; - -extern int camlidl_ml2c_manager_enum_error(value); -extern value camlidl_c2ml_manager_enum_error(int); - -extern int camlidl_transl_table_manager_enum_error[]; - -extern void node_ml2c(value, bdd__t *); -#define camlidl_ml2c_bdd_bdd__t(v,c,ctx) node_ml2c(v,c) - -extern value bdd_c2ml(bdd__t *); -#define camlidl_c2ml_bdd_bdd__t(c,ctx) bdd_c2ml(c) - - -#define camlidl_ml2c_idd_idd__t(v,c,ctx) node_ml2c(v,c) - -#define camlidl_c2ml_idd_idd__t(c,ctx) node_c2ml(c) - -value camlidl_idd_dval( - value _v_no) -{ - idd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_idd_idd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = (int)(cuddV(no.node)); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_idd_cst( - value _v_man, - value _v_val) -{ - manager__t man; /*in*/ - int val; /*in*/ - idd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - val = Int_val(_v_val); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = Cudd_addConst(man,(int)val); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_idd_idd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_idd_is_eval_cst( - value _v_no1, - value _v_no2) -{ - idd__t no1; /*in*/ - bdd__t no2; /*in*/ - int *_res; - value _v1; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_idd_idd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - { - static int storage; - DdNode* node; - - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - node = Cuddaux_addEvalConst(no1.man,no2.node,no1.node); - if (node==DD_NON_CONSTANT || ! cuddIsConstant(node)) - _res = 0; - else { - storage = (int)(cuddV(node)); - _res = &storage; - } - } - - /* end user-supplied calling sequence */ - if (_res == NULL) { - _vres = Val_int(0); - } else { - _v1 = Val_int(*_res); - Begin_root(_v1) - _vres = camlidl_alloc_small(1, 0); - Field(_vres, 0) = _v1; - End_roots(); - } - camlidl_free(_ctx); - return _vres; -} - -value camlidl_idd_is_ite_cst( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - idd__t no2; /*in*/ - idd__t no3; /*in*/ - int *_res; - value _v1; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_idd_idd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_idd_idd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ - { - static int storage; - - DdNode* node; - if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; - node = Cuddaux_addIteConstant(no1.man,no1.node,no2.node,no3.node); - if (node==DD_NON_CONSTANT || ! cuddIsConstant(node)) - _res = 0; - else { - storage = (int)(cuddV(node)); - _res = &storage; - } - } - - /* end user-supplied calling sequence */ - if (_res == NULL) { - _vres = Val_int(0); - } else { - _v1 = Val_int(*_res); - Begin_root(_v1) - _vres = camlidl_alloc_small(1, 0); - Field(_vres, 0) = _v1; - End_roots(); - } - camlidl_free(_ctx); - return _vres; -} - -value camlidl_idd_guard_of_leaf( - value _v_no, - value _v_val) -{ - idd__t no; /*in*/ - int val; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_idd_idd__t(_v_no, &no, _ctx); - val = Int_val(_v_val); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -{ -DdNode* nval = Cudd_addConst(no.man, (double)val); -cuddRef(nval); -_res.man = no.man; -_res.node = Cuddaux_addGuardOfNode(no.man,no.node,nval); -cuddRef(_res.node); -Cudd_RecursiveDeref(no.man,nval); -cuddDeref(_res.node); -} -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - - -value camlidl_idd_unclosures[5]; -value camlidl_idd_binclosures[5]; -value camlidl_idd_combinclosures[5]; - - -static DdNode* camlidl_idd_unop_0(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = Val_int(cuddV(f)); - _v_val = callback(camlidl_idd_unclosures[0], _v_f); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_binop_0(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_binclosures[0], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_combinop_0(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_combinclosures[0], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_unop_1(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = Val_int(cuddV(f)); - _v_val = callback(camlidl_idd_unclosures[1], _v_f); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_binop_1(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_binclosures[1], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_combinop_1(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_combinclosures[1], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_unop_2(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = Val_int(cuddV(f)); - _v_val = callback(camlidl_idd_unclosures[2], _v_f); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_binop_2(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_binclosures[2], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_combinop_2(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_combinclosures[2], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_unop_3(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = Val_int(cuddV(f)); - _v_val = callback(camlidl_idd_unclosures[3], _v_f); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_binop_3(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_binclosures[3], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_combinop_3(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_combinclosures[3], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_unop_4(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = Val_int(cuddV(f)); - _v_val = callback(camlidl_idd_unclosures[4], _v_f); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_binop_4(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_binclosures[4], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_idd_combinop_4(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = Val_int(cuddV(F)); - _v_G = Val_int(cuddV(G)); - _v_val = callback2(camlidl_idd_combinclosures[4], _v_F, _v_G); - val = Int_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} - -unop_t camlidl_idd_unops[5] = { - &camlidl_idd_unop_0, &camlidl_idd_unop_1, &camlidl_idd_unop_2, &camlidl_idd_unop_3, &camlidl_idd_unop_4, -}; -binop_t camlidl_idd_binops[5] = { - &camlidl_idd_binop_0, &camlidl_idd_binop_1, &camlidl_idd_binop_2, &camlidl_idd_binop_3, &camlidl_idd_binop_4, -}; -binop_t camlidl_idd_combinops[5] = { - &camlidl_idd_combinop_0, &camlidl_idd_combinop_1, &camlidl_idd_combinop_2, &camlidl_idd_combinop_3, &camlidl_idd_combinop_4, -}; - -int camlidl_idd_nb_unop = 0; -int camlidl_idd_nb_binop = 0; -int camlidl_idd_nb_combinop = 0; - -value camlidl_idd_alloc_unop(value _v_closure) -{ - CAMLparam1(_v_closure); CAMLlocal1(_v_res); - if (camlidl_idd_nb_unop < 5){ - register_global_root(&(camlidl_idd_unclosures[camlidl_idd_nb_unop])); - camlidl_idd_unclosures[camlidl_idd_nb_unop] = _v_closure; - _v_res = Val_int(camlidl_idd_nb_unop); - camlidl_idd_nb_unop++; - } - else { - failwith("idd.alloc_unop: maximum number of ops already allocated"); - } - CAMLreturn(_v_res); -} -value camlidl_idd_alloc_binop(value _v_closure) -{ - CAMLparam1(_v_closure); CAMLlocal1(_v_res); - if (camlidl_idd_nb_binop < 5){ - register_global_root(&(camlidl_idd_binclosures[camlidl_idd_nb_binop])); - camlidl_idd_binclosures[camlidl_idd_nb_binop] = _v_closure; - _v_res = Val_int(camlidl_idd_nb_binop); - camlidl_idd_nb_binop++; - } - else { - failwith("idd.alloc_binop: maximum number of ops already allocated"); - } - CAMLreturn(_v_res); -} -value camlidl_idd_alloc_combinop(value _v_closure) -{ - CAMLparam1(_v_closure); CAMLlocal1(_v_res); - if (camlidl_idd_nb_combinop < 5){ - register_global_root(&(camlidl_idd_combinclosures[camlidl_idd_nb_combinop])); - camlidl_idd_combinclosures[camlidl_idd_nb_combinop] = _v_closure; - _v_res = Val_int(camlidl_idd_nb_combinop); - camlidl_idd_nb_combinop++; - } - else { - failwith("idd.alloc_combinop: maximum number of ops already allocated"); - } - CAMLreturn(_v_res); -} -value camlidl_idd_apply_unop(value _v_id, value _v_no) -{ - CAMLparam2(_v_id,_v_no); CAMLlocal1(_v_res); - node__t no,_res; - int id; - - id = Int_val(_v_id); - node_ml2c(_v_no,&no); - - _res.man = no.man; - _res.node = Cudd_addMonadicApply(no.man,camlidl_idd_unops[id], no.node); - _v_res = node_c2ml(&_res); - CAMLreturn(_v_res); -} -value camlidl_idd_apply_binop(value _v_id, value _v_no1, value _v_no2) -{ - CAMLparam3(_v_id,_v_no1,_v_no2); CAMLlocal1(_v_res); - node__t no1,no2,_res; - int id; - - id = Int_val(_v_id); - node_ml2c(_v_no1,&no1); - node_ml2c(_v_no2,&no2); - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - _res.man = no1.man; - _res.node = Cudd_addApply(no1.man,camlidl_idd_binops[id], no1.node, no2.node); - _v_res = node_c2ml(&_res); - CAMLreturn(_v_res); -} -value camlidl_idd_apply_combinop(value _v_id, value _v_no1, value _v_no2) -{ - CAMLparam3(_v_id,_v_no1,_v_no2); CAMLlocal1(_v_res); - node__t no1,no2,_res; - int id; - - id = Int_val(_v_id); - node_ml2c(_v_no1,&no1); - node_ml2c(_v_no2,&no2); - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - _res.man = no1.man; - _res.node = Cudd_addApply(no1.man,camlidl_idd_combinops[Int_val(_v_id)],no1.node,no2.node); - _v_res = node_c2ml(&_res); - CAMLreturn(_v_res); -} diff --git a/mlcuddidl/manager_caml.c b/mlcuddidl/manager_caml.c deleted file mode 100644 index 1111462..0000000 --- a/mlcuddidl/manager_caml.c +++ /dev/null @@ -1,1560 +0,0 @@ -/* File generated from manager.idl */ - -#include -#include -#include -#include -#include -#include -#include -#ifdef Custom_tag -#include -#include -#endif -#include - - -#include "caml/custom.h" -#include "cudd_caml.h" - -#define camlidl_ml2c_manager_manager__t(v,c,ctx) manager_ml2c(v,c) - -#define camlidl_c2ml_manager_manager__t(c,ctx) manager_c2ml(c) - -int camlidl_transl_table_manager_enum_1[22] = { - CUDD_REORDER_SAME, - CUDD_REORDER_NONE, - CUDD_REORDER_RANDOM, - CUDD_REORDER_RANDOM_PIVOT, - CUDD_REORDER_SIFT, - CUDD_REORDER_SIFT_CONVERGE, - CUDD_REORDER_SYMM_SIFT, - CUDD_REORDER_SYMM_SIFT_CONV, - CUDD_REORDER_WINDOW2, - CUDD_REORDER_WINDOW3, - CUDD_REORDER_WINDOW4, - CUDD_REORDER_WINDOW2_CONV, - CUDD_REORDER_WINDOW3_CONV, - CUDD_REORDER_WINDOW4_CONV, - CUDD_REORDER_GROUP_SIFT, - CUDD_REORDER_GROUP_SIFT_CONV, - CUDD_REORDER_ANNEALING, - CUDD_REORDER_GENETIC, - CUDD_REORDER_LINEAR, - CUDD_REORDER_LINEAR_CONVERGE, - CUDD_REORDER_LAZY_SIFT, - CUDD_REORDER_EXACT, -}; - -int camlidl_ml2c_manager_enum_reorder(value _v1) -{ - int _c2; - _c2 = camlidl_transl_table_manager_enum_1[Int_val(_v1)]; - return _c2; -} - -value camlidl_c2ml_manager_enum_reorder(int _c1) -{ - value _v2; - _v2 = camlidl_find_enum(_c1, camlidl_transl_table_manager_enum_1, 22, "enum reorder: bad enum reorder value"); - return _v2; -} - -int camlidl_transl_table_manager_enum_2[10] = { - CUDD_NO_CHECK, - CUDD_GROUP_CHECK, - CUDD_GROUP_CHECK2, - CUDD_GROUP_CHECK3, - CUDD_GROUP_CHECK4, - CUDD_GROUP_CHECK5, - CUDD_GROUP_CHECK6, - CUDD_GROUP_CHECK7, - CUDD_GROUP_CHECK8, - CUDD_GROUP_CHECK9, -}; - -int camlidl_ml2c_manager_enum_aggregation(value _v1) -{ - int _c2; - _c2 = camlidl_transl_table_manager_enum_2[Int_val(_v1)]; - return _c2; -} - -value camlidl_c2ml_manager_enum_aggregation(int _c1) -{ - value _v2; - _v2 = camlidl_find_enum(_c1, camlidl_transl_table_manager_enum_2, 10, "enum aggregation: bad enum aggregation value"); - return _v2; -} - -int camlidl_transl_table_manager_enum_3[4] = { - CUDD_LAZY_NONE, - CUDD_LAZY_SOFT_GROUP, - CUDD_LAZY_HARD_GROUP, - CUDD_LAZY_UNGROUP, -}; - -int camlidl_ml2c_manager_enum_lazygroup(value _v1) -{ - int _c2; - _c2 = camlidl_transl_table_manager_enum_3[Int_val(_v1)]; - return _c2; -} - -value camlidl_c2ml_manager_enum_lazygroup(int _c1) -{ - value _v2; - switch(_c1) { - case CUDD_LAZY_NONE: _v2 = Val_int(0); break; - case CUDD_LAZY_SOFT_GROUP: _v2 = Val_int(1); break; - case CUDD_LAZY_HARD_GROUP: _v2 = Val_int(2); break; - case CUDD_LAZY_UNGROUP: _v2 = Val_int(3); break; - default: invalid_argument("enum lazygroup: bad enum lazygroup value"); - } - return _v2; -} - -int camlidl_transl_table_manager_enum_4[3] = { - CUDD_VAR_PRIMARY_INPUT, - CUDD_VAR_PRESENT_STATE, - CUDD_VAR_NEXT_STATE, -}; - -int camlidl_ml2c_manager_enum_vartype(value _v1) -{ - int _c2; - _c2 = camlidl_transl_table_manager_enum_4[Int_val(_v1)]; - return _c2; -} - -value camlidl_c2ml_manager_enum_vartype(int _c1) -{ - value _v2; - switch(_c1) { - case CUDD_VAR_PRIMARY_INPUT: _v2 = Val_int(0); break; - case CUDD_VAR_PRESENT_STATE: _v2 = Val_int(1); break; - case CUDD_VAR_NEXT_STATE: _v2 = Val_int(2); break; - default: invalid_argument("enum vartype: bad enum vartype value"); - } - return _v2; -} - -int camlidl_transl_table_manager_enum_5[2] = { - MTR_DEFAULT, - MTR_FIXED, -}; - -int camlidl_ml2c_manager_enum_mtr(value _v1) -{ - int _c2; - _c2 = camlidl_transl_table_manager_enum_5[Int_val(_v1)]; - return _c2; -} - -value camlidl_c2ml_manager_enum_mtr(int _c1) -{ - value _v2; - switch(_c1) { - case MTR_DEFAULT: _v2 = Val_int(0); break; - case MTR_FIXED: _v2 = Val_int(1); break; - default: invalid_argument("enum mtr: bad enum mtr value"); - } - return _v2; -} - -int camlidl_transl_table_manager_enum_6[6] = { - CUDD_NO_ERROR, - CUDD_MEMORY_OUT, - CUDD_TOO_MANY_NODES, - CUDD_MAX_MEM_EXCEEDED, - CUDD_INVALID_ARG, - CUDD_INTERNAL_ERROR, -}; - -int camlidl_ml2c_manager_enum_error(value _v1) -{ - int _c2; - _c2 = camlidl_transl_table_manager_enum_6[Int_val(_v1)]; - return _c2; -} - -value camlidl_c2ml_manager_enum_error(int _c1) -{ - value _v2; - _v2 = camlidl_find_enum(_c1, camlidl_transl_table_manager_enum_6, 6, "enum error: bad enum error value"); - return _v2; -} - -value camlidl_manager_make( - value _v_numVars, - value _v_numVarsZ, - value _v_numSlots, - value _v_cacheSize, - value _v_maxMemory) -{ - unsigned int numVars; /*in*/ - unsigned int numVarsZ; /*in*/ - unsigned int numSlots; /*in*/ - unsigned int cacheSize; /*in*/ - unsigned long maxMemory; /*in*/ - manager__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - numVars = Int_val(_v_numVars); - numVarsZ = Int_val(_v_numVarsZ); - numSlots = Int_val(_v_numSlots); - cacheSize = Int_val(_v_cacheSize); - maxMemory = Long_val(_v_maxMemory); - /* begin user-supplied calling sequence */ - if (numSlots==0) numSlots = CUDD_UNIQUE_SLOTS; - if (cacheSize==0) cacheSize = CUDD_CACHE_SLOTS; - _res = Cudd_Init(numVars, numVarsZ, numSlots, cacheSize, maxMemory); - { - int res; - res = Cudd_AddHook(_res,camlidl_dd_garbage,CUDD_PRE_GC_HOOK); - if (res!=1) - failwith("Manager.make: unable to add the garbage collection hook"); - res = Cudd_AddHook(_res,camlidl_dd_reordering,CUDD_PRE_REORDERING_HOOK); - if (res!=1) - failwith("Manager.make: unable to add the reordering hook"); -} - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_manager_manager__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_free( - value _v_man) -{ - manager__t man; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -Cudd_Quit(man); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_debugcheck( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_DebugCheck(man); - if (_res == CUDD_OUT_OF_MEM) - failwith("Dd.debugcheck returned CUDD_OUT_OF_MEM"); - - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_check_keys( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_CheckKeys(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_level_of_var( - value _v_man, - value _v_var) -{ - manager__t man; /*in*/ - int var; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - var = Int_val(_v_var); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadPerm(man,var); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_var_of_level( - value _v_man, - value _v_level) -{ - manager__t man; /*in*/ - int level; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - level = Int_val(_v_level); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadInvPerm(man,level); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_reduce_heap( - value _v_man, - value _v_heuristic, - value _v_minsize) -{ - manager__t man; /*in*/ - int heuristic; /*in*/ - int minsize; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - heuristic = camlidl_ml2c_manager_enum_reorder(_v_heuristic); - minsize = Int_val(_v_minsize); - /* begin user-supplied calling sequence */ -{ - int ok = Cudd_ReduceHeap(man,heuristic,minsize); - if (ok==0) failwith("Manager.reduce_heap failed"); -} - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_shuffle_heap( - value _v_man, - value _v_permut) -{ - manager__t man; /*in*/ - int *permut; /*in*/ - mlsize_t _c1; - mlsize_t _c2; - value _v3; - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - _c1 = Wosize_val(_v_permut); - permut = camlidl_malloc(_c1 * sizeof(int ), _ctx); - for (_c2 = 0; _c2 < _c1; _c2++) { - _v3 = Field(_v_permut, _c2); - permut[_c2] = Int_val(_v3); - } - /* begin user-supplied calling sequence */ -{ - int ok = Cudd_ShuffleHeap(man,permut); - if (ok==0) failwith("Manager.shuffle_heap failed"); -} - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_enable_autodyn( - value _v_man, - value _v_heuristic) -{ - manager__t man; /*in*/ - int heuristic; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - heuristic = camlidl_ml2c_manager_enum_reorder(_v_heuristic); - /* begin user-supplied calling sequence */ -Cudd_AutodynEnable(man,heuristic); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_disable_autodyn( - value _v_man) -{ - manager__t man; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -Cudd_AutodynDisable(man); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_autodyn_status( - value _v_man) -{ - manager__t man; /*in*/ - int *heuristic; /*out*/ - int _res; - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - int _c1; - value _vresult; - value _vres[2] = { 0, 0, }; - - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - heuristic = &_c1; - /* begin user-supplied calling sequence */ -_res = Cudd_ReorderingStatus(man,(Cudd_ReorderingType*)heuristic); - /* end user-supplied calling sequence */ - Begin_roots_block(_vres, 2) - _vres[0] = Val_int(_res); - _vres[1] = camlidl_c2ml_manager_enum_reorder(*heuristic); - _vresult = camlidl_alloc_small(2, 0); - Field(_vresult, 0) = _vres[0]; - Field(_vresult, 1) = _vres[1]; - End_roots() - camlidl_free(_ctx); - return _vresult; -} - -value camlidl_manager_group( - value _v_man, - value _v_low, - value _v_size, - value _v_type) -{ - manager__t man; /*in*/ - int low; /*in*/ - int size; /*in*/ - int type; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - low = Int_val(_v_low); - size = Int_val(_v_size); - type = camlidl_ml2c_manager_enum_mtr(_v_type); - /* begin user-supplied calling sequence */ -Cudd_MakeTreeNode(man, low, size, type); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_set_varmap( - value _v_man, - value _v_permut) -{ - manager__t man; /*in*/ - int *permut; /*in*/ - int size; /*in*/ - mlsize_t _c1; - mlsize_t _c2; - value _v3; - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - _c1 = Wosize_val(_v_permut); - permut = camlidl_malloc(_c1 * sizeof(int ), _ctx); - for (_c2 = 0; _c2 < _c1; _c2++) { - _v3 = Field(_v_permut, _c2); - permut[_c2] = Int_val(_v3); - } - size = _c1; - /* begin user-supplied calling sequence */ -{ - int ok = Cuddaux_SetVarMap(man,permut); - if (ok==0) failwith("Manager.set_varmap failed"); -} - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_background( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -{ - DdNode* add = Cudd_ReadBackground(man); - _res = cuddV(add); -} - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_background( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - double v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Double_val(_v_v); - /* begin user-supplied calling sequence */ -{ - DdNode* add = Cudd_addConst(man,v); - cuddRef(add); - Cudd_SetBackground(man,add); -} - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_epsilon( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadEpsilon(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_epsilon( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - double v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Double_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetEpsilon(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_min_hit( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMinHit(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_min_hit( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetMinHit(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_max_cache_hard( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMaxCacheHard(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_max_cache_hard( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetMaxCacheHard(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_looseupto( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadLooseUpTo(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_looseupto( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetLooseUpTo(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_max_live( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMaxLive(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_max_live( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetMaxLive(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_max_mem( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMaxMemory(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_max_mem( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetMaxMemory(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_sift_max_swap( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadSiftMaxSwap(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_sift_max_swap( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetSiftMaxSwap(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_sift_max_var( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadSiftMaxVar(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_sift_max_var( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetSiftMaxVar(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_groupcheck( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadGroupcheck(man); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_manager_enum_aggregation(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_groupcheck( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = camlidl_ml2c_manager_enum_aggregation(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetGroupcheck(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_arcviolation( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadArcviolation(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_arcviolation( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetArcviolation(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_crossovers( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadNumberXovers(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_crossovers( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetNumberXovers(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_population( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadPopulationSize(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_population( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetPopulationSize(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_recomb( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadRecomb(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_recomb( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetRecomb(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_symmviolation( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadSymmviolation(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_symmviolation( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetSymmviolation(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_max_growth( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMaxGrowth(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_max_growth( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetMaxGrowth(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_max_growth_alt( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMaxGrowthAlternate(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_max_growth_alt( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - double v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Double_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetMaxGrowthAlternate(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_reordering_cycle( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadReorderingCycle(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_reordering_cycle( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetReorderingCycle(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_next_autodyn( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadNextReordering(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_set_next_autodyn( - value _v_man, - value _v_v) -{ - manager__t man; /*in*/ - int v; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - v = Int_val(_v_v); - /* begin user-supplied calling sequence */ -Cudd_SetNextReordering(man,v); - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - -value camlidl_manager_get_cache_hits( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadCacheHits(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_cache_lookups( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadCacheLookUps(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_cache_slots( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadCacheSlots(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_cache_used_slots( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadCacheUsedSlots(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_dead( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadDead(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_error( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadErrorCode(man); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_manager_enum_error(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_gc_time( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadGarbageCollectionTime(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_gc_nb( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadGarbageCollections(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_keys( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadKeys(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_linear( - value _v_man, - value _v_x, - value _v_y) -{ - manager__t man; /*in*/ - int x; /*in*/ - int y; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - x = Int_val(_v_x); - y = Int_val(_v_y); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadLinear(man,x,y); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_max_cache( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMaxCache(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_min_dead( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadMinDead(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_node_count( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadNodeCount(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_node_count_peak( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadPeakNodeCount(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_reordering_time( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadReorderingTime(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_reordering_nb( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadReorderings(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_bddvar_nb( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadSize(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_zddvar_nb( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadZddSize(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_slots( - value _v_man) -{ - manager__t man; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadSlots(man); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_used_slots( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadUsedSlots(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_get_swap_nb( - value _v_man) -{ - manager__t man; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_ReadSwapSteps(man); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_manager_print_info( - value _v_man) -{ - manager__t man; /*in*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ - fflush(stdout); - Cudd_PrintInfo(man,stdout); - fflush(stdout); - - /* end user-supplied calling sequence */ - camlidl_free(_ctx); - return Val_unit; -} - diff --git a/mlcuddidl/rdd_caml.c b/mlcuddidl/rdd_caml.c deleted file mode 100644 index 915e87b..0000000 --- a/mlcuddidl/rdd_caml.c +++ /dev/null @@ -1,1577 +0,0 @@ -/* File generated from rdd.idl */ - -#include -#include -#include -#include -#include -#include -#include -#ifdef Custom_tag -#include -#include -#endif -#include - - -#include "caml/custom.h" -#include "cudd_caml.h" - -extern void manager_ml2c(value, manager__t *); -#define camlidl_ml2c_manager_manager__t(v,c,ctx) manager_ml2c(v,c) - -extern value manager_c2ml(manager__t *); -#define camlidl_c2ml_manager_manager__t(c,ctx) manager_c2ml(c) - - -extern int camlidl_ml2c_manager_enum_reorder(value); -extern value camlidl_c2ml_manager_enum_reorder(int); - -extern int camlidl_transl_table_manager_enum_reorder[]; - -extern int camlidl_ml2c_manager_enum_aggregation(value); -extern value camlidl_c2ml_manager_enum_aggregation(int); - -extern int camlidl_transl_table_manager_enum_aggregation[]; - -extern int camlidl_ml2c_manager_enum_lazygroup(value); -extern value camlidl_c2ml_manager_enum_lazygroup(int); - -extern int camlidl_transl_table_manager_enum_lazygroup[]; - -extern int camlidl_ml2c_manager_enum_vartype(value); -extern value camlidl_c2ml_manager_enum_vartype(int); - -extern int camlidl_transl_table_manager_enum_vartype[]; - -extern int camlidl_ml2c_manager_enum_mtr(value); -extern value camlidl_c2ml_manager_enum_mtr(int); - -extern int camlidl_transl_table_manager_enum_mtr[]; - -extern int camlidl_ml2c_manager_enum_error(value); -extern value camlidl_c2ml_manager_enum_error(int); - -extern int camlidl_transl_table_manager_enum_error[]; - -extern void node_ml2c(value, bdd__t *); -#define camlidl_ml2c_bdd_bdd__t(v,c,ctx) node_ml2c(v,c) - -extern value bdd_c2ml(bdd__t *); -#define camlidl_c2ml_bdd_bdd__t(c,ctx) bdd_c2ml(c) - - -#define camlidl_ml2c_rdd_rdd__t(v,c,ctx) node_ml2c(v,c) - -#define camlidl_c2ml_rdd_rdd__t(c,ctx) node_c2ml(c) - -value camlidl_rdd_dthen( - value _v_no) -{ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res.man = no.man; _res.node = cuddT(no.node); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_delse( - value _v_no) -{ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res.man = no.man; _res.node = cuddE(no.node); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_dval( - value _v_no) -{ - rdd__t no; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = cuddV(no.node); - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_cofactors( - value _v_var, - value _v_no) -{ - int var; /*in*/ - rdd__t no; /*in*/ - rdd__t noa; /*out*/ - rdd__t nob; /*out*/ - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - value _vresult; - value _vres[2] = { 0, 0, }; - - var = Int_val(_v_var); - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - { - DdNode* cof; - noa.man = nob.man = no.man; - Begin_roots1(_v_no); - cof = Cudd_bddIthVar(no.man, var); - noa.node = Cudd_Cofactor(no.man,no.node,cof); - nob.node = Cudd_Cofactor(no.man,no.node,Cudd_Not(cof)); - End_roots(); - } - - /* end user-supplied calling sequence */ - Begin_roots_block(_vres, 2) - _vres[0] = camlidl_c2ml_rdd_rdd__t(&noa, _ctx); - _vres[1] = camlidl_c2ml_rdd_rdd__t(&nob, _ctx); - _vresult = camlidl_alloc_small(2, 0); - Field(_vresult, 0) = _vres[0]; - Field(_vresult, 1) = _vres[1]; - End_roots() - camlidl_free(_ctx); - return _vresult; -} - -value camlidl_rdd_cofactor( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - bdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_Cofactor(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_cst( - value _v_man, - value _v_val) -{ - manager__t man; /*in*/ - double val; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - val = Double_val(_v_val); - /* begin user-supplied calling sequence */ -_res.man = man; _res.node = Cudd_addConst(man,val); - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_ite( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t no3; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; -Begin_roots3(_v_no1,_v_no2,_v_no3); -_res.man = no1.man; -_res.node = Cuddaux_addIte(no1.man,no1.node,no2.node,no3.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_compose( - value _v_var, - value _v_no1, - value _v_no2) -{ - int var; /*in*/ - bdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - var = Int_val(_v_var); - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_addCompose(no1.man, no2.node, no1.node, var); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_varmap( - value _v_no) -{ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cuddaux_addVarMap(no.man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_is_eval_cst( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - bdd__t no2; /*in*/ - double *_res; - value _v1; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - { - static double storage; - DdNode* node; - - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - node = Cuddaux_addEvalConst(no1.man,no2.node,no1.node); - if (node==DD_NON_CONSTANT || ! cuddIsConstant(node)) - _res = 0; - else { - storage = cuddV(node); - _res = &storage; - } - } - - /* end user-supplied calling sequence */ - if (_res == NULL) { - _vres = Val_int(0); - } else { - _v1 = copy_double(*_res); - Begin_root(_v1) - _vres = camlidl_alloc_small(1, 0); - Field(_vres, 0) = _v1; - End_roots(); - } - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_is_ite_cst( - value _v_no1, - value _v_no2, - value _v_no3) -{ - bdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t no3; /*in*/ - double *_res; - value _v1; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no3, &no3, _ctx); - /* begin user-supplied calling sequence */ - { - static double storage; - - DdNode* node; - if (no1.man!=no2.man || no1.man!=no3.man){ failwith("Dd: ternary function called with nodes belonging to different managers !"); }; - node = Cuddaux_addIteConstant(no1.man,no1.node,no2.node,no3.node); - if (node==DD_NON_CONSTANT || ! cuddIsConstant(node)) - _res = 0; - else { - storage = cuddV(node); - _res = &storage; - } - } - - /* end user-supplied calling sequence */ - if (_res == NULL) { - _vres = Val_int(0); - } else { - _v1 = copy_double(*_res); - Begin_root(_v1) - _vres = camlidl_alloc_small(1, 0); - Field(_vres, 0) = _v1; - End_roots(); - } - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_nbnonzeropaths( - value _v_no) -{ - rdd__t no; /*in*/ - double _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_CountPathsToNonZero(no.node); if (_res==(double)CUDD_OUT_OF_MEM){ failwith("Bdd.nbnonzeropaths returned CUDD_OUT_OF_MEM"); } - /* end user-supplied calling sequence */ - _vres = copy_double(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_nbleaves( - value _v_no) -{ - rdd__t no; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ -_res = Cudd_CountLeaves(no.node); if (_res==CUDD_OUT_OF_MEM){ failwith ("Rdd.nbleaves returned CUDD_OUT_OF_MEM"); } - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_guard_of_node( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_addGuardOfNode(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_guard_of_leaf( - value _v_no, - value _v_val) -{ - rdd__t no; /*in*/ - double val; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - val = Double_val(_v_val); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -{ -DdNode* nval = Cudd_addConst(no.man, val); -cuddRef(nval); -_res.man = no.man; -_res.node = Cuddaux_addGuardOfNode(no.man,no.node,nval); -cuddRef(_res.node); -Cudd_RecursiveDeref(no.man,nval); -cuddDeref(_res.node); -} -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_constrain( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - bdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_addConstrain(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_tdconstrain( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - bdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_addTDConstrain(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_restrict( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - bdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_addRestrict(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_tdrestrict( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - bdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_bdd_bdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cuddaux_addTDRestrict(no1.man,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_of_bdd( - value _v_no) -{ - bdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_BddToAdd(no.man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_to_bdd( - value _v_no) -{ - rdd__t no; /*in*/ - bdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_addBddPattern(no.man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_bdd_bdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_to_bdd_threshold( - value _v_val, - value _v_no) -{ - double val; /*in*/ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - val = Double_val(_v_val); - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_addBddThreshold(no.man,no.node,val); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_to_bdd_strictthreshold( - value _v_val, - value _v_no) -{ - double val; /*in*/ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - val = Double_val(_v_val); - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_addBddStrictThreshold(no.man,no.node,val); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_to_bdd_interval( - value _v_lower, - value _v_upper, - value _v_no) -{ - double lower; /*in*/ - double upper; /*in*/ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - lower = Double_val(_v_lower); - upper = Double_val(_v_upper); - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_addBddInterval(no.man,no.node,lower,upper); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_exist( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -{ - DdNode* add1 = Cudd_BddToAdd(no1.man,no1.node); - cuddRef(add1); - _res.man = no1.man; - _res.node = Cudd_addExistAbstract(no1.man,no2.node,add1); - cuddRef(_res.node); - Cudd_RecursiveDeref(no1.man,add1); - cuddDeref(_res.node); -} -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_forall( - value _v_no1, - value _v_no2) -{ - bdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_bdd_bdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ - -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -{ - DdNode* add1 = Cudd_BddToAdd(no1.man,no1.node); - cuddRef(add1); - _res.man = no1.man; - _res.node = Cudd_addUnivAbstract(no1.man,no2.node,add1); - cuddRef(_res.node); - Cudd_RecursiveDeref(no1.man,add1); - cuddDeref(_res.node); -} -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_is_leq( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - int _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; _res = Cudd_addLeq(no1.man,no1.node,no2.node); - /* end user-supplied calling sequence */ - _vres = Val_int(_res); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_add( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addPlus,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_sub( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addMinus,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_mul( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addTimes,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_div( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addDivide,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_min( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addMinimum,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_max( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addMaximum,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_agreement( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addAgreement,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_diff( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addDiff,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_threshold( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addThreshold,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_setNZ( - value _v_no1, - value _v_no2) -{ - rdd__t no1; /*in*/ - rdd__t no2; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no1, &no1, _ctx); - camlidl_ml2c_rdd_rdd__t(_v_no2, &no2, _ctx); - /* begin user-supplied calling sequence */ -if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; -Begin_roots2(_v_no1,_v_no2); -_res.man = no1.man; -_res.node = Cudd_addApply(no1.man,Cudd_addSetNZ,no1.node,no2.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - -value camlidl_rdd_log( - value _v_no) -{ - rdd__t no; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = no.man; -_res.node = Cudd_addMonadicApply(no.man,Cudd_addLog,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - - - -value camlidl_rdd_matrix_multiply(value _v_array, value _v_no1, value _v_no2) -{ - CAMLparam3(_v_array,_v_no1,_v_no2); CAMLlocal1(_v_res); - int i,size; - DdNode** array; - node__t no,no1,no2; - - node_ml2c(_v_no1,&no1); - node_ml2c(_v_no2,&no2); - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - size = Wosize_val(_v_array); - array = malloc(size * sizeof(DdNode*)); - for (i=0; i G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_unop_1(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = copy_double(cuddV(f)); - _v_val = callback(camlidl_rdd_unclosures[1], _v_f); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_binop_1(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_binclosures[1], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_combinop_1(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_combinclosures[1], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_unop_2(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = copy_double(cuddV(f)); - _v_val = callback(camlidl_rdd_unclosures[2], _v_f); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_binop_2(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_binclosures[2], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_combinop_2(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_combinclosures[2], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_unop_3(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = copy_double(cuddV(f)); - _v_val = callback(camlidl_rdd_unclosures[3], _v_f); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_binop_3(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_binclosures[3], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_combinop_3(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_combinclosures[3], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_unop_4(DdManager* man, DdNode* f) -{ - CAMLparam0(); CAMLlocal2(_v_f,_v_val); - DdNode *res; - double val; - - if (cuddIsConstant(f)){ - _v_f = copy_double(cuddV(f)); - _v_val = callback(camlidl_rdd_unclosures[4], _v_f); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_binop_4(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_binclosures[4], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - res = NULL; - } - CAMLreturn(res); -} -static DdNode* camlidl_rdd_combinop_4(DdManager* man, DdNode** f, DdNode** g) -{ - CAMLparam0(); CAMLlocal3(_v_F,_v_G,_v_val); - DdNode *F, *G, *res; - double val; - - F = *f; G = *g; - if (cuddIsConstant(F) && cuddIsConstant(G)) { - _v_F = copy_double(cuddV(F)); - _v_G = copy_double(cuddV(G)); - _v_val = callback2(camlidl_rdd_combinclosures[4], _v_F, _v_G); - val = Double_val(_v_val); - res = cuddUniqueConst(man,val); - } - else { - if (F > G) { - *f = G; - *g = F; - } - res = NULL; - } - CAMLreturn(res); -} - -unop_t camlidl_rdd_unops[5] = { - &camlidl_rdd_unop_0, &camlidl_rdd_unop_1, &camlidl_rdd_unop_2, &camlidl_rdd_unop_3, &camlidl_rdd_unop_4, -}; -binop_t camlidl_rdd_binops[5] = { - &camlidl_rdd_binop_0, &camlidl_rdd_binop_1, &camlidl_rdd_binop_2, &camlidl_rdd_binop_3, &camlidl_rdd_binop_4, -}; -binop_t camlidl_rdd_combinops[5] = { - &camlidl_rdd_combinop_0, &camlidl_rdd_combinop_1, &camlidl_rdd_combinop_2, &camlidl_rdd_combinop_3, &camlidl_rdd_combinop_4, -}; - -int camlidl_rdd_nb_unop = 0; -int camlidl_rdd_nb_binop = 0; -int camlidl_rdd_nb_combinop = 0; - -value camlidl_rdd_alloc_unop(value _v_closure) -{ - CAMLparam1(_v_closure); CAMLlocal1(_v_res); - if (camlidl_rdd_nb_unop < 5){ - register_global_root(&(camlidl_rdd_unclosures[camlidl_rdd_nb_unop])); - camlidl_rdd_unclosures[camlidl_rdd_nb_unop] = _v_closure; - _v_res = Val_int(camlidl_rdd_nb_unop); - camlidl_rdd_nb_unop++; - } - else { - failwith("rdd.alloc_unop: maximum number of ops already allocated"); - } - CAMLreturn(_v_res); -} -value camlidl_rdd_alloc_binop(value _v_closure) -{ - CAMLparam1(_v_closure); CAMLlocal1(_v_res); - if (camlidl_rdd_nb_binop < 5){ - register_global_root(&(camlidl_rdd_binclosures[camlidl_rdd_nb_binop])); - camlidl_rdd_binclosures[camlidl_rdd_nb_binop] = _v_closure; - _v_res = Val_int(camlidl_rdd_nb_binop); - camlidl_rdd_nb_binop++; - } - else { - failwith("rdd.alloc_binop: maximum number of ops already allocated"); - } - CAMLreturn(_v_res); -} -value camlidl_rdd_alloc_combinop(value _v_closure) -{ - CAMLparam1(_v_closure); CAMLlocal1(_v_res); - if (camlidl_rdd_nb_combinop < 5){ - register_global_root(&(camlidl_rdd_combinclosures[camlidl_rdd_nb_combinop])); - camlidl_rdd_combinclosures[camlidl_rdd_nb_combinop] = _v_closure; - _v_res = Val_int(camlidl_rdd_nb_combinop); - camlidl_rdd_nb_combinop++; - } - else { - failwith("rdd.alloc_combinop: maximum number of ops already allocated"); - } - CAMLreturn(_v_res); -} -value camlidl_rdd_apply_unop(value _v_id, value _v_no) -{ - CAMLparam2(_v_id,_v_no); CAMLlocal1(_v_res); - node__t no,_res; - int id; - - id = Int_val(_v_id); - node_ml2c(_v_no,&no); - - _res.man = no.man; - _res.node = Cudd_addMonadicApply(no.man,camlidl_rdd_unops[id], no.node); - _v_res = node_c2ml(&_res); - CAMLreturn(_v_res); -} -value camlidl_rdd_apply_binop(value _v_id, value _v_no1, value _v_no2) -{ - CAMLparam3(_v_id,_v_no1,_v_no2); CAMLlocal1(_v_res); - node__t no1,no2,_res; - int id; - - id = Int_val(_v_id); - node_ml2c(_v_no1,&no1); - node_ml2c(_v_no2,&no2); - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - _res.man = no1.man; - _res.node = Cudd_addApply(no1.man,camlidl_rdd_binops[id], no1.node, no2.node); - _v_res = node_c2ml(&_res); - CAMLreturn(_v_res); -} -value camlidl_rdd_apply_combinop(value _v_id, value _v_no1, value _v_no2) -{ - CAMLparam3(_v_id,_v_no1,_v_no2); CAMLlocal1(_v_res); - node__t no1,no2,_res; - int id; - - id = Int_val(_v_id); - node_ml2c(_v_no1,&no1); - node_ml2c(_v_no2,&no2); - if (no1.man!=no2.man){ failwith("Dd: binary function called with nodes belonging to different managers !"); }; - _res.man = no1.man; - _res.node = Cudd_addApply(no1.man,camlidl_rdd_combinops[Int_val(_v_id)],no1.node,no2.node); - _v_res = node_c2ml(&_res); - CAMLreturn(_v_res); -} -value camlidl_rdd_transfer( - value _v_no, - value _v_man) -{ - rdd__t no; /*in*/ - manager__t man; /*in*/ - rdd__t _res; - value _vres; - - struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL }; - camlidl_ctx _ctx = &_ctxs; - camlidl_ml2c_rdd_rdd__t(_v_no, &no, _ctx); - camlidl_ml2c_manager_manager__t(_v_man, &man, _ctx); - /* begin user-supplied calling sequence */ - -Begin_roots1(_v_no); -_res.man = man; -_res.node = Cuddaux_addTransfer(no.man,man,no.node); -End_roots(); - - /* end user-supplied calling sequence */ - _vres = camlidl_c2ml_rdd_rdd__t(&_res, _ctx); - camlidl_free(_ctx); - return _vres; -} - diff --git a/polka/Makefile.config b/polka/Makefile.config index 87f96d8..cd6269b 100644 --- a/polka/Makefile.config +++ b/polka/Makefile.config @@ -6,15 +6,15 @@ # Installation directory prefix # -CAML_INSTALL = /home/jahier/$(HOSTTYPE) -CAMLIDL_INSTALL = /home/jahier/$(HOSTTYPE) +CAML_INSTALL = $(HOME)/$(HOSTTYPE) +CAMLIDL_INSTALL = $(HOME)/$(HOSTTYPE) +GMP_INSTALL=$(HOME)/$(HOSTTYPE) PREFIX = $(POLKA_INSTALL) # C include and lib directories -INCDIR = /home/jahier/$(HOSTTYPE)/include -LIBDIR = /home/jahier/$(HOSTTYPE)/lib -BINDIR = /home/jahier/$(HOSTTYPE)/bin - +INCDIR = $(HOME)/$(HOSTTYPE)/include +LIBDIR = $(HOME)/$(HOSTTYPE)/lib +BINDIR = $(HOME)/$(HOSTTYPE)/bin # # Where to find GMP (here, $(GMP_INSTALL)/include, $(GMP_INSTALL)/lib) # diff --git a/polka/caml/Makefile.depend b/polka/caml/Makefile.depend index 4a74739..e69de29 100644 --- a/polka/caml/Makefile.depend +++ b/polka/caml/Makefile.depend @@ -1,17 +0,0 @@ -matrix.cmi: vector.cmi -poly.cmi: matrix.cmi vector.cmi -polka.cmo: polka.cmi -polka.cmx: polka.cmi -vector.cmo: polka.cmi polka_lexer.cmi polka_parser.cmi vector.cmi -vector.cmx: polka.cmx polka_lexer.cmi polka_parser.cmx vector.cmi -matrix.cmo: polka.cmi vector.cmi matrix.cmi -matrix.cmx: polka.cmx vector.cmx matrix.cmi -poly.cmo: matrix.cmi vector.cmi poly.cmi -poly.cmx: matrix.cmx vector.cmx poly.cmi -polka_parser.cmo: polka.cmi polka_parser.cmi -polka_parser.cmx: polka.cmx polka_parser.cmi -polka_parser.cmi: polka.cmi -polka_lexer.cmi: polka_parser.cmi -polkaIO.cmo: matrix.cmi polka.cmi poly.cmi vector.cmi polkaIO.cmi -polkaIO.cmx: matrix.cmx polka.cmx poly.cmx vector.cmx polkaIO.cmi -polkaIO.cmi: matrix.cmi poly.cmi vector.cmi diff --git a/share/Makefile.lurette.in b/share/Makefile.lurette.in index bc0099c..0b69b7d 100644 --- a/share/Makefile.lurette.in +++ b/share/Makefile.lurette.in @@ -15,7 +15,7 @@ INCLUDEDIRS = -I@LURETTEPATH@/@HOST_TYPE@/include -I$(USER_TESTING_DIR) LIBDIRS = -L@LURETTEPATH@/@HOST_TYPE@/lib -LIBS = -lgmp -lm -ldl +LIBS = -lgmp -lm SOURCES_C = ocaml2c_stubs.c $(SUT) lurette__sut.c $(ORACLE) lurette__oracle.c lurette_exe.c call_lurette_main.c diff --git a/share/configure.in b/share/configure.in index 8f4a629..0550cde 100644 --- a/share/configure.in +++ b/share/configure.in @@ -4,9 +4,13 @@ AC_INIT(Makefile.lurette.in) +unset LANG +unset LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME + + if test $prefix = NONE; then - LURETTEPATH=$PWD/.. + LURETTEPATH=$(shell pwd)/.. else LURETTEPATH=$prefix fi @@ -14,14 +18,14 @@ fi AC_SUBST(LURETTEPATH) -# HOSTTYPE value is system dependent -case $HOSTTYPE in - *linux*) HOST_TYPE=i386-linux ;; - *sun*) HOST_TYPE=sparc-sun ;; - *sparc*) HOST_TYPE=sparc-sun ;; - *) AC_MSG_ERROR(Unsupported architecture);; -esac +# Determine the system type +case `./config.guess` in + i*86-pc-linux-*) HOST_TYPE=i386-linux ;; + sparc-sun-solaris2.*) HOST_TYPE=sparc-sun ;; + i*86-*-cygwin) HOST_TYPE=cygwin ;; + *) AC_MSG_ERROR(Unsupported architecture);; +esac AC_SUBST(HOST_TYPE) @@ -55,9 +59,6 @@ if test "$EC2C" = no ; then EC2C=ec2c fi - - - AC_SUBST(LUS2EC) AC_SUBST(EC2C) @@ -97,10 +98,8 @@ echo " in your .bashrc (resp .cshrc)." echo echo " if you want to install tools anywhere else than lurette-XXX/$HOST_TYPE/{bin,lib}" echo " you can type " -echo " ./configure --prefix=" -echo " and then do a " -echo " make install" -echo " in the share directory" +echo " cd share " +echo " ./configure --prefix " echo echo " bye!" diff --git a/share/lucky_init.csh.in b/share/lucky_init.csh.in index ab92994..5ddf120 100644 --- a/share/lucky_init.csh.in +++ b/share/lucky_init.csh.in @@ -2,9 +2,10 @@ # Set up environment variables needed by lucky, lurettetop, and xlurette # (csh syntax) -echo "sourcing the content of lucky_init.csh..." setenv LURETTE_PATH @LURETTEPATH@ +setenv PIXMAP_DIR @LURETTEPATH@/share/pixmaps/ + set path=(@LURETTEPATH@/@HOST_TYPE@/bin $path) setenv PS_VIEWER @GV@ diff --git a/share/lucky_init.sh.in b/share/lucky_init.sh.in index ae9d08b..ffb760a 100644 --- a/share/lucky_init.sh.in +++ b/share/lucky_init.sh.in @@ -2,9 +2,10 @@ # Set up environment variables needed by lucky, lurettetop, and xlurette # (sh syntax) -echo "sourcing the content of lucky_init.sh..." export LURETTE_PATH=@LURETTEPATH@ +export PIXMAP_DIR=@LURETTEPATH@/share/pixmaps/ + export path=@LURETTEPATH@/@HOST_TYPE@/bin $path export PS_VIEWER=@GV@ diff --git a/source/Makefile b/source/Makefile index 084a0f1..08feb5c 100644 --- a/source/Makefile +++ b/source/Makefile @@ -14,87 +14,87 @@ INC_INSTALL_DIR = $(LURETTE_PATH)/$(HOST_TYPE)/include liblurette_lib_nc.a: cd lurette_util ; rm *; \ ar rcs liblurette_lib_nc.a ../lurette_lib.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcudd_caml.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcudd_caml.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcuddaux.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcuddaux.a ;\ ar r liblurette_lib_nc.a ../lurette_lib.o *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcudd.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcudd.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libpolkag_caml.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libpolkag_caml.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libpolkag.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libpolkag.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcamlidl.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcamlidl.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libmtr.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libmtr.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libst.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libst.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libepd.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libepd.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libutil.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libutil.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/ocaml/libstr.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/ocaml/libstr.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/ocaml/libasmrun.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/ocaml/libasmrun.a ;\ ar r liblurette_lib_nc.a *.o ; rm *.o ;\ cp liblurette_lib_nc.a .. liblurette_lib_bc.a: cd lurette_util ;rm * ;\ ar rcs liblurette_lib_bc.a ../lurette_lib.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcudd_caml.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcudd_caml.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcuddaux.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcuddaux.a ;\ ar r liblurette_lib_bc.a ../lurette_lib.o *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcudd.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcudd.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libpolkag_caml.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libpolkag_caml.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libpolkag.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libpolkag.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcamlidl.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcamlidl.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libmtr.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libmtr.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libst.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libst.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libepd.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libepd.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libutil.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libutil.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/ocaml/libstr.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/ocaml/libstr.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/ocaml/libcamlrun.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/ocaml/libcamlrun.a ;\ ar r liblurette_lib_bc.a *.o ; rm *.o ;\ cp liblurette_lib_bc.a .. liblurette_lib_dc.a: cd lurette_util ;rm * ;\ ar rcs liblurette_lib_dc.a ../lurette_lib.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcudd_caml.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcudd_caml.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcuddaux_debug.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcuddaux_debug.a ;\ ar r liblurette_lib_dc.a ../lurette_lib.o *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcudd.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcudd.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libpolkag_caml.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libpolkag_caml.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libpolkag.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libpolkag.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcamlidl.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcamlidl.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libmtr.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libmtr.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libst.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libst.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libepd.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libepd.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libutil.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libutil.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/ocaml/libstr.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/ocaml/libstr.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ - ar x /home/jahier/$(HOST_TYPE)/lib/libcamlrun.a ;\ + ar x $(HOME)/$(HOST_TYPE)/lib/libcamlrun.a ;\ ar r liblurette_lib_dc.a *.o ; rm *.o ;\ cp liblurette_lib_dc.a .. @@ -194,7 +194,7 @@ gen_lut_assert: xlurette: - cd /home/jahier/lurette/ihm/xlurette; \ + cd $(HOME)/lurette/ihm/xlurette; \ make opt_opt ; cp xlurette ../../$(HOST_TYPE)/bin all_assert:lurette_assert lucky_assert ltop_assert show_assert stubs_assert gen_lut_assert @@ -214,7 +214,6 @@ clean: cp: - cp ../ihm/xlurette/xlurette $(BIN_INSTALL_DIR) ;\ cp gen_stubs $(BIN_INSTALL_DIR) ; \ cp gen_fake_lutin $(BIN_INSTALL_DIR) ; \ cp lucky $(BIN_INSTALL_DIR) ; \ @@ -228,6 +227,3 @@ cp: install: all cp -cp_airbus: - cp /home/jahier/lurette/test/luretteV2-i386-linux-17-04-03.tgz ~raymond/,OUEBE/airbus/ - cp /home/jahier/lurette/test/luretteV2-sparc-sun-17-04-03.tgz ~raymond/,OUEBE/airbus/ \ No newline at end of file diff --git a/source/Makefile.lucky b/source/Makefile.lucky index 9e5bca8..fc85aba 100644 --- a/source/Makefile.lucky +++ b/source/Makefile.lucky @@ -12,7 +12,7 @@ ifndef OCAMLFLAGS endif -OCAMLLDFLAGS=-cclib -lpolkag_caml -cclib -lpolkag -cclib /usr/local/lib/libgmp.a +OCAMLLDFLAGS=-cclib -lpolkag_caml -cclib -lpolkag -cclib $(HOME)/$(HOST_TYPE)/lib/libgmp.a CC=gcc #g++ diff --git a/source/Makefile.lurette_lib b/source/Makefile.lurette_lib index beba06f..28c3ef3 100644 --- a/source/Makefile.lurette_lib +++ b/source/Makefile.lurette_lib @@ -16,7 +16,7 @@ CC=gcc #g++ OCAMLLDFLAGS = \ -cclib -lcudd_caml -cclib -lcuddaux -cclib -lcudd \ -cclib -lpolkag_caml -cclib -lpolkag \ - -cclib /home/jahier/$(HOST_TYPE)/lib/libgmp.a -cclib -lm -cclib -ldl \ + -cclib $(HOME)/$(HOST_TYPE)/lib/libgmp.a -cclib -lm -cclib -ldl \ -cclib -lcamlidl -cclib -lmtr -cclib -lst -cclib -lepd -cclib -lutil \ -output-obj diff --git a/source/automata.ml b/source/automata.ml index 4ec93fe..7e576f4 100644 --- a/source/automata.ml +++ b/source/automata.ml @@ -136,7 +136,9 @@ and let tnl = Graph.get_list_of_target_nodes g n in (* Add the current transitions and draw weights *) List.iter - (fun (nt, (w, f, pc)) -> + (fun (nt, (source_info, w, f, pc)) -> + + let _ = Env_state.set_source_info n source_info in let st1 = (Env_state.ctrl_expr pc) st0 in if is_pos_or_recoverable_var w st1 @@ -582,21 +584,32 @@ let rec (choose_n_formula_acc: int -> t -> accT -> accT) = fun n a nt_f_st_l0 -> if n = 0 - then + then nt_f_st_l0 else try let (ntl, f, st) = choose_a_formula a in (* let (ntl, f, st) = choose_a_formula True a in *) choose_n_formula_acc (n-1) a ((ntl, f, st)::nt_f_st_l0) - with Not_found -> + with Not_found -> let nodes_str = intset_to_string (fst a) in - if (IntSet.cardinal (fst a)) = 1 - then failwith ("*** No (more) transition(s) can be made from node " - ^ nodes_str ^ ". \n") - else failwith ("*** No (more) transition(s) can be made from one " - ^ "of the nodes: " ^ nodes_str ^ ".\n") - + IntSet.iter + (fun n -> + match (Env_state.source_info n) with + None -> + print_string + ("*** In file " ^ (Env_state.file_name n) ^ + ", the current node is " ^ (string_of_int n) ^ "\n") + | Some (file, ln, cn) -> + print_string ( + "*** In File " ^ file ^ + ", the current control point is at line " ^ + (string_of_int ln) ^ ", column " ^ (string_of_int cn) ^ + "\n" + ) + ) + (fst a) ; + exit 0 (* exported *) let (choose_n_formula: int -> t -> (node list * formula * Control.state) list) = diff --git a/source/env_state.ml b/source/env_state.ml index d6575a8..381923b 100644 --- a/source/env_state.ml +++ b/source/env_state.ml @@ -46,6 +46,10 @@ type env_stateT = { we need to be able to know what variables are still to be drawn. *) + node_to_source_info : (int, Formula.source_info) Hashtbl.t; + (** associates to some nodes information related to the source lutin + file: file name, line and col number *) + alias_to_formula_or_expr : (string, formula_or_expr) Hashtbl.t; (** Associates a formula or a numexpr to a label *) @@ -135,6 +139,7 @@ let (env_state:env_stateT) = { pre_var_names = []; output_var_names = []; node_to_file_name = Hashtbl.create 0 ; + node_to_source_info = Hashtbl.create 0 ; bdd_manager = init_manager (); graph = Graph.create () ; @@ -226,6 +231,21 @@ let (set_file_name: Formula.node -> string -> unit) = fun node file -> Hashtbl.replace env_state.node_to_file_name node file +(****************************************************************************) +let (source_info: Formula.node -> Formula.source_info) = + fun node -> + try + Hashtbl.find env_state.node_to_source_info node + with + Not_found -> None + +let (set_source_info: Formula.node -> Formula.source_info -> unit) = + fun node si -> + match si with + None -> () + | Some _ -> + Hashtbl.replace env_state.node_to_source_info node si + (****************************************************************************) let (bdd_manager : unit -> Manager.t) = fun _ -> diff --git a/source/env_state.mli b/source/env_state.mli index 33cf23b..aff2efa 100644 --- a/source/env_state.mli +++ b/source/env_state.mli @@ -74,6 +74,15 @@ val file_name: Formula.node -> string (** Sets the file name where a node is defined *) val set_file_name: Formula.node -> string -> unit + +(** Returns nodes information related to the source lutin file: file + name, line and col numberfile name where a node is defined. *) +val source_info: Formula.node -> Formula.source_info + +(** Sets the source information. *) +val set_source_info: Formula.node -> Formula.source_info -> unit + + (** Returns the Bdd engine internal state. *) val bdd_manager : unit -> Manager.t diff --git a/source/formula.ml b/source/formula.ml index f089d22..c469a7f 100644 --- a/source/formula.ml +++ b/source/formula.ml @@ -59,7 +59,9 @@ type weight = | Wident_not_sig of string type arc = node * node -type arc_info = weight * formula_eps * string + +type source_info = (string * int * int) option +type arc_info = source_info * weight * formula_eps * string type var_name = string type vn = var_name @@ -150,7 +152,7 @@ let (weight_to_string : weight -> string) = let (arc_info_to_string : arc_info -> string) = - fun (weight, formula_eps, post_cond_label) -> + fun (_, weight, formula_eps, post_cond_label) -> let pc_str = if post_cond_label = "identity" diff --git a/source/formula.mli b/source/formula.mli index 13dc0e6..5309c77 100644 --- a/source/formula.mli +++ b/source/formula.mli @@ -61,7 +61,11 @@ type weight = | Wident_not_sig of string type arc = node * node -type arc_info = weight * formula_eps * string + +type source_info = (string * int * int) option +(* file name, line number, col number *) + +type arc_info = source_info * weight * formula_eps * string type var_name = string type vn = var_name diff --git a/source/luc_exe.ml b/source/luc_exe.ml index 0f8e682..478df24 100644 --- a/source/luc_exe.ml +++ b/source/luc_exe.ml @@ -225,7 +225,7 @@ let (write_rif : vnt list -> subst list -> unit) = List.iter (fun (vn, _) -> let _ = assert (List.mem_assoc vn output) in - print_string (vn ^ ":"); +(* print_string (vn ^ ":"); *) Value.print stdout (List.assoc vn output) ) vntl @@ -501,6 +501,7 @@ try main () with e -> print_string ((Printexc.to_string e) ^ "\n"); flush stdout ;; +print_string "\n";; let _ = Callback.register "lurette_main" main;; diff --git a/source/lurette.ml b/source/lurette.ml index f93397a..99612a4 100644 --- a/source/lurette.ml +++ b/source/lurette.ml @@ -87,26 +87,42 @@ let (check_var_decl_consistency : (vn * string) list -> Env_state.set_output_var_names out_env; if not(list_are_equals out_env2 in_sut) then ( - output_string stdout "\nenv outputs: "; - Print.vn_str stdout out_env2; - output_string stdout "\nsut inputs: "; - Print.vn_str stdout in_sut; - output_string stdout - "\n*** env outputs and sut inputs should be the same.\n"; - flush stdout ; - exit 2 + let diff1 = diff_list_as_set out_env2 in_sut in + let diff2 = diff_list_as_set in_sut out_env2 in + output_string stdout + "\n*** env outputs and sut inputs should be the same.\n"; + if diff1 <> [] then + ( + print_string " Appears in the sut inputs, but not in the env outputs:\n"; + Print.vn_str stdout diff1 + ); + if diff2 <> [] then + ( + print_string " Appears in the env outputs, but not in the sut inputs:\n"; + Print.vn_str stdout diff2 + ); + flush stdout ; + exit 2 ) else if not(list_are_equals in_env2 out_sut) then - ( - output_string stdout "\nenv inputs: "; - Print.vn_str stdout in_env2; - output_string stdout "\nsut outputs: "; - Print.vn_str stdout out_sut; - output_string stdout - "\n*** env inputs and sut outputs should be the same.\n"; - flush stdout ; - exit 2 - ) + let diff1 = diff_list_as_set in_env2 out_sut in + let diff2 = diff_list_as_set out_sut in_env2 in + ( + output_string stdout + "\n*** env outputs and sut inputs should be the same.\n"; + if diff1 <> [] then + ( + print_string "\n\nAppears in the sut outputs, but not in the env inputs:"; + Print.vn_str stdout diff1 + ); + if diff2 <> [] then + ( + print_string "\n\nAppears in the env inputs, but not in the sut outputs:"; + Print.vn_str stdout diff2 + ); + flush stdout ; + exit 2 + ) else () diff --git a/source/lurettetop.ml b/source/lurettetop.ml index 6ee06e2..20b8c6b 100644 --- a/source/lurettetop.ml +++ b/source/lurettetop.ml @@ -387,7 +387,7 @@ let (build : string -> string -> string -> bool) = false else ( - output_string stderr " ...make ok.\n"; + output_string stderr " ... make ok.\n"; true ) with Failure e -> @@ -729,7 +729,7 @@ man display a small user manual clean - run a make clean (you can try it if <> failed) + clean-up temporary files (you can try it if <> failed) pack package up in .tgz files created in a temporary @@ -933,7 +933,7 @@ let (read_commands : string -> string -> string -> (unit -> string) -> bool) = flag.output <- str; true | Clean -> (* XXX Not portable !! *) - let rm_cmd = ("rm -f " ^ lurette_tmp_dir ^ "/*") in + let rm_cmd = ("cd " ^ lurette_tmp_dir ^ "; rm -f always_true.* lurette lurette__sut.c lurette__oracle.c ") in let _ = Sys.command rm_cmd in print_string (rm_cmd ^ "\n"); flag.to_build := true; diff --git a/source/ne.ml b/source/ne.ml index 22729fa..33b26ed 100644 --- a/source/ne.ml +++ b/source/ne.ml @@ -12,7 +12,12 @@ open Value module StringMap = struct - include Map.Make(struct type t = string let compare = compare end) + include Map.Make( + struct + type t = string + let compare = compare + end + ) end diff --git a/source/parse_env.ml b/source/parse_env.ml index 4e4bae7..57c6715 100644 --- a/source/parse_env.ml +++ b/source/parse_env.ml @@ -250,7 +250,7 @@ and (parse_list_var_tail3: in_channel -> (in_channel -> aut_token -> 'a) -> aut_ (** Parsing pragmas *) -type pragma = string * string +type pragma = string * (string list) let rec (parse_pragma: in_channel -> aut_token -> pragma) = fun ic tok -> @@ -259,14 +259,39 @@ let rec (parse_pragma: in_channel -> aut_token -> pragma) = try ( match tok with parser - [< 'Genlex.String label ; 'Genlex.Ident ":"; - 'Genlex.String pragma >] -> (label, pragma) + [< + 'Genlex.Kwd "%"; + 'Genlex.Ident label ; + 'Genlex.Ident ":"; + pragma = parse_pragma_loop ic [] + >] -> (label, List.rev pragma) ) with Failure "" -> failwith "" | e -> print_err_msg ic tok tok_list "parse_pragma" "" ""; failwith "" +and + (parse_pragma_loop: in_channel -> string list -> aut_token -> string list) = + fun ic acc tok -> + let _ = print_debug ic ("parse_pragma_loop \n") in + let tok_list = Stream.npeek 10 tok in + try + ( + match tok with parser + [< 'Genlex.Kwd "%">] -> acc + | [< 'Genlex.Ident id ; pragma = parse_pragma_loop ic (id::acc) >] -> pragma + | [< 'Genlex.String id ; pragma = parse_pragma_loop ic (id::acc) >] -> pragma + | [< 'Genlex.Kwd id ; pragma = parse_pragma_loop ic (id::acc) >] -> pragma + | [< 'Genlex.Int i ; pragma = parse_pragma_loop ic ((string_of_int i)::acc) >] -> pragma + | [< 'Genlex.Char c ; pragma = parse_pragma_loop ic ((Char.escaped c)::acc) >] -> pragma + | [< 'Genlex.Float i ; pragma = parse_pragma_loop ic ((string_of_float i)::acc) >] -> pragma + ) + with + Failure "" -> failwith "" + | e -> + print_err_msg ic tok tok_list "parse_pragma_loop" "" ""; + failwith "" and (parse_pragma_list: in_channel -> aut_token -> pragma list) = fun ic tok -> @@ -276,11 +301,11 @@ and ( match (Stream.npeek 1 tok) with [Genlex.Kwd "%"] -> ( match tok with parser - [< 'Genlex.Kwd "%" ; - pl = (parse_list ic (parse_pragma)); - 'Genlex.Kwd "%" + [< + p = parse_pragma ic; + pl = parse_pragma_list ic >] - -> pl + -> (p::pl) ) | _ -> [] ) @@ -309,6 +334,7 @@ let rec (parse_automata: in_channel -> aut_token -> read_automata) = ( match tok with parser [< + _ = parse_pragma_list ic; li = parse_list_inputs_opt ic; lo = parse_list_outputs_opt ic; ll = parse_list_locals_opt ic; @@ -546,10 +572,12 @@ and (parse_var: in_channel -> aut_token -> vnt) = match tok with parser [< 'Genlex.Kwd "("; 'Genlex.Ident var; - prag_var = parse_pragma_list ic; + _ = parse_pragma_list ic; 'Genlex.Kwd ","; 'Genlex.Ident typ ; - 'Genlex.Kwd ")" >] + 'Genlex.Kwd ")"; + _ = parse_pragma_list ic + >] -> ( match typ with "bool" -> (var, BoolT) @@ -594,7 +622,9 @@ and (parse_type: in_channel -> string -> string -> aut_token -> vnt) = try ( match tok with parser - [< 'Genlex.Kwd ")" >] -> + [< 'Genlex.Kwd ")" ; + _ = parse_pragma_list ic + >] -> ( match typ with "bool" -> (var, BoolT) | "float" -> (var, FloatT(-.default_max_float, default_max_float)) @@ -615,7 +645,8 @@ and (parse_type_more: in_channel -> string -> string -> aut_token -> vnt) = try ( match tok with parser - [< 'Genlex.Int min; 'Genlex.Kwd ","; 'Genlex.Int max; 'Genlex.Kwd ")" >] -> + [< 'Genlex.Int min; 'Genlex.Kwd ","; 'Genlex.Int max; 'Genlex.Kwd ")"; + _ = parse_pragma_list ic >] -> ( match typ with "bool" -> print_err_msg ic tok tok_list "parse_type_more" "" ("*** int expected" ); @@ -628,7 +659,8 @@ and (parse_type_more: in_channel -> string -> string -> aut_token -> vnt) = print_err_msg ic tok tok_list "parse_type_more" "" (str ^ " is not a valid type"); failwith "" ) - | [< 'Genlex.Float min; 'Genlex.Kwd ","; 'Genlex.Float max; 'Genlex.Kwd ")" >] -> + | [< 'Genlex.Float min; 'Genlex.Kwd ","; 'Genlex.Float max; 'Genlex.Kwd ")"; + _ = parse_pragma_list ic >] -> ( match typ with "bool" -> print_err_msg ic tok tok_list "parse_type_more" "" ("*** float expected in .luc " ); @@ -691,7 +723,10 @@ and (parse_prevar: in_channel -> aut_token -> vn * var_type * Value.t option) = [< 'Genlex.Kwd "("; 'Genlex.Ident "pre"; 'Genlex.Kwd "("; 'Genlex.Int i ; 'Genlex.Kwd "," ; 'Genlex.Ident var; 'Genlex.Kwd ")"; pl = parse_pragma_list ic ; - 'Genlex.Kwd ","; 'Genlex.Ident typ ; some_default = parse_default_value ic ; 'Genlex.Kwd ")" >] + 'Genlex.Kwd ","; 'Genlex.Ident typ ; + some_default = parse_default_value ic ; + 'Genlex.Kwd ")"; + _ = parse_pragma_list ic >] -> let pre_var = Prevar.create_prevar_name i var in ( match typ with @@ -732,7 +767,8 @@ and (parse_alias_def: in_channel -> vnt list -> aut_token 'Genlex.Ident alias ; 'Genlex.Kwd "," ; def = parse_formula_or_expr alias ic vars ; - 'Genlex.Kwd ")" + 'Genlex.Kwd ")"; + _ = parse_pragma_list ic >] -> (alias, def) @@ -768,7 +804,8 @@ and (parse_ce: in_channel -> aut_token -> label_ce) = 'Genlex.Ident label ; 'Genlex.Kwd "," ; expr = parse_list_ctrl_expr ic ; - 'Genlex.Kwd ")" + 'Genlex.Kwd ")"; + _ = parse_pragma_list ic >] -> (label, expr) @@ -901,21 +938,42 @@ and (parse_arc: in_channel -> vnt list -> aut_token -> read_arc) = try ( match tok with parser [< 'Genlex.Ident "From"; - 'Genlex.Int node_from ; + 'Genlex.Int node_from ; + pragma_from = parse_pragma_list ic ; 'Genlex.Ident "To"; 'Genlex.Int node_to ; + _ = parse_pragma_list ic ; 'Genlex.Ident "With"; - arc_info = parse_arc_info ic vars + arc_info = parse_arc_info ic vars pragma_from >] - -> Arc(node_from, arc_info, node_to) + -> + Arc(node_from, arc_info, node_to) ) with Failure "" -> failwith "" | e -> print_err_msg ic tok tok_list "parse_arc" "From To With " ""; failwith "" -and (parse_arc_info: in_channel -> vnt list -> aut_token -> arc_info) = - fun ic vars tok -> +and (parse_arc_info: in_channel -> vnt list -> pragma list -> aut_token -> arc_info) = + fun ic vars pragma_from tok -> let _ = print_debug ic ("parse_arc_info \n") in let tok_list = Stream.npeek 10 tok in + let source_info = + match pragma_from with + [("source", [file; line; column])] -> + ( + try + Some (file, (int_of_string line), (int_of_string column)) + with _ -> None + ) + | [("source", [file; dot; ext; line; column])] -> + ( + try + Some ((file ^ dot ^ ext), + (int_of_string line), + (int_of_string column)) + with _ -> None + ) + | _ -> None + in try ( match tok with parser [< weight = (parse_weight ic vars) ; @@ -923,7 +981,7 @@ and (parse_arc_info: in_channel -> vnt list -> aut_token -> arc_info) = expr = parse_formula_eps ic vars ; pc = parse_post_cond_id ic >] - -> (weight, expr, pc) + -> (source_info, weight, expr, pc) ) with Failure "" -> failwith "" | e -> print_err_msg ic tok tok_list "parse_arc_info" " :" ""; diff --git a/source/print.ml b/source/print.ml index 5df2f69..616909c 100644 --- a/source/print.ml +++ b/source/print.ml @@ -65,7 +65,7 @@ let (string_var_value_hashtbl: (string, Value.t) Hashtbl.t -> unit) = (* type arc_info = weight * formula_eps *) let (arc_info : Formula.arc_info -> unit) = - fun (w, f, pc) -> + fun (_, w, f, pc) -> let str = Formula.formula_eps_to_string f in begin print_string (Formula.weight_to_string w) ; @@ -221,5 +221,5 @@ let (vn_str : out_channel -> (string * string) list -> unit) = fun oc vl -> List.iter (fun (v, t) -> - output_string oc ("\n " ^ v ^ " of type " ^ t ^ ",")) + output_string oc ("\n\t\"" ^ v ^ "\" of type\t" ^ t ^ ",")) vl diff --git a/source/sim2chro.ml b/source/sim2chro.ml index 79624aa..64ed384 100644 --- a/source/sim2chro.ml +++ b/source/sim2chro.ml @@ -35,12 +35,12 @@ let (put_var_decl: string -> ssl -> ssl -> ssl -> out_channel -> bool -> unit) = put "#@inputs\n"; List.iter put_vntl sut_input_var_name_and_type_list; + if display_local_var then + List.iter put_vntl local_var_name_and_type_list; put "@#\n#@outputs\n"; List.iter put_vntl sut_output_var_name_and_type_list; - if display_local_var then - List.iter put_vntl local_var_name_and_type_list; put "@#\n" @@ -60,25 +60,25 @@ let (put_current_step_values: out_channel -> int -> env_out -> env_in -> env_loc put (string_of_int t); put "\n"; - List.iter - (fun (vn,_) -> - Value.print rif (Hashtbl.find output vn) - ) - sut_output_var_name_and_type_list; - - put "#outs "; List.iter (fun (vn, _) -> let e = List.assoc vn input in (Value.print rif e) ) sut_input_var_name_and_type_list; - if display_local_var then (* put "#locs "; *) List.iter (fun (_, e) -> (Value.print rif e)) (Util.sort_list_string_pair local); + + put "#outs "; + List.iter + (fun (vn,_) -> + Value.print rif (Hashtbl.find output vn) + ) + sut_output_var_name_and_type_list; + put "\n" diff --git a/source/util.ml b/source/util.ml index 0dac363..dd55c76 100644 --- a/source/util.ml +++ b/source/util.ml @@ -110,6 +110,14 @@ let (list_intersec: 'a list -> 'a list -> 'a list) = fun l1 l2 -> List.filter (fun x -> List.mem x l1) l2 +(** + [diff_list_as_set l1 l2] returns all the elements that are in [l1] + and not in [l2]. +*) +let (diff_list_as_set : 'a list -> 'a list -> 'a list) = + fun l1 l2 -> + List.filter (fun x -> not (List.mem x l1)) l2 + (** Checks is a list is sorted w.r.t. compare *) let sorted list = ((List.sort (compare) list) = list) @@ -526,7 +534,7 @@ let (get_extension : string -> string) = String.sub base (i) ((String.length base) - i) with Not_found -> "" -let _ = assert ((get_extension "/home/jahier/toto.ml") = ".ml") +let _ = assert ((get_extension "$HOME/toto.ml") = ".ml") let (remove_extension : string -> string) = diff --git a/test/ControleurPorte.rif.exp b/test/ControleurPorte.rif.exp index 01960f4..d90a7d8 100644 --- a/test/ControleurPorte.rif.exp +++ b/test/ControleurPorte.rif.exp @@ -17,202 +17,202 @@ fermer_porte:bool porte_et_pass_ok:bool @# #step 1 -f f f f t #outs f f f f f f f t f +f f f f f f f t f #outs f f f f t #step 2 -t f f f f #outs t f f f t f f f f +t f f f t f f f f #outs t f f f f #step 3 -f f t f f #outs t t t f f f f f f +t t t f f f f f f #outs f f t f f #step 4 -f f f f f #outs f t f f f f f f t +f t f f f f f f t #outs f f f f f #step 5 -f f f f f #outs t f f f t f f f f +t f f f t f f f f #outs f f f f f #step 6 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 7 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 8 -f f f f f #outs t f f t f f f f f +t f f t f f f f f #outs f f f f f #step 9 -f t f f t #outs f f f f f t f f f +f f f f f t f f f #outs f t f f t #step 10 -f f f f t #outs f t t f t f t f f +f t t f t f t f f #outs f f f f t #step 11 -f f t f f #outs f t t f f f f t f +f t t f f f f t f #outs f f t f f #step 12 -f f f f f #outs t f f f f f f f t +t f f f f f f f t #outs f f f f f #step 13 -f f f f f #outs f t f f t f f f f +f t f f t f f f f #outs f f f f f #step 14 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 15 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 16 -f f f f f #outs f f f f f f f f f +f f f f f f f f f #outs f f f f f #step 17 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 18 -f f f f f #outs f f f f f f f f f +f f f f f f f f f #outs f f f f f #step 19 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 20 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 21 -f f f f f #outs t t f f t f f f f +t t f f t f f f f #outs f f f f f #step 22 -f f f f f #outs f t f t f f f f f +f t f t f f f f f #outs f f f f f #step 23 -f f f f f #outs f t t f f f f f f +f t t f f f f f f #outs f f f f f #step 24 -f f f f f #outs f t f t f f f f f +f t f t f f f f f #outs f f f f f #step 25 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 26 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 27 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 28 -f f f f t #outs t t f f f t f f f +t t f f f t f f f #outs f f f f t #step 29 -f f f f t #outs f t f f f t t f f +f t f f f t t f f #outs f f f f t #step 30 -f f f f t #outs t f f f t f t f f +t f f f t f t f f #outs f f f f t #step 31 -f f t f f #outs f t t f t f t f f +f t t f t f t f f #outs f f t f f #step 32 -f t f f t #outs t f f t f t t f f +t f f t f t t f f #outs f t f f t #step 33 -f f t f f #outs f f t f f f t f f +f f t f f f t f f #outs f f t f f #step 34 -t t f f t #outs t f f t f t f t f +t f f t f t f t f #outs t t f f t #step 35 -f f f f t #outs f t f t f f f f t +f t f t f f f f t #outs f f f f t #step 36 -f f f f t #outs t f f f f f t f f +t f f f f f t f f #outs f f f f t #step 37 -f f f f t #outs f f t f f f f t f +f f t f f f f t f #outs f f f f t #step 38 -f f t f f #outs f t f f f f f f f +f t f f f f f f f #outs f f t f f #step 39 -f f f f t #outs t f f t f f f f f +t f f t f f f f f #outs f f f f t #step 40 -f f f f t #outs t t f f t f f f f +t t f f t f f f f #outs f f f f t #step 41 -f f f f t #outs t t f f f f f f f +t t f f f f f f f #outs f f f f t #step 42 -f f f f t #outs f t f t t f f f f +f t f t t f f f f #outs f f f f t #step 43 -f f f t t #outs t f f f t f f f t +t f f f t f f f t #outs f f f t t #step 44 -f f f f t #outs t f f t t f t f f +t f f t t f t f f #outs f f f f t #step 45 -f f f f t #outs f f f f f f t f f +f f f f f f t f f #outs f f f f t #step 46 -f f f f t #outs f t f f f f t f f +f t f f f f t f f #outs f f f f t #step 47 -f f f f t #outs f f f f t f t f f +f f f f t f t f f #outs f f f f t #step 48 -t f f f f #outs f t f f f f f t f +f t f f f f f t f #outs t f f f f #step 49 -f t f f t #outs t f f f f t f f f +t f f f f t f f f #outs f t f f t #step 50 -f f t f f #outs t f t f f f f f t +t f t f f f f f t #outs f f t f f #step 51 -f f f f f #outs f t f t t f f f f +f t f t t f f f f #outs f f f f f #step 52 -f t t f f #outs t t t f f t f f f +t t t f f t f f f #outs f t t f f #step 53 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 54 -f f f f f #outs f f f t t f f f f +f f f t t f f f f #outs f f f f f #step 55 -f f t f f #outs f t t f f f f f f +f t t f f f f f f #outs f f t f f #step 56 -f f f f f #outs t f f f t f f f f +t f f f t f f f f #outs f f f f f #step 57 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 58 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 59 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 60 -f f t f f #outs f f t f f f f f f +f f t f f f f f f #outs f f t f f #step 61 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 62 -f f t f f #outs f t t f t f f f f +f t t f t f f f f #outs f f t f f #step 63 -f t f f f #outs t f f f f t f f f +t f f f f t f f f #outs f t f f f #step 64 -f f t t f #outs f t t f t f f f f +f t t f t f f f f #outs f f t t f #step 65 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 66 -f t f f f #outs f t f f f t f f f +f t f f f t f f f #outs f t f f f #step 67 -f f t f f #outs f f t f f f f f f +f f t f f f f f f #outs f f t f f #step 68 -f f f f t #outs f f f t f f f f f +f f f t f f f f f #outs f f f f t #step 69 -f f f f t #outs f t f f t f t f f +f t f f t f t f f #outs f f f f t #step 70 -t f t f f #outs t f t f f f f t f +t f t f f f f t f #outs t f t f f #step 71 -f f f f f #outs f t t f t f f f f +f t t f t f f f f #outs f f f f f #step 72 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 73 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 74 -f f f t f #outs f t f f f f f f t +f t f f f f f f t #outs f f f t f #step 75 -f f f f f #outs t t f f t f f f f +t t f f t f f f f #outs f f f f f #step 76 -f f t f f #outs f f t f f f f f f +f f t f f f f f f #outs f f t f f #step 77 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 78 -f f f f f #outs f t f f t f f f f +f t f f t f f f f #outs f f f f f #step 79 -f f f f f #outs t f f t t f f f f +t f f t t f f f f #outs f f f f f #step 80 -f f t f f #outs t t t f f f f f f +t t t f f f f f f #outs f f t f f #step 81 -f f f f f #outs t t t f f f f f f +t t t f f f f f f #outs f f f f f #step 82 -f f f f f #outs f t f f t f f f f +f t f f t f f f f #outs f f f f f #step 83 -f f f f f #outs f t f t f f f f f +f t f t f f f f f #outs f f f f f #step 84 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 85 -f f t f f #outs f t t f f f f f f +f t t f f f f f f #outs f f t f f #step 86 -f f f f f #outs f t f f t f f f f +f t f f t f f f f #outs f f f f f #step 87 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 88 -f f f f f #outs f t f f f f f f f +f t f f f f f f f #outs f f f f f #step 89 -f f f f f #outs t f f t f f f f f +t f f t f f f f f #outs f f f f f #step 90 -f t t f f #outs f f t f f t f f f +f f t f f t f f f #outs f t t f f #step 91 -f f f f f #outs f f t f f f f f f +f f t f f f f f f #outs f f f f f #step 92 -f f f f f #outs f t t f t f f f f +f t t f t f f f f #outs f f f f f #step 93 -f f f f f #outs f t t f f f f f f +f t t f f f f f f #outs f f f f f #step 94 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f #step 95 -f f f f f #outs f f f f f f f f f +f f f f f f f f f #outs f f f f f #step 96 -f f f f f #outs t t f f f f f f f +t t f f f f f f f #outs f f f f f #step 97 -f f t t f #outs t f t f t f f f f +t f t f t f f f f #outs f f t t f #step 98 -f f f f f #outs t f t f f f f f f +t f t f f f f f f #outs f f f f f #step 99 -f f f f f #outs f t f f t f f f f +f t f f t f f f f #outs f f f f f #step 100 -f f f f f #outs t f f f f f f f f +t f f f f f f f f #outs f f f f f diff --git a/test/cudd_gc_problem.rif.exp b/test/cudd_gc_problem.rif.exp index b5c5046..92d26b8 100644 --- a/test/cudd_gc_problem.rif.exp +++ b/test/cudd_gc_problem.rif.exp @@ -199,4 +199,4 @@ f t t f f f t t f f f f f t t t t t t f f f t f f f f t f f f f # step 99 f f t f f f t t f f f f t t f f t t f t f f f t f f t t f f f f # step 100 -f f t f t f t t f f f f t f t t t t t t f f t f f t f t f t f f \ No newline at end of file +f f t f t f t t f f f f t f t t t t t t f f t f f t f t f t f f diff --git a/test/gyro.rif.exp b/test/gyro.rif.exp index feb3674..1b080ef 100644 --- a/test/gyro.rif.exp +++ b/test/gyro.rif.exp @@ -17,6 +17,16 @@ choff1:bool choff2:bool choff3:bool choff4:bool +err1:real +err2:real +err3:real +err4:real +err5:real +err6:real +err7:real +err8:real +x_god:real +x_move:real @# #@outputs x:real @@ -36,114 +46,104 @@ debug_st1:int debug_st2:int debug_st3:int debug_st4:int -err1:real -err2:real -err3:real -err4:real -err5:real -err6:real -err7:real -err8:real -x_god:real -x_move:real @# #step 1 -4.0000 f f f f f f f f f f f f 1 1 1 1 #outs 4.0000 4.0000 4.0000 4.0000 4.0000 4.0000 4.0000 4.0000 f f f f f f f f f f 0.0137 0.0060 0.0165 0.0021 0.0088 -0.0031 0.0011 0.0074 4.0000 0.0000 +4.0000 4.0000 4.0000 4.0000 4.0000 4.0000 4.0000 4.0000 f f f f f f f f f f 0.0137 0.0060 0.0165 0.0021 0.0088 -0.0031 0.0011 0.0074 4.0000 0.0000 #outs 4.0000 f f f f f f f f f f f f 1 1 1 1 #step 2 -4.0113 f f f f f f f f f f f f 1 1 1 1 #outs 4.0137 4.0197 4.0165 4.0186 4.0088 4.0058 4.0011 4.0086 f f f f f f f f f f 0.0120 0.0093 -0.0074 0.0053 -0.0131 0.0077 0.0187 -0.0052 4.0000 0.1364 +4.0137 4.0197 4.0165 4.0186 4.0088 4.0058 4.0011 4.0086 f f f f f f f f f f 0.0120 0.0093 -0.0074 0.0053 -0.0131 0.0077 0.0187 -0.0052 4.0000 0.1364 #outs 4.0113 f f f f f f f f f f f f 1 1 1 1 #step 3 -4.1386 f f f f f f f f f f f f 1 1 1 1 #outs 4.1483 4.1576 4.1290 4.1343 4.1232 4.1309 4.1551 4.1499 f f f f f f f f f f 0.0160 0.0020 -0.0090 0.0086 -0.0144 -0.0045 0.0161 -0.0004 4.1364 0.0651 +4.1483 4.1576 4.1290 4.1343 4.1232 4.1309 4.1551 4.1499 f f f f f f f f f f 0.0160 0.0020 -0.0090 0.0086 -0.0144 -0.0045 0.0161 -0.0004 4.1364 0.0651 #outs 4.1386 f f f f f f f f f f f f 1 1 1 1 #step 4 -4.2050 f f f f f f f f f f f f 1 1 1 1 #outs 4.2175 4.2195 4.1925 4.2011 4.1871 4.1825 4.2176 4.2172 f f f f f f f f f f 0.0192 -0.0092 -0.0190 0.0062 -0.0195 -0.0044 0.0062 0.0090 4.2015 0.0724 +4.2175 4.2195 4.1925 4.2011 4.1871 4.1825 4.2176 4.2172 f f f f f f f f f f 0.0192 -0.0092 -0.0190 0.0062 -0.0195 -0.0044 0.0062 0.0090 4.2015 0.0724 #outs 4.2050 f f f f f f f f f f f f 1 1 1 1 #step 5 -4.2675 f f f f f f f f f f f f 1 1 1 1 #outs 4.2931 4.2839 4.2549 4.2611 4.2544 4.2501 4.2801 4.2891 f f f f f f f f f f -0.0095 -0.0079 -0.0046 -0.0014 -0.0042 -0.0010 0.0140 0.0090 4.2739 0.1837 +4.2931 4.2839 4.2549 4.2611 4.2544 4.2501 4.2801 4.2891 f f f f f f f f f f -0.0095 -0.0079 -0.0046 -0.0014 -0.0042 -0.0010 0.0140 0.0090 4.2739 0.1837 #outs 4.2675 f f f f f f f f f f f f 1 1 1 1 #step 6 -4.4533 f f f f f f f f f f f f 1 1 1 1 #outs 4.4482 4.4402 4.4531 4.4517 4.4534 4.4524 4.4717 4.4807 f f f f f f f f f f -0.0192 -0.0084 0.0172 0.0072 -0.0025 0.0029 0.0076 0.0025 4.4576 0.1608 +4.4482 4.4402 4.4531 4.4517 4.4534 4.4524 4.4717 4.4807 f f f f f f f f f f -0.0192 -0.0084 0.0172 0.0072 -0.0025 0.0029 0.0076 0.0025 4.4576 0.1608 #outs 4.4533 f f f f f f f f f f f f 1 1 1 1 #step 7 -4.6210 f f f f f f f f f f f f 1 1 1 1 #outs 4.5993 4.5909 4.6356 4.6428 4.6160 4.6189 4.6261 4.6286 f f f f f f f f f f 0.0178 0.0062 0.0051 0.0073 0.0002 0.0032 -0.0189 -0.0066 4.6185 -0.1074 +4.5993 4.5909 4.6356 4.6428 4.6160 4.6189 4.6261 4.6286 f f f f f f f f f f 0.0178 0.0062 0.0051 0.0073 0.0002 0.0032 -0.0189 -0.0066 4.6185 -0.1074 #outs 4.6210 f f f f f f f f f f f f 1 1 1 1 #step 8 -4.5137 f f f f f f f f f f f f 1 1 1 1 #outs 4.5289 4.5351 4.5161 4.5234 4.5112 4.5144 4.4921 4.4855 f f f f f f f f f f 0.0021 0.0043 -0.0039 -0.0056 -0.0182 0.0091 -0.0079 0.0049 4.5111 -0.0824 +4.5289 4.5351 4.5161 4.5234 4.5112 4.5144 4.4921 4.4855 f f f f f f f f f f 0.0021 0.0043 -0.0039 -0.0056 -0.0182 0.0091 -0.0079 0.0049 4.5111 -0.0824 #outs 4.5137 f f f f f f f f f f f f 1 1 1 1 #step 9 -4.4228 f f f f f f f f f f f f 1 1 1 1 #outs 4.4308 4.4351 4.4248 4.4192 4.4104 4.4195 4.4207 4.4256 f f f f f f f f f f 0.0041 0.0027 -0.0153 0.0067 0.0088 -0.0069 -0.0111 -0.0024 4.4287 -0.1884 +4.4308 4.4351 4.4248 4.4192 4.4104 4.4195 4.4207 4.4256 f f f f f f f f f f 0.0041 0.0027 -0.0153 0.0067 0.0088 -0.0069 -0.0111 -0.0024 4.4287 -0.1884 #outs 4.4228 f f f f f f f f f f f f 1 1 1 1 #step 10 -4.2368 f f f f f f f f f f f f 1 1 1 1 #outs 4.2444 4.2471 4.2249 4.2316 4.2491 4.2422 4.2291 4.2267 f f f f f f f f f f 0.0053 -0.0091 -0.0190 -0.0082 -0.0051 -0.0090 0.0009 0.0021 4.2403 -0.1432 +4.2444 4.2471 4.2249 4.2316 4.2491 4.2422 4.2291 4.2267 f f f f f f f f f f 0.0053 -0.0091 -0.0190 -0.0082 -0.0051 -0.0090 0.0009 0.0021 4.2403 -0.1432 #outs 4.2368 f f f f f f f f f f f f 1 1 1 1 #step 11 -4.0950 f f f f f f f f f f f f 1 1 1 1 #outs 4.1024 4.0932 4.0781 4.0699 4.0920 4.0830 4.0980 4.1001 f f f f f f f f f f -0.0123 -0.0070 0.0110 -0.0048 -0.0003 0.0009 0.0043 -0.0005 4.0971 -0.1330 +4.1024 4.0932 4.0781 4.0699 4.0920 4.0830 4.0980 4.1001 f f f f f f f f f f -0.0123 -0.0070 0.0110 -0.0048 -0.0003 0.0009 0.0043 -0.0005 4.0971 -0.1330 #outs 4.0950 f f f f f f f f f f f f 1 1 1 1 #step 12 -3.9661 f f f f f f f f f f f f 1 1 1 1 #outs 3.9518 3.9448 3.9751 3.9703 3.9638 3.9647 3.9684 3.9679 f f f f f f f f f f -0.0197 0.0022 0.0074 0.0022 -0.0151 -0.0014 0.0194 0.0041 3.9641 0.0437 +3.9518 3.9448 3.9751 3.9703 3.9638 3.9647 3.9684 3.9679 f f f f f f f f f f -0.0197 0.0022 0.0074 0.0022 -0.0151 -0.0014 0.0194 0.0041 3.9641 0.0437 #outs 3.9661 f f f f f f f f f f f f 1 1 1 1 #step 13 -4.0039 f f f f f f f f f f f f 1 1 1 1 #outs 3.9881 3.9902 4.0152 4.0173 3.9927 3.9913 4.0272 4.0313 f f f f f f f f f f -0.0067 0.0100 -0.0117 -0.0001 -0.0118 0.0003 -0.0185 -0.0008 4.0078 0.1256 +3.9881 3.9902 4.0152 4.0173 3.9927 3.9913 4.0272 4.0313 f f f f f f f f f f -0.0067 0.0100 -0.0117 -0.0001 -0.0118 0.0003 -0.0185 -0.0008 4.0078 0.1256 #outs 4.0039 f f f f f f f f f f f f 1 1 1 1 #step 14 -4.1216 f f f f f f f f f f f f 1 1 1 1 #outs 4.1267 4.1367 4.1216 4.1215 4.1215 4.1219 4.1148 4.1140 f f f f f f f f f f -0.0121 -0.0036 -0.0073 -0.0038 0.0155 -0.0093 -0.0155 -0.0014 4.1333 -0.0063 +4.1267 4.1367 4.1216 4.1215 4.1215 4.1219 4.1148 4.1140 f f f f f f f f f f -0.0121 -0.0036 -0.0073 -0.0038 0.0155 -0.0093 -0.0155 -0.0014 4.1333 -0.0063 #outs 4.1216 f f f f f f f f f f f f 1 1 1 1 #step 15 -4.1174 f f f f f f f f f f f f 1 1 1 1 #outs 4.1150 4.1114 4.1198 4.1160 4.1426 4.1333 4.1116 4.1102 f f f f f f f f f f 0.0011 -0.0052 0.0116 -0.0045 0.0067 -0.0094 0.0113 -0.0010 4.1271 0.0019 +4.1150 4.1114 4.1198 4.1160 4.1426 4.1333 4.1116 4.1102 f f f f f f f f f f 0.0011 -0.0052 0.0116 -0.0045 0.0067 -0.0094 0.0113 -0.0010 4.1271 0.0019 #outs 4.1174 f f f f f f f f f f f f 1 1 1 1 #step 16 -4.1380 f f f f f f f f f f f f 1 1 1 1 #outs 4.1301 4.1250 4.1406 4.1361 4.1357 4.1263 4.1403 4.1393 f f f f f f f f f f 0.0189 0.0080 -0.0176 0.0025 -0.0084 0.0062 -0.0157 -0.0034 4.1290 0.0382 +4.1301 4.1250 4.1406 4.1361 4.1357 4.1263 4.1403 4.1393 f f f f f f f f f f 0.0189 0.0080 -0.0176 0.0025 -0.0084 0.0062 -0.0157 -0.0034 4.1290 0.0382 #outs 4.1380 f f f f f f f f f f f f 1 1 1 1 #step 17 -4.1552 f f f f f f f f f f f f 1 1 1 1 #outs 4.1861 4.1941 4.1497 4.1522 4.1589 4.1650 4.1515 4.1481 f f f f f f f f f f -0.0196 -0.0076 0.0137 0.0050 0.0065 0.0014 0.0037 -0.0015 4.1672 0.0996 +4.1861 4.1941 4.1497 4.1522 4.1589 4.1650 4.1515 4.1481 f f f f f f f f f f -0.0196 -0.0076 0.0137 0.0050 0.0065 0.0014 0.0037 -0.0015 4.1672 0.0996 #outs 4.1552 f f f f f f f f f f f f 1 1 1 1 #step 18 -4.2720 f f f f f f f f f f f f 1 1 1 1 #outs 4.2472 4.2397 4.2805 4.2855 4.2733 4.2747 4.2706 4.2690 f f f f f f f f f f 0.0188 0.0053 0.0019 -0.0029 0.0190 -0.0040 -0.0136 0.0067 4.2668 0.0661 +4.2472 4.2397 4.2805 4.2855 4.2733 4.2747 4.2706 4.2690 f f f f f f f f f f 0.0188 0.0053 0.0019 -0.0029 0.0190 -0.0040 -0.0136 0.0067 4.2668 0.0661 #outs 4.2720 f f f f f f f f f f f f 1 1 1 1 #step 19 -4.3433 f f f f f f f f f f f f 1 1 1 1 #outs 4.3518 4.3571 4.3348 4.3319 4.3520 4.3480 4.3194 4.3260 f f f f f f f f f f -0.0126 -0.0069 -0.0161 0.0019 0.0088 0.0042 -0.0002 0.0064 4.3330 -0.1202 +4.3518 4.3571 4.3348 4.3319 4.3520 4.3480 4.3194 4.3260 f f f f f f f f f f -0.0126 -0.0069 -0.0161 0.0019 0.0088 0.0042 -0.0002 0.0064 4.3330 -0.1202 #outs 4.3433 f f f f f f f f f f f f 1 1 1 1 #step 20 -4.2063 f f f f f f f f f f f f 1 1 1 1 #outs 4.2001 4.1932 4.1966 4.1984 4.2215 4.2258 4.2125 4.2189 f f f f f f f f f f 0.0146 -0.0002 0.0094 0.0019 -0.0140 -0.0041 0.0037 0.0035 4.2127 -0.1001 +4.2001 4.1932 4.1966 4.1984 4.2215 4.2258 4.2125 4.2189 f f f f f f f f f f 0.0146 -0.0002 0.0094 0.0019 -0.0140 -0.0041 0.0037 0.0035 4.2127 -0.1001 #outs 4.2063 f f f f f f f f f f f f 1 1 1 1 #step 21 -4.1192 f f f f f f f f f f f f 1 1 1 1 #outs 4.1272 4.1270 4.1220 4.1240 4.0986 4.0946 4.1164 4.1199 f f f f f f f f f f 0.0105 -0.0059 -0.0028 -0.0061 0.0015 -0.0016 -0.0039 0.0059 4.1126 0.0685 +4.1272 4.1270 4.1220 4.1240 4.0986 4.0946 4.1164 4.1199 f f f f f f f f f f 0.0105 -0.0059 -0.0028 -0.0061 0.0015 -0.0016 -0.0039 0.0059 4.1126 0.0685 #outs 4.1192 f f f f f f f f f f f f 1 1 1 1 #step 22 -4.1805 f f f f f f f f f f f f 1 1 1 1 #outs 4.1916 4.1858 4.1784 4.1722 4.1826 4.1810 4.1772 4.1831 f f f f f f f f f f 0.0110 0.0058 0.0054 0.0062 -0.0043 -0.0058 -0.0057 0.0011 4.1811 0.0591 +4.1916 4.1858 4.1784 4.1722 4.1826 4.1810 4.1772 4.1831 f f f f f f f f f f 0.0110 0.0058 0.0054 0.0062 -0.0043 -0.0058 -0.0057 0.0011 4.1811 0.0591 #outs 4.1805 f f f f f f f f f f f f 1 1 1 1 #step 23 -4.2408 f f f f f f f f f f f f 1 1 1 1 #outs 4.2513 4.2570 4.2456 4.2518 4.2359 4.2302 4.2346 4.2357 f f f f f f f f f f -0.0194 0.0069 -0.0052 -0.0065 0.0160 0.0040 0.0158 0.0010 4.2403 -0.1469 +4.2513 4.2570 4.2456 4.2518 4.2359 4.2302 4.2346 4.2357 f f f f f f f f f f -0.0194 0.0069 -0.0052 -0.0065 0.0160 0.0040 0.0158 0.0010 4.2403 -0.1469 #outs 4.2408 f f f f f f f f f f f f 1 1 1 1 #step 24 -4.0986 f f f f f f f f f f f f 1 1 1 1 #outs 4.0740 4.0810 4.0881 4.0816 4.1094 4.1133 4.1091 4.1101 f f f f f f f f f f 0.0018 -0.0043 -0.0164 0.0073 -0.0056 0.0046 -0.0136 -0.0033 4.0934 -0.0561 +4.0740 4.0810 4.0881 4.0816 4.1094 4.1133 4.1091 4.1101 f f f f f f f f f f 0.0018 -0.0043 -0.0164 0.0073 -0.0056 0.0046 -0.0136 -0.0033 4.0934 -0.0561 #outs 4.0986 f f f f f f f f f f f f 1 1 1 1 #step 25 -4.0277 f f f f f f f f f f f f 1 1 1 1 #outs 4.0391 4.0348 4.0209 4.0282 4.0317 4.0363 4.0237 4.0204 f f f f f f f f f f 0.0073 -0.0052 0.0092 0.0096 0.0058 -0.0076 -0.0091 0.0007 4.0373 -0.0273 +4.0391 4.0348 4.0209 4.0282 4.0317 4.0363 4.0237 4.0204 f f f f f f f f f f 0.0073 -0.0052 0.0092 0.0096 0.0058 -0.0076 -0.0091 0.0007 4.0373 -0.0273 #outs 4.0277 f f f f f f f f f f f f 1 1 1 1 #step 26 -4.0165 f f f f f f f f f f f f 1 1 1 1 #outs 4.0172 4.0120 4.0191 4.0288 4.0158 4.0082 4.0008 4.0015 f f f f f f f f f f 0.0052 0.0025 -0.0086 0.0062 0.0109 -0.0077 0.0195 -0.0068 4.0100 0.1110 +4.0172 4.0120 4.0191 4.0288 4.0158 4.0082 4.0008 4.0015 f f f f f f f f f f 0.0052 0.0025 -0.0086 0.0062 0.0109 -0.0077 0.0195 -0.0068 4.0100 0.1110 #outs 4.0165 f f f f f f f f f f f f 1 1 1 1 #step 27 -4.1290 f f f f f f f f f f f f 1 1 1 1 #outs 4.1261 4.1287 4.1123 4.1185 4.1318 4.1241 4.1404 4.1336 f f f f f f f f f f -0.0184 -0.0022 -0.0073 -0.0074 0.0187 -0.0031 -0.0148 -0.0037 4.1209 -0.0706 +4.1261 4.1287 4.1123 4.1185 4.1318 4.1241 4.1404 4.1336 f f f f f f f f f f -0.0184 -0.0022 -0.0073 -0.0074 0.0187 -0.0031 -0.0148 -0.0037 4.1209 -0.0706 #outs 4.1290 f f f f f f f f f f f f 1 1 1 1 #step 28 -4.0393 f f f f f f f f f f f f 1 1 1 1 #outs 4.0320 4.0298 4.0431 4.0357 4.0690 4.0660 4.0355 4.0318 f f f f f f f f f f 0.0158 0.0005 -0.0111 0.0062 -0.0065 -0.0008 -0.0123 -0.0019 4.0504 -0.0140 +4.0320 4.0298 4.0431 4.0357 4.0690 4.0660 4.0355 4.0318 f f f f f f f f f f 0.0158 0.0005 -0.0111 0.0062 -0.0065 -0.0008 -0.0123 -0.0019 4.0504 -0.0140 #outs 4.0393 f f f f f f f f f f f f 1 1 1 1 #step 29 -4.0275 f f f f f f f f f f f f 1 1 1 1 #outs 4.0522 4.0527 4.0253 4.0314 4.0298 4.0290 4.0240 4.0221 f f f f f f f f f f 0.0102 -0.0001 0.0051 0.0018 0.0035 -0.0091 -0.0029 0.0041 4.0363 -0.1732 +4.0522 4.0527 4.0253 4.0314 4.0298 4.0290 4.0240 4.0221 f f f f f f f f f f 0.0102 -0.0001 0.0051 0.0018 0.0035 -0.0091 -0.0029 0.0041 4.0363 -0.1732 #outs 4.0275 f f f f f f f f f f f f 1 1 1 1 #step 30 -3.8675 f f f f f f f f f f f f 1 1 1 1 #outs 3.8733 3.8732 3.8683 3.8700 3.8666 3.8576 3.8603 3.8644 f f f f f f f f f f -0.0156 0.0013 -0.0100 0.0040 -0.0013 -0.0073 -0.0038 -0.0043 3.8632 0.1564 +3.8733 3.8732 3.8683 3.8700 3.8666 3.8576 3.8603 3.8644 f f f f f f f f f f -0.0156 0.0013 -0.0100 0.0040 -0.0013 -0.0073 -0.0038 -0.0043 3.8632 0.1564 #outs 3.8675 f f f f f f f f f f f f 1 1 1 1 #step 31 -4.0127 f f f f f f f f f f f f 1 1 1 1 #outs 4.0040 4.0053 4.0096 4.0135 4.0182 4.0110 4.0158 4.0115 f f f f f f f f f f -0.0018 -0.0034 -0.0052 0.0061 -0.0029 0.0010 0.0194 -0.0016 4.0196 -0.0909 +4.0040 4.0053 4.0096 4.0135 4.0182 4.0110 4.0158 4.0115 f f f f f f f f f f -0.0018 -0.0034 -0.0052 0.0061 -0.0029 0.0010 0.0194 -0.0016 4.0196 -0.0909 #outs 4.0127 f f f f f f f f f f f f 1 1 1 1 #step 32 -3.9263 f f f f f f f f f f f f 1 1 1 1 #outs 3.9269 3.9235 3.9235 3.9295 3.9257 3.9268 3.9480 3.9465 f f f f f f f f f f 0.0086 -0.0015 -0.0159 0.0071 -0.0161 0.0011 -0.0002 0.0092 3.9286 -0.0823 +3.9269 3.9235 3.9235 3.9295 3.9257 3.9268 3.9480 3.9465 f f f f f f f f f f 0.0086 -0.0015 -0.0159 0.0071 -0.0161 0.0011 -0.0002 0.0092 3.9286 -0.0823 #outs 3.9263 f f f f f f f f f f f f 1 1 1 1 #step 33 -3.8382 f f f f f f f f f f f f 1 1 1 1 #outs 3.8549 3.8534 3.8304 3.8375 3.8302 3.8313 3.8461 3.8553 f f f f f f f f f f -0.0018 0.0042 0.0072 0.0076 -0.0101 0.0062 0.0008 0.0031 3.8463 0.0541 +3.8549 3.8534 3.8304 3.8375 3.8302 3.8313 3.8461 3.8553 f f f f f f f f f f -0.0018 0.0042 0.0072 0.0076 -0.0101 0.0062 0.0008 0.0031 3.8463 0.0541 #outs 3.8382 f f f f f f f f f f f f 1 1 1 1 #step 34 -3.8999 f f f f f f f f f f f f 1 1 1 1 #outs 3.8986 3.9028 3.9076 3.9153 3.8904 3.8965 3.9012 3.9044 f f f f f f f f f f 0.0036 0.0045 -0.0090 0.0026 -0.0106 -0.0000 0.0152 -0.0052 3.9004 0.0887 +3.8986 3.9028 3.9076 3.9153 3.8904 3.8965 3.9012 3.9044 f f f f f f f f f f 0.0036 0.0045 -0.0090 0.0026 -0.0106 -0.0000 0.0152 -0.0052 3.9004 0.0887 #outs 3.8999 f f f f f f f f f f f f 1 1 1 1 #step 35 -3.9864 f f f f f f f f f f f f 1 1 1 1 #outs 3.9927 3.9973 3.9801 3.9827 3.9786 3.9785 4.0043 3.9991 f f f f f f f f f f 0.0176 -0.0079 0.0157 0.0043 -0.0001 0.0064 0.0082 -0.0048 3.9891 0.1216 +3.9927 3.9973 3.9801 3.9827 3.9786 3.9785 4.0043 3.9991 f f f f f f f f f f 0.0176 -0.0079 0.0157 0.0043 -0.0001 0.0064 0.0082 -0.0048 3.9891 0.1216 #outs 3.9864 f f f f f f f f f f f f 1 1 1 1 #step 36 -4.1227 f f f f f f f f f f f f 1 1 1 1 #outs 4.1283 4.1204 4.1264 4.1307 4.1107 4.1171 4.1189 4.1141 f f f f f f f f f f -0.0091 -0.0058 -0.0151 -0.0001 0.0022 0.0095 -0.0175 -0.0055 4.1107 -0.1756 +4.1283 4.1204 4.1264 4.1307 4.1107 4.1171 4.1189 4.1141 f f f f f f f f f f -0.0091 -0.0058 -0.0151 -0.0001 0.0022 0.0095 -0.0175 -0.0055 4.1107 -0.1756 #outs 4.1227 f f f f f f f f f f f f 1 1 1 1 #step 37 -3.9230 f f f f f f f f f f f f 1 1 1 1 #outs 3.9260 3.9202 3.9200 3.9199 3.9374 3.9469 3.9176 3.9121 f f f f f f f f f f -0.0169 0.0076 0.0093 -0.0007 0.0132 -0.0068 -0.0007 0.0003 3.9351 0.0485 +3.9260 3.9202 3.9200 3.9199 3.9374 3.9469 3.9176 3.9121 f f f f f f f f f f -0.0169 0.0076 0.0093 -0.0007 0.0132 -0.0068 -0.0007 0.0003 3.9351 0.0485 #outs 3.9230 f f f f f f f f f f f f 1 1 1 1 #step 38 -3.9879 f f f f f f f f f f f f 1 1 1 1 #outs 3.9667 3.9743 3.9929 3.9922 3.9969 3.9901 3.9829 3.9832 f f f f f f f f f f 0.0115 0.0069 0.0040 0.0044 0.0154 -0.0062 0.0096 0.0089 3.9836 -0.0401 +3.9667 3.9743 3.9929 3.9922 3.9969 3.9901 3.9829 3.9832 f f f f f f f f f f 0.0115 0.0069 0.0040 0.0044 0.0154 -0.0062 0.0096 0.0089 3.9836 -0.0401 #outs 3.9879 f f f f f f f f f f f f 1 1 1 1 #step 39 -3.9540 f f f f f f f f f f f f 1 1 1 1 #outs 3.9549 3.9619 3.9474 3.9518 3.9589 3.9527 3.9531 3.9619 f f f f f f f f f f 0.0121 0.0051 0.0039 0.0019 -0.0118 0.0020 0.0168 -0.0058 3.9435 -0.1352 +3.9549 3.9619 3.9474 3.9518 3.9589 3.9527 3.9531 3.9619 f f f f f f f f f f 0.0121 0.0051 0.0039 0.0019 -0.0118 0.0020 0.0168 -0.0058 3.9435 -0.1352 #outs 3.9540 f f f f f f f f f f f f 1 1 1 1 #step 40 -3.8163 f f f f f f f f f f f f 1 1 1 1 #outs 3.8204 3.8256 3.8122 3.8141 3.7965 3.7985 3.8251 3.8193 f f f f f f f f f f 0.0001 0.0038 -0.0004 -0.0060 -0.0006 0.0002 -0.0137 -0.0020 3.8083 0.0927 +3.8204 3.8256 3.8122 3.8141 3.7965 3.7985 3.8251 3.8193 f f f f f f f f f f 0.0001 0.0038 -0.0004 -0.0060 -0.0006 0.0002 -0.0137 -0.0020 3.8083 0.0927 #outs 3.8163 f f f f f f f f f f f f 1 1 1 1 #step 41 -3.9005 f f f f f f f f f f f f 1 1 1 1 #outs 3.9011 3.9049 3.9006 3.8946 3.9004 3.9006 3.8873 3.8853 f f f f f f f f f f 0.0068 -0.0013 -0.0087 -0.0007 0.0197 0.0096 0.0017 0.0089 3.9010 -0.1230 +3.9011 3.9049 3.9006 3.8946 3.9004 3.9006 3.8873 3.8853 f f f f f f f f f f 0.0068 -0.0013 -0.0087 -0.0007 0.0197 0.0096 0.0017 0.0089 3.9010 -0.1230 #outs 3.9005 f f f f f f f f f f f f 1 1 1 1 #step 42 -3.7823 f f f f f f f f f f f f 1 1 1 1 #outs 3.7848 3.7835 3.7693 3.7686 3.7978 3.8074 3.7798 3.7887 f f f f f f f f f f -0.0133 0.0043 -0.0050 0.0080 0.0135 -0.0009 -0.0042 0.0081 3.7781 -0.0781 +3.7848 3.7835 3.7693 3.7686 3.7978 3.8074 3.7798 3.7887 f f f f f f f f f f -0.0133 0.0043 -0.0050 0.0080 0.0135 -0.0009 -0.0042 0.0081 3.7781 -0.0781 #outs 3.7823 f f f f f f f f f f f f 1 1 1 1 #step 43 -3.6954 f f f f f f f f f f f f 1 1 1 1 #outs 3.6868 3.6910 3.6950 3.7029 3.7135 3.7126 3.6958 3.7039 f f f f f f f f f f 0.0173 0.0059 0.0001 -0.0046 -0.0199 -0.0022 -0.0145 -0.0010 3.7000 0.2000 +3.6868 3.6910 3.6950 3.7029 3.7135 3.7126 3.6958 3.7039 f f f f f f f f f f 0.0173 0.0059 0.0001 -0.0046 -0.0199 -0.0022 -0.0145 -0.0010 3.7000 0.2000 #outs 3.6954 f f f f f f f f f f f f 1 1 1 1 #step 44 -3.8928 f f f f f f f f f f f f 1 1 1 1 #outs 3.9173 3.9232 3.9001 3.8955 3.8801 3.8779 3.8855 3.8845 f f f f f f f f f f 0.0180 -0.0099 0.0061 -0.0042 -0.0175 -0.0039 0.0120 0.0059 3.9000 -0.0777 +3.9173 3.9232 3.9001 3.8955 3.8801 3.8779 3.8855 3.8845 f f f f f f f f f f 0.0180 -0.0099 0.0061 -0.0042 -0.0175 -0.0039 0.0120 0.0059 3.9000 -0.0777 #outs 3.8928 f f f f f f f f f f f f 1 1 1 1 #step 45 -3.8313 f f f f f f f f f f f f 1 1 1 1 #outs 3.8403 3.8304 3.8284 3.8242 3.8048 3.8009 3.8343 3.8402 f f f f f f f f f f 0.0036 0.0038 -0.0033 -0.0031 0.0089 -0.0003 0.0096 0.0040 3.8223 0.1955 +3.8403 3.8304 3.8284 3.8242 3.8048 3.8009 3.8343 3.8402 f f f f f f f f f f 0.0036 0.0038 -0.0033 -0.0031 0.0089 -0.0003 0.0096 0.0040 3.8223 0.1955 #outs 3.8313 f f f f f f f f f f f f 1 1 1 1 #step 46 -4.0241 f f f f f f f f f f f f 1 1 1 1 #outs 4.0214 4.0252 4.0145 4.0114 4.0267 4.0264 4.0274 4.0314 f f f f f f f f f f 0.0163 -0.0025 -0.0003 -0.0020 -0.0194 -0.0055 0.0046 0.0028 4.0178 -0.0637 +4.0214 4.0252 4.0145 4.0114 4.0267 4.0264 4.0274 4.0314 f f f f f f f f f f 0.0163 -0.0025 -0.0003 -0.0020 -0.0194 -0.0055 0.0046 0.0028 4.0178 -0.0637 #outs 4.0241 f f f f f f f f f f f f 1 1 1 1 #step 47 -3.9563 f f f f f f f f f f f f 1 1 1 1 #outs 3.9705 3.9680 3.9539 3.9519 3.9348 3.9293 3.9587 3.9616 f f f f f f f f f f -0.0176 0.0098 -0.0132 -0.0089 0.0171 -0.0022 0.0008 -0.0049 3.9542 -0.0168 +3.9705 3.9680 3.9539 3.9519 3.9348 3.9293 3.9587 3.9616 f f f f f f f f f f -0.0176 0.0098 -0.0132 -0.0089 0.0171 -0.0022 0.0008 -0.0049 3.9542 -0.0168 #outs 3.9563 f f f f f f f f f f f f 1 1 1 1 #step 48 -3.9311 f f f f f f f f f f f f 1 1 1 1 #outs 3.9198 3.9296 3.9241 3.9152 3.9544 3.9522 3.9382 3.9332 f f f f f f f f f f -0.0125 -0.0008 -0.0200 0.0075 0.0028 -0.0020 0.0127 0.0018 3.9374 0.0098 +3.9198 3.9296 3.9241 3.9152 3.9544 3.9522 3.9382 3.9332 f f f f f f f f f f -0.0125 -0.0008 -0.0200 0.0075 0.0028 -0.0020 0.0127 0.0018 3.9374 0.0098 #outs 3.9311 f f f f f f f f f f f f 1 1 1 1 #step 49 -3.9423 f f f f f f f f f f f f 1 1 1 1 #outs 3.9347 3.9339 3.9272 3.9347 3.9500 3.9480 3.9599 3.9617 f f f f f f f f f f 0.0002 0.0055 -0.0061 -0.0010 0.0145 -0.0009 -0.0006 -0.0097 3.9472 0.0305 +3.9347 3.9339 3.9272 3.9347 3.9500 3.9480 3.9599 3.9617 f f f f f f f f f f 0.0002 0.0055 -0.0061 -0.0010 0.0145 -0.0009 -0.0006 -0.0097 3.9472 0.0305 #outs 3.9423 f f f f f f f f f f f f 1 1 1 1 #step 50 -3.9774 f f f f f f f f f f f f 1 1 1 1 #outs 3.9778 3.9834 3.9716 3.9706 3.9922 3.9914 3.9770 3.9674 f f f f f f f f f f -0.0196 -0.0094 -0.0151 0.0062 0.0122 0.0060 -0.0038 0.0093 3.9777 0.0156 +3.9778 3.9834 3.9716 3.9706 3.9922 3.9914 3.9770 3.9674 f f f f f f f f f f -0.0196 -0.0094 -0.0151 0.0062 0.0122 0.0060 -0.0038 0.0093 3.9777 0.0156 #outs 3.9774 f f f f f f f f f f f f 1 1 1 1 diff --git a/test/heater_float.rif.exp b/test/heater_float.rif.exp index 74e44b4..f1214f7 100644 --- a/test/heater_float.rif.exp +++ b/test/heater_float.rif.exp @@ -1,67 +1,67 @@ #@inputs U:real +Dudt:real @# #@outputs Heat_on:bool -Dudt:real @# #step 1 -t #outs 17.0000 0.0000 +17.0000 0.0000 #outs t #step 2 -t #outs 17.0000 1.1186 +17.0000 1.1186 #outs t #step 3 -t #outs 18.1186 0.2688 +18.1186 0.2688 #outs t #step 4 -t #outs 18.3874 1.6111 +18.3874 1.6111 #outs t #step 5 -t #outs 19.9985 0.1003 +19.9985 0.1003 #outs t #step 6 -f #outs 20.0988 1.3279 +20.0988 1.3279 #outs f #step 7 -f #outs 21.4266 -4.3973 +21.4266 -4.3973 #outs f #step 8 -f #outs 17.0294 -4.0111 +17.0294 -4.0111 #outs f #step 9 -t #outs 13.0183 -3.7685 +13.0183 -3.7685 #outs t #step 10 -t #outs 9.2498 1.3645 +9.2498 1.3645 #outs t #step 11 -t #outs 10.6142 1.0602 +10.6142 1.0602 #outs t #step 12 -t #outs 11.6745 1.8998 +11.6745 1.8998 #outs t #step 13 -t #outs 13.5742 1.4243 +13.5742 1.4243 #outs t #step 14 -t #outs 14.9985 1.9841 +14.9985 1.9841 #outs t #step 15 -t #outs 16.9826 1.7599 +16.9826 1.7599 #outs t #step 16 -t #outs 18.7426 0.9477 +18.7426 0.9477 #outs t #step 17 -t #outs 19.6903 1.6847 +19.6903 1.6847 #outs t #step 18 -f #outs 21.3750 0.9019 +21.3750 0.9019 #outs f #step 19 -f #outs 22.2769 -1.6450 +22.2769 -1.6450 #outs f #step 20 -f #outs 20.6319 -3.7508 +20.6319 -3.7508 #outs f #step 21 -f #outs 16.8812 -0.1715 +16.8812 -0.1715 #outs f #step 22 -f #outs 16.7097 -0.7796 +16.7097 -0.7796 #outs f #step 23 -f #outs 15.9301 -4.7685 +15.9301 -4.7685 #outs f #step 24 -t #outs 11.1615 -3.3040 +11.1615 -3.3040 #outs t #step 25 -t #outs 7.8575 0.2934 +7.8575 0.2934 #outs t #step 26 -t #outs 8.1509 0.7860 +8.1509 0.7860 #outs t #step 27 -t #outs 8.9370 0.0023 +8.9370 0.0023 #outs t #step 28 -t #outs 8.9392 1.2430 +8.9392 1.2430 #outs t #step 29 -t #outs 10.1822 0.7836 +10.1822 0.7836 #outs t #step 30 -t #outs 10.9659 1.6155 +10.9659 1.6155 #outs t diff --git a/test/heater_int.rif.exp b/test/heater_int.rif.exp index 9c609d5..68b93c1 100644 --- a/test/heater_int.rif.exp +++ b/test/heater_int.rif.exp @@ -1,68 +1,68 @@ #@inputs U:int +Dudt:int +Toto:bool @# #@outputs Heat_on:bool -Dudt:int -Toto:bool @# #step 1 -t #outs 17 0 f +17 0 f #outs t #step 2 -t #outs 17 2 t +17 2 t #outs t #step 3 -t #outs 19 2 t +19 2 t #outs t #step 4 -f #outs 21 1 t +21 1 t #outs f #step 5 -f #outs 22 -1 f +22 -1 f #outs f #step 6 -f #outs 21 -5 f +21 -5 f #outs f #step 7 -f #outs 16 -3 f +16 -3 f #outs f #step 8 -t #outs 13 -2 f +13 -2 f #outs t #step 9 -t #outs 11 1 t +11 1 t #outs t #step 10 -t #outs 12 2 t +12 2 t #outs t #step 11 -t #outs 14 1 t +14 1 t #outs t #step 12 -t #outs 15 0 t +15 0 t #outs t #step 13 -t #outs 15 2 t +15 2 t #outs t #step 14 -t #outs 17 2 t +17 2 t #outs t #step 15 -t #outs 19 0 t +19 0 t #outs t #step 16 -t #outs 19 0 t +19 0 t #outs t #step 17 -t #outs 19 0 t +19 0 t #outs t #step 18 -t #outs 19 0 t +19 0 t #outs t #step 19 -t #outs 19 1 t +19 1 t #outs t #step 20 -t #outs 20 2 t +20 2 t #outs t #step 21 -f #outs 22 1 t +22 1 t #outs f #step 22 -f #outs 23 -4 f +23 -4 f #outs f #step 23 -f #outs 19 -2 f +19 -2 f #outs f #step 24 -f #outs 17 -4 f +17 -4 f #outs f #step 25 -t #outs 13 -2 f +13 -2 f #outs t #step 26 -t #outs 11 2 t +11 2 t #outs t #step 27 -t #outs 13 1 t +13 1 t #outs t #step 28 -t #outs 14 1 t +14 1 t #outs t #step 29 -t #outs 15 0 t +15 0 t #outs t #step 30 -t #outs 15 2 t +15 2 t #outs t diff --git a/test/losange-3d.rif.exp b/test/losange-3d.rif.exp index 1aa245b..f02b473 100644 --- a/test/losange-3d.rif.exp +++ b/test/losange-3d.rif.exp @@ -199,4 +199,4 @@ # step 99 -0.41 0.20 0.50 # step 100 -0.16 0.25 0.99 \ No newline at end of file +0.16 0.25 0.99 diff --git a/test/temp_float.luc b/test/temp_float.luc index 70728c9..dde9ae8 100644 --- a/test/temp_float.luc +++ b/test/temp_float.luc @@ -1,8 +1,8 @@ -inputs = (Heat_on %"this a label":"this is a pragma "; - "this is another label": "and another pragma"%, +inputs = (Heat_on %this_a_label:this is a pragma% + %this_is_another_label: "and this is another pragma"%, bool), outputs = (U,float, 1., 60.), -locals = (Dudt %"scr":"15,2,16,2"; "foo":"bar"%,float, -100., 100.), +locals = (Dudt %scr:15,2,16,2% %foo:bar% ,float, -100., 100.), pre = (pre(1,U),float); (pre(1, Dudt), float) ; (pre(1,Heat_on), bool), ctrl_expr = , alias = , @@ -15,8 +15,8 @@ arcs = 1: (&& (= U pre(1,U) + pre(1, Dudt)) && - ( > Dudt %"toto":"this is a pragma "; - "titi": "this is an other one"% + ( > Dudt %toto:this is a pragma% + %titi: this is an other one % (IfThenElseNum Heat_on 0. -5.)) ( < (1. * Dudt + 0.) (IfThenElseNum Heat_on 2. 0.))) . diff --git a/test/time-ecrins.exp b/test/time-ecrins.exp index ccfc137..c68c6f3 100644 --- a/test/time-ecrins.exp +++ b/test/time-ecrins.exp @@ -1,17 +1,17 @@ -Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown - Command being timed: "/tmp/lurette54/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 3.30 - System time (seconds): 0.03 - Percent of CPU this job got: 88% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.78 +Linux ecrins 2.4.20-verimag #1 SMP Tue Apr 15 15:59:54 CEST 2003 i686 unknown + Command being timed: "/tmp/lurette4/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 3.25 + System time (seconds): 0.01 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.28 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 238 - Minor (reclaiming a frame) page faults: 500 + Major (requiring I/O) page faults: 236 + Minor (reclaiming a frame) page faults: 499 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -22,19 +22,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 6.72 - System time (seconds): 0.13 + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 6.64 + System time (seconds): 0.17 Percent of CPU this job got: 99% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.85 + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.82 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 12954 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 12860 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -46,19 +46,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 14.99 - System time (seconds): 0.27 - Percent of CPU this job got: 98% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:15.53 + Command being timed: "/tmp/lurette4/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 14.58 + System time (seconds): 0.48 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:15.06 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 29540 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 28911 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -70,18 +70,18 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 1.14 - System time (seconds): 0.11 - Percent of CPU this job got: 79% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.58 + Command being timed: "/tmp/lurette4/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 1.04 + System time (seconds): 0.02 + Percent of CPU this job got: 98% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.07 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 256 + Major (requiring I/O) page faults: 254 Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 @@ -94,10 +94,10 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 1.08 - System time (seconds): 0.84 - Percent of CPU this job got: 76% + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 2.44 + System time (seconds): 0.05 + Percent of CPU this job got: 99% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.49 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 @@ -105,8 +105,8 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 258 - Minor (reclaiming a frame) page faults: 5026 + Major (requiring I/O) page faults: 256 + Minor (reclaiming a frame) page faults: 5077 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -118,19 +118,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 0.43 - System time (seconds): 0.02 - Percent of CPU this job got: 48% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.93 + Command being timed: "/tmp/lurette4/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 0.86 + System time (seconds): 0.00 + Percent of CPU this job got: 98% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.87 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 252 - Minor (reclaiming a frame) page faults: 494 + Major (requiring I/O) page faults: 250 + Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -142,19 +142,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 2.86 - System time (seconds): 0.03 + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 2.85 + System time (seconds): 0.07 Percent of CPU this job got: 99% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.90 + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.93 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 254 - Minor (reclaiming a frame) page faults: 5450 + Major (requiring I/O) page faults: 252 + Minor (reclaiming a frame) page faults: 5547 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -165,19 +165,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 77.52 - System time (seconds): 1.20 - Percent of CPU this job got: 95% - Elapsed (wall clock) time (h:mm:ss or m:ss): 1:22.43 + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 75.66 + System time (seconds): 0.75 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 1:16.43 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 57901 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 72049 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -188,19 +188,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 7.83 - System time (seconds): 0.14 - Percent of CPU this job got: 98% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.06 + Command being timed: "/tmp/lurette4/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 7.68 + System time (seconds): 0.10 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:07.78 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 11327 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 10033 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 diff --git a/test/time-ecrins.res b/test/time-ecrins.res index ccfc137..c68c6f3 100644 --- a/test/time-ecrins.res +++ b/test/time-ecrins.res @@ -1,17 +1,17 @@ -Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown - Command being timed: "/tmp/lurette54/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 3.30 - System time (seconds): 0.03 - Percent of CPU this job got: 88% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.78 +Linux ecrins 2.4.20-verimag #1 SMP Tue Apr 15 15:59:54 CEST 2003 i686 unknown + Command being timed: "/tmp/lurette4/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 3.25 + System time (seconds): 0.01 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.28 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 238 - Minor (reclaiming a frame) page faults: 500 + Major (requiring I/O) page faults: 236 + Minor (reclaiming a frame) page faults: 499 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -22,19 +22,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 6.72 - System time (seconds): 0.13 + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 6.64 + System time (seconds): 0.17 Percent of CPU this job got: 99% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.85 + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.82 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 12954 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 12860 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -46,19 +46,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 14.99 - System time (seconds): 0.27 - Percent of CPU this job got: 98% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:15.53 + Command being timed: "/tmp/lurette4/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 14.58 + System time (seconds): 0.48 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:15.06 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 29540 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 28911 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -70,18 +70,18 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 1.14 - System time (seconds): 0.11 - Percent of CPU this job got: 79% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.58 + Command being timed: "/tmp/lurette4/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 1.04 + System time (seconds): 0.02 + Percent of CPU this job got: 98% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.07 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 256 + Major (requiring I/O) page faults: 254 Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 @@ -94,10 +94,10 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 1.08 - System time (seconds): 0.84 - Percent of CPU this job got: 76% + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 2.44 + System time (seconds): 0.05 + Percent of CPU this job got: 99% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.49 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 @@ -105,8 +105,8 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 258 - Minor (reclaiming a frame) page faults: 5026 + Major (requiring I/O) page faults: 256 + Minor (reclaiming a frame) page faults: 5077 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -118,19 +118,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 0.43 - System time (seconds): 0.02 - Percent of CPU this job got: 48% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.93 + Command being timed: "/tmp/lurette4/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 0.86 + System time (seconds): 0.00 + Percent of CPU this job got: 98% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.87 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 252 - Minor (reclaiming a frame) page faults: 494 + Major (requiring I/O) page faults: 250 + Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -142,19 +142,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 2.86 - System time (seconds): 0.03 + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 2.85 + System time (seconds): 0.07 Percent of CPU this job got: 99% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.90 + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.93 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 254 - Minor (reclaiming a frame) page faults: 5450 + Major (requiring I/O) page faults: 252 + Minor (reclaiming a frame) page faults: 5547 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -165,19 +165,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 77.52 - System time (seconds): 1.20 - Percent of CPU this job got: 95% - Elapsed (wall clock) time (h:mm:ss or m:ss): 1:22.43 + Command being timed: "/tmp/lurette4/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 75.66 + System time (seconds): 0.75 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 1:16.43 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 57901 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 72049 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -188,19 +188,19 @@ Linux ecrins 2.4.20-verimag #1 SMP Fri Jan 24 10:16:46 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette54/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 7.83 - System time (seconds): 0.14 - Percent of CPU this job got: 98% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.06 + Command being timed: "/tmp/lurette4/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 7.68 + System time (seconds): 0.10 + Percent of CPU this job got: 99% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:07.78 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 11327 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 10033 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 diff --git a/test/time-ossau.exp b/test/time-ossau.exp index 833072a..88e5c1d 100644 --- a/test/time-ossau.exp +++ b/test/time-ossau.exp @@ -1,17 +1,17 @@ -Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown - Command being timed: "/tmp/lurette12/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 10.49 - System time (seconds): 0.09 - Percent of CPU this job got: 80% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:13.15 +Linux ossau 2.4.20-verimag #1 SMP Tue Apr 15 15:59:54 CEST 2003 i686 unknown + Command being timed: "/tmp/lurette24/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 10.75 + System time (seconds): 0.08 + Percent of CPU this job got: 79% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:13.56 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 238 - Minor (reclaiming a frame) page faults: 501 + Major (requiring I/O) page faults: 236 + Minor (reclaiming a frame) page faults: 500 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -22,19 +22,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 18.68 - System time (seconds): 0.29 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 18.39 + System time (seconds): 0.34 Percent of CPU this job got: 83% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.85 + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.50 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 12956 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 12862 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -46,19 +46,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 40.86 - System time (seconds): 0.85 - Percent of CPU this job got: 90% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:46.31 + Command being timed: "/tmp/lurette24/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 40.16 + System time (seconds): 0.75 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:43.50 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 29541 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 28912 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -70,18 +70,18 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 3.36 - System time (seconds): 0.05 - Percent of CPU this job got: 79% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:04.28 + Command being timed: "/tmp/lurette24/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 3.42 + System time (seconds): 0.03 + Percent of CPU this job got: 92% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.74 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 256 + Major (requiring I/O) page faults: 254 Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 @@ -94,19 +94,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 7.81 - System time (seconds): 0.19 - Percent of CPU this job got: 91% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.71 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 7.82 + System time (seconds): 0.08 + Percent of CPU this job got: 96% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.18 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 258 - Minor (reclaiming a frame) page faults: 5027 + Major (requiring I/O) page faults: 256 + Minor (reclaiming a frame) page faults: 5078 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -118,19 +118,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 2.92 - System time (seconds): 0.07 - Percent of CPU this job got: 76% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.90 + Command being timed: "/tmp/lurette24/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 2.85 + System time (seconds): 0.02 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.04 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 252 - Minor (reclaiming a frame) page faults: 494 + Major (requiring I/O) page faults: 250 + Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -142,19 +142,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 7.58 - System time (seconds): 0.79 - Percent of CPU this job got: 81% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:10.29 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 8.90 + System time (seconds): 0.13 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.51 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 254 - Minor (reclaiming a frame) page faults: 5451 + Major (requiring I/O) page faults: 252 + Minor (reclaiming a frame) page faults: 5548 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -165,19 +165,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 215.99 - System time (seconds): 2.80 - Percent of CPU this job got: 89% - Elapsed (wall clock) time (h:mm:ss or m:ss): 4:03.52 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 213.36 + System time (seconds): 2.97 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 3:49.70 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 57902 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 72050 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -188,19 +188,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 23.28 - System time (seconds): 0.28 - Percent of CPU this job got: 98% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:24.03 + Command being timed: "/tmp/lurette24/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 20.23 + System time (seconds): 0.89 + Percent of CPU this job got: 95% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.09 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 11327 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 10033 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 diff --git a/test/time-ossau.res b/test/time-ossau.res index 833072a..88e5c1d 100644 --- a/test/time-ossau.res +++ b/test/time-ossau.res @@ -1,17 +1,17 @@ -Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown - Command being timed: "/tmp/lurette12/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 10.49 - System time (seconds): 0.09 - Percent of CPU this job got: 80% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:13.15 +Linux ossau 2.4.20-verimag #1 SMP Tue Apr 15 15:59:54 CEST 2003 i686 unknown + Command being timed: "/tmp/lurette24/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 10.75 + System time (seconds): 0.08 + Percent of CPU this job got: 79% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:13.56 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 238 - Minor (reclaiming a frame) page faults: 501 + Major (requiring I/O) page faults: 236 + Minor (reclaiming a frame) page faults: 500 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -22,19 +22,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 18.68 - System time (seconds): 0.29 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 18.39 + System time (seconds): 0.34 Percent of CPU this job got: 83% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.85 + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.50 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 12956 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 12862 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -46,19 +46,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" - User time (seconds): 40.86 - System time (seconds): 0.85 - Percent of CPU this job got: 90% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:46.31 + Command being timed: "/tmp/lurette24/lurette 100 50 50 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/tram.luc /home/jahier/lurette/test/usager.luc /home/jahier/lurette/test/porte.luc /home/jahier/lurette/test/passerelle.luc" + User time (seconds): 40.16 + System time (seconds): 0.75 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:43.50 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 239 - Minor (reclaiming a frame) page faults: 29541 + Major (requiring I/O) page faults: 237 + Minor (reclaiming a frame) page faults: 28912 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -70,18 +70,18 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 3.36 - System time (seconds): 0.05 - Percent of CPU this job got: 79% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:04.28 + Command being timed: "/tmp/lurette24/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 3.42 + System time (seconds): 0.03 + Percent of CPU this job got: 92% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.74 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 256 + Major (requiring I/O) page faults: 254 Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 @@ -94,19 +94,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" - User time (seconds): 7.81 - System time (seconds): 0.19 - Percent of CPU this job got: 91% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.71 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_float.luc" + User time (seconds): 7.82 + System time (seconds): 0.08 + Percent of CPU this job got: 96% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.18 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 258 - Minor (reclaiming a frame) page faults: 5027 + Major (requiring I/O) page faults: 256 + Minor (reclaiming a frame) page faults: 5078 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -118,19 +118,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 2.92 - System time (seconds): 0.07 - Percent of CPU this job got: 76% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.90 + Command being timed: "/tmp/lurette24/lurette 10000 1 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 2.85 + System time (seconds): 0.02 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.04 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 252 - Minor (reclaiming a frame) page faults: 494 + Major (requiring I/O) page faults: 250 + Minor (reclaiming a frame) page faults: 493 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -142,19 +142,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" - User time (seconds): 7.58 - System time (seconds): 0.79 - Percent of CPU this job got: 81% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:10.29 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/temp_int.luc" + User time (seconds): 8.90 + System time (seconds): 0.13 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.51 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 254 - Minor (reclaiming a frame) page faults: 5451 + Major (requiring I/O) page faults: 252 + Minor (reclaiming a frame) page faults: 5548 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -165,19 +165,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 215.99 - System time (seconds): 2.80 - Percent of CPU this job got: 89% - Elapsed (wall clock) time (h:mm:ss or m:ss): 4:03.52 + Command being timed: "/tmp/lurette24/lurette 10 100 100 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 213.36 + System time (seconds): 2.97 + Percent of CPU this job got: 94% + Elapsed (wall clock) time (h:mm:ss or m:ss): 3:49.70 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 57902 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 72050 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 @@ -188,19 +188,19 @@ Linux ossau 2.4.20-verimag #1 SMP Thu Feb 27 13:44:45 CET 2003 i686 unknown Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 - Command being timed: "/tmp/lurette12/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" - User time (seconds): 23.28 - System time (seconds): 0.28 - Percent of CPU this job got: 98% - Elapsed (wall clock) time (h:mm:ss or m:ss): 0:24.03 + Command being timed: "/tmp/lurette24/lurette 1 10000 1 --draw-inside -seed 1015403953 --precision 2 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/test/losange-3d.luc" + User time (seconds): 20.23 + System time (seconds): 0.89 + Percent of CPU this job got: 95% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.09 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 - Major (requiring I/O) page faults: 266 - Minor (reclaiming a frame) page faults: 11327 + Major (requiring I/O) page faults: 265 + Minor (reclaiming a frame) page faults: 10033 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 diff --git a/user-rules b/user-rules index 69555bb..567a96e 100644 --- a/user-rules +++ b/user-rules @@ -22,11 +22,14 @@ LIBDIRS = $(LURETTE_PATH)/lib /import/linux/tools/lustre-misc/lib OCAMLC = ocamlc.opt OCAMLOPT = ocamlopt.opt OCAMLDEP = ocamldep -OCAMLLIB = /home/jahier/lib/ocaml +OCAMLLIB = $(HOME)/lib/ocaml OCAMLBEST = opt OCAMLVERSION = 3.06 CAMLIDL = camlidl +ifdef WIN32 + EXE := .exe +endif .lut: @@ -46,10 +49,10 @@ REALLY_ALL_SOURCES = $(SOURCES_LURETTE_LIB) \ tags: $(OTAGS) -v $(REALLY_ALL_SOURCES) ; cp TAGS ../source -DEPEND_FILES = /home/jahier/lurette/source/._d/home/jahier/lurette/source/ +DEPEND_FILES = $(HOME)/lurette/source/._d$(HOME)/lurette/source/ del_dot_lurette: - \rm -f .lurette-rc .luretteV2-rc + \rm -f .lurette_rc dot: pushd ../source ; touch $(RESULT).dep.dot ; touch $(RESULT).dep.ps ; \ @@ -195,7 +198,7 @@ test1: --do-not-show-step -o ControleurPorte.rif0 \ --seed 1013219512 -ns2c -go \ tram.luc usager.luc porte.luc passerelle.luc ;\ - grep -v "lurette chronogram" ControleurPorte.rif0 > ControleurPorte.rif ;\ + grep -v "lurette chronogram" ControleurPorte.rif0 | sed -e "s/^M//" > ControleurPorte.rif ;\ rm -f test1.res; diff -u ControleurPorte.rif.exp ControleurPorte.rif > test1.res test2: @@ -203,7 +206,7 @@ test2: $(LURETTE_PATH)/$(HOST_TYPE)/bin/lurettetop -l 30 -tf 10 -td 10 --sut heater_int -msn heater_int --seed 1013219512 \ --do-not-show-step -ns2c -go -o heater_int.rif0 \ -go temp_int ;\ - grep -v "lurette chronogram" heater_int.rif0 > heater_int.rif ;\ + grep -v "lurette chronogram" heater_int.rif0 | sed -e "s/^M//" > heater_int.rif ;\ rm -f test2.res; diff -u heater_int.rif.exp heater_int.rif > test2.res test3: @@ -211,28 +214,28 @@ test3: $(LURETTE_PATH)/$(HOST_TYPE)/bin/lurettetop --precision 4 -go -l 30 -tf 10 -td 10 -msn heater_float --sut heater_float --seed 1013219512 \ --do-not-show-step -ns2c -o heater_float.rif0 \ temp_float;\ - grep -v "lurette chronogram" heater_float.rif0 > heater_float.rif ;\ + grep -v "lurette chronogram" heater_float.rif0 | sed -e "s/^M//"> heater_float.rif ;\ rm -f test3.res; diff -u heater_float.rif.exp heater_float.rif > test3.res test4 : - $(LURETTE_PATH)/$(HOST_TYPE)/bin/lucky -seed 1014504087 -l 100 cudd_gc_problem.luc > cudd_gc_problem.rif + $(LURETTE_PATH)/$(HOST_TYPE)/bin/lucky -seed 1014504087 -l 100 cudd_gc_problem.luc | sed -e "s/^M//" > cudd_gc_problem.rif rm -f test4.res; diff -u cudd_gc_problem.rif.exp cudd_gc_problem.rif > test4.res test5 : - $(LURETTE_PATH)/$(HOST_TYPE)/bin/lucky -seed 834966010 -l 100 losange-3d2.luc > losange-3d.rif + $(LURETTE_PATH)/$(HOST_TYPE)/bin/lucky -seed 834966010 -l 100 losange-3d2.luc | sed -e "s/^M//" > losange-3d.rif rm -f test5.res; diff -u losange-3d.rif.exp losange-3d.rif > test5.res test6 : rm -f gyro.rif0; \ $(LURETTE_PATH)/$(HOST_TYPE)/bin/lurettetop --precision 4 -go -l 50 -tf 1 -td 1 -msn onlyroll --sut onlyroll --seed 1013219512 \ --do-not-show-step -ns2c -o gyro.rif0 giro;\ - grep -v "lurette chronogram" gyro.rif0 > gyro.rif ;\ + grep -v "lurette chronogram" gyro.rif0 | sed -e "s/^M//" > gyro.rif ;\ rm -f test6.res; diff -u gyro.rif.exp gyro.rif > test6.res all_assert: rm -f ../source/*_assert - cd /home/jahier/lurette/source ; make all_assert + cd $(HOME)/lurette/source ; make all_assert check: check_assertions @@ -259,28 +262,28 @@ ltest: test1 test2 test3 ls -l *.res clean_lib: - pushd /home/jahier//lurette/source ; make -f Makefile.lurette_lib clean ; popd + pushd $(HOME)//lurette/source ; make -f Makefile.lurette_lib clean ; popd lib: - pushd /home/jahier//lurette/source ; make libnc ; cp -f *.a ../lib; popd + pushd $(HOME)//lurette/source ; make libnc ; cp -f *.a ../lib; popd libnc: - pushd /home/jahier//lurette/source ; make libnc ; cp -f *.a ../lib; popd + pushd $(HOME)//lurette/source ; make libnc ; cp -f *.a ../lib; popd libbc: - pushd /home/jahier//lurette/source ; make libbc ; cp -f *.a ../lib; popd + pushd $(HOME)//lurette/source ; make libbc ; cp -f *.a ../lib; popd luc: - pushd /home/jahier//lurette/source ; make -k dc -f Makefile.lucky OCAMLFLAGS=""; popd + pushd $(HOME)//lurette/source ; make -k dc -f Makefile.lucky OCAMLFLAGS=""; popd ltop: - pushd /home/jahier//lurette/source ; make -k dc -f Makefile.lurettetop OCAMLFLAGS=""; popd + pushd $(HOME)//lurette/source ; make -k dc -f Makefile.lurettetop OCAMLFLAGS=""; popd luc_nc: - pushd /home/jahier//lurette/source ; make -k clean -f Makefile.lucky ; \ + pushd $(HOME)//lurette/source ; make -k clean -f Makefile.lucky ; \ make -k nc -f Makefile.lucky OCAMLFLAGS="-noassert -unsafe"; popd show: - pushd /home/jahier//lurette/bin ; make -k dc -f Makefile.show_luc OCAMLFLAGS=""; popd + pushd $(HOME)//lurette/bin ; make -k dc -f Makefile.show_luc OCAMLFLAGS=""; popd heater_make: $(LURETTE_PATH)/make_lurette heater_int @@ -317,7 +320,7 @@ gprof3: # In order to time profile lurette # faire un make lib_prof avant (compiler parse_env.ml a la main) -# ocamlc.opt -c -pp "camlp4o" -I /home/jahier/$(HOST_TYPE)/lib/ocaml/camlp4 -I /home/jahier/lurette/polka/caml/ -I /home/jahier/lurette/source/ -I /home/jahier/lurette/lib /home/jahier/lurette/source/parse_env.ml +# ocamlc.opt -c -pp "camlp4o" -I $(HOME)/$(HOST_TYPE)/lib/ocaml/camlp4 -I $(HOME)/lurette/polka/caml/ -I $(HOME)/lurette/source/ -I $(HOME)/lurette/lib $(HOME)/lurette/source/parse_env.ml ocamlprof: $(LURETTE_PATH)/$(HOST_TYPE)/bin/lurettetop --sut heater_float.lus -msn \ heater_float -l 10 -tf 100 -td 100 -go --make-opt "pbc" \ @@ -340,7 +343,7 @@ ocamlprof: # Produces an html version of the lurette documentation dochtml: ocamldoc -t "Lurette modules interfaces" -pp "camlp4o" \ - -g /home/jahier/lib/ocaml/ocamldoc/odoc_fhtml.cmo \ + -g $(HOME)/lib/ocaml/ocamldoc/odoc_fhtml.cmo \ -d ../doc/html -stars \ -keep-code -colorize-code -I ../source/ $(REALLY_ALL_SOURCES) \ ../source/gen_stubs.ml @@ -361,13 +364,13 @@ see-log: strip: - strip /home/jahier/lurette/$(HOST_TYPE)/bin/lucky - strip /home/jahier/lurette/$(HOST_TYPE)/bin/lurettetop - strip /home/jahier/lurette/$(HOST_TYPE)/bin/xlurette - strip /home/jahier/lurette/$(HOST_TYPE)/bin/lutin - strip /home/jahier/lurette/$(HOST_TYPE)/bin/show_luc - strip /home/jahier/lurette/$(HOST_TYPE)/bin/gen_fake_lutin - strip /home/jahier/lurette/$(HOST_TYPE)/bin/gen_stubs + strip $(HOME)/lurette/$(HOST_TYPE)/bin/lucky$(EXE) + strip $(HOME)/lurette/$(HOST_TYPE)/bin/lurettetop$(EXE) + strip $(HOME)/lurette/$(HOST_TYPE)/bin/xlurette$(EXE) + strip $(HOME)/lurette/$(HOST_TYPE)/bin/lutin$(EXE) + strip $(HOME)/lurette/$(HOST_TYPE)/bin/show_luc$(EXE) + strip $(HOME)/lurette/$(HOST_TYPE)/bin/gen_fake_lutin$(EXE) + strip $(HOME)/lurette/$(HOST_TYPE)/bin/gen_stubs$(EXE) @@ -425,16 +428,16 @@ bin-release:strip lurette-$(HOST_TYPE)-$(VERSION)/source; \ \ \ - cp ../$(HOST_TYPE)/bin/lucky \ - ../$(HOST_TYPE)/bin/sim2chro \ - ../$(HOST_TYPE)/bin/sim2chrogtk \ - ../$(HOST_TYPE)/bin/dot \ - ../$(HOST_TYPE)/bin/lurettetop \ - ../$(HOST_TYPE)/bin/show_luc \ - ../$(HOST_TYPE)/bin/gen_fake_lutin \ - ../$(HOST_TYPE)/bin/gen_stubs \ - ../$(HOST_TYPE)/bin/lutin \ - ../$(HOST_TYPE)/bin/xlurette \ + cp ../$(HOST_TYPE)/bin/lucky$(EXE) \ + ../$(HOST_TYPE)/bin/sim2chro$(EXE) \ + ../$(HOST_TYPE)/bin/sim2chrogtk$(EXE) \ + ../$(HOST_TYPE)/bin/dot$(EXE) \ + ../$(HOST_TYPE)/bin/lurettetop$(EXE) \ + ../$(HOST_TYPE)/bin/show_luc$(EXE) \ + ../$(HOST_TYPE)/bin/gen_fake_lutin$(EXE) \ + ../$(HOST_TYPE)/bin/gen_stubs$(EXE) \ + ../$(HOST_TYPE)/bin/lutin$(EXE) \ + ../$(HOST_TYPE)/bin/xlurette$(EXE) \ lurette-$(HOST_TYPE)-$(VERSION)/$(HOST_TYPE)/bin; \ \ cp ../$(HOST_TYPE)/lib/liblurette_lib_nc.a lurette-$(HOST_TYPE)-$(VERSION)/$(HOST_TYPE)/lib; \ @@ -448,6 +451,7 @@ bin-release:strip cp ../INSTALL lurette-$(HOST_TYPE)-$(VERSION)/ ;\ cp ../share/Makefile.lurette.in lurette-$(HOST_TYPE)-$(VERSION)/share/ ;\ cp ../share/configure lurette-$(HOST_TYPE)-$(VERSION)/share/ ;\ + cp ../share/config.guess lurette-$(HOST_TYPE)-$(VERSION)/share/ ;\ cp ../share/lucky_init.sh.in lurette-$(HOST_TYPE)-$(VERSION)/share/ ;\ cp ../share/lucky_init.csh.in lurette-$(HOST_TYPE)-$(VERSION)/share/ ;\ \ @@ -490,7 +494,7 @@ test-bin-release: make test install-misc: - cd /home/jahier/lurette; \ + cd $(HOME)/lurette; \ cp -rf $(HOST_TYPE)/bin $(LUSTRE_MISC) ; \ cp -rf $(HOST_TYPE)/lib $(LUSTRE_MISC) ; \ cp -rf $(HOST_TYPE)/include $(LUSTRE_MISC) ; \ @@ -502,6 +506,20 @@ install-misc: ./configure --prefix $(LUSTRE_MISC) conf: - cd /home/jahier/lurette ; autoconf; \ + cd $(HOME)/lurette ; autoconf; \ ./configure ; \ source $(HOST_TYPE)/lucky_init.sh + +cp_airbus: + cp $(HOME)/lurette/test/luretteV2-i386-linux-$(VERSION).tgz ~raymond/,OUEBE/airbus/ + cp $(HOME)/lurette/test/luretteV2-sparc-sun-$(VERSION).tgz ~raymond/,OUEBE/airbus/ + + +### so nécessaires sous sparc pour xlurette et sim2chrogtk +# libX11.so.6.1 +# libXext.so.6.1 +# libgdk-1.2.so.0 +# libglib-1.2.so.0 +# libgmodule-1.2.so.0 +# libgtk-1.2.so.0 +# librt.so.1.Z -- GitLab