Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

  1. 17 Mar, 2010 40 commits
    • Erwan Jahier's avatar
      lurette 0.126 Fri, 21 Feb 2003 18:49:20 +0100 by jahier · 5a165497
      Erwan Jahier authored
      Parent-Version:      0.125
      Version-Log:
      
      source/command_line_luc_exe.ml:
      source/command_line_luc_exe.mli:
      source/command_line.ml:
      source/command_line.mli:
      source/luc_exe.ml:
      source/lurette.ml:
      source/lurettetop.ml:
         Add the possibility to set the precision from lucky and lurette command
      lines.
      
         Remove the draw-vertices stuff.
      
      source/command_line_luc_exe.ml:
      source/command_line_luc_exe.mli:
      source/luc_exe.ml:
         Also add the --edges and the inside options for lucky.
      
      source/parse_env.ml:
        Allow to forget empty fields in the automata format.
      
      source/store.ml:
         Plug the new drawing heuristic
      
      Project-Description: Lurette
      5a165497
    • Erwan Jahier's avatar
      lurette 0.124 Fri, 21 Feb 2003 14:29:21 +0100 by jahier · 3ea22e95
      Erwan Jahier authored
      Parent-Version:      0.123
      Version-Log:
      
      Implement the polyhedron drawing primitives.
      
      source/util.ml.in:
         Change my_string_of_float so that it truncates floats 4 digits after the
      dot.
         The rational is that, for testing, we do not care the extra precision and
         too much precision may kill Polka. This precison ougth to be a parameter
         though.
      
      source/solver.ml:
      source/polyhedron.ml:
      source/store.ml:
          Implement the polyhedron drawing primitives.
      
      source/store.ml:
         Apply the substitutions in store.subtsl to the cstr to add.
      
      Project-Description: Lurette
      3ea22e95
    • Erwan Jahier's avatar
      lurette 0.123 Tue, 18 Feb 2003 09:49:47 +0100 by jahier · a13cc8e1
      Erwan Jahier authored
      Parent-Version:      0.122
      Version-Log:
      
      source/rnumsolver.mli:
      source/rnumsolver.ml:
      source/store.mli:
      source/store.ml:
         Rename rnumsolver into store.
      
      source/solver.ml:
      source/parse_env.ml:
         Do not explicitely handle dis-equalities but transform it using
         not and = instead. The rational for this change is to avoid code duplication
         (which was buggy !!!), but also to allow handle dis-equalities with
         the optimized algorithm I had for eqalities (for free) !
      
      Project-Description: Lurette
      a13cc8e1
    • Erwan Jahier's avatar
      lurette 0.122 Mon, 17 Feb 2003 14:50:50 +0100 by jahier · 78f40b65
      Erwan Jahier authored
      Parent-Version:      0.121
      Version-Log:
      
      When delayed constraints are remaining at bdd leaves, we were
      printing a message saying that one shoud use a polyhedron solver
      based instead.  Now, I really call such a polyhedron solver in order
      to solve those constraints.
      
      This means that I use to different solvers to handle interval and
      polyhedron of dimension > 1.
      
      It also means that the satisfiability of constraints over polyhedra
      is only checked at bdd leaves, which, in some circumstances, migth be
      inefficient. The point is that, if we chose to check the formula
      satisfiability during the bdd traversal, we take the risk that a very
      polyhedron is created whereas it was not necessary (because of
      forthcoming equalities). And creating polyhedron with big (>15)
      dimension simply runs forever, which is really bad.
      
      nb : drawing in poyhedron not yet plugged.
      
      source/polyhedron.ml:
      source/polyhedron.mli: (new files)
          misc functions over polyhedra. The rational for creating that file
          is that rnumsolver is already much too big (and should be splitted
          some more btw).
      
      source/solver.ml:
         One of the main change is that now, draw_in_bdd returns 2 stores.
         One is Range based, the other one is polyhedron-based.
      
      source/rnumsolver.mli:
      source/rnumsolver.ml:
         Add the function switch_to_polyhedron_representation which
         handle delayed constraint if necessary. It is meant to be called
         at bdd leaves.
      
      source/solver.ml:
      source/rnumsolver.ml:
         Also do not use split_store anymore but add_constraint. This allows
         a much more elegant and efficient implementation of draw_in_bdd and
         draw_in_bdd_eq (Now the store is buid when and only when a new branch
         should be tried because of backtracking). It is also more efficient.
      
      source/constraint.mli
      source/constraint.ml
      source/ne.mli
      source/ne.ml
         Implement get_vars that retreive the variables occuring in a contraint
         or an expression.
      
      Project-Description: Lurette
      78f40b65
    • Erwan Jahier's avatar
      lurette 0.121 Tue, 11 Feb 2003 11:20:37 +0100 by jahier · 34cdff0c
      Erwan Jahier authored
      Parent-Version:      0.120
      Version-Log:
      
      source/pnumsolver.ml:
      source/pnumsolver.mli: [new files]
         Implements a numeric solver based on Polka.
         (not plugged yet).
      
      source/rnumsolver.ml:
         Reimplement split_store so that it uses 2 calls of add_constraint
         instead of doing the work twice inside split_store (in order to avoid code
         duplication).
      
         Also, whenever delayed constraints becomes of dimension 1, when a
      add_constraint
         binds a value, add them to the store.
      
         Enhance error msgs whenever int and float are mixed in the same lucky
         expressions.
      
      source/rnumsolver.ml:
      source/ne.ml:
         rename Ne.resolve_triangular_system into get_subst_from_solved_system
         and move it into rnumsolver. The rational is that is was not
         really solving any triangular system: the system ougth to be already solved.
      
      source/parce_env.ml:
         Set the max_float to max_int, otherwise, the conversion into polka rational
         fails...
      
      Project-Description: Lurette
      34cdff0c
    • Erwan Jahier's avatar
      lurette 0.120 Thu, 19 Dec 2002 11:15:29 +0100 by jahier · d6a175bd
      Erwan Jahier authored
      Parent-Version:      0.119
      Version-Log:
      
      source/solver.ml:
      source/rnumsolver.ml:
         replace split_store_eq by add_eq_to_store as split_store_eq
         was simply calling split store and appendind its result,
         it is simplier to just call slipt_store from solver.ml ...
      
      Project-Description: Lurette
      d6a175bd
    • Erwan Jahier's avatar
      lurette 0.119 Thu, 19 Dec 2002 10:29:35 +0100 by jahier · 566a6b90
      Erwan Jahier authored
      Parent-Version:      0.118
      Version-Log:
      
      user-rules:
          Add the name of the host in the timing result files.
      
          Also runs the timing tests on ecrins.
      
      Project-Description: Lurette
      566a6b90
    • Erwan Jahier's avatar
      lurette 0.117 Mon, 18 Nov 2002 14:26:30 +0100 by jahier · fa2dfd3a
      Erwan Jahier authored
      Parent-Version:      0.116
      Version-Log:
      
      Various minor fixes in the documentation
      
      + Use a version of ocaml-3.06 that has been configured with -no-curses,
      which make things sligthly slower, but that avoid the need to find
      the curses lib...
      
      source/ne.ml:
      source/*.ml:
         Ne.find now returns an option value instead of raising a Not_found
         exp, which was not trap in some circumstances...
      
      source/ne.ml:
         Also, fix a couple of bugs where the code was supposing (falsely)
         that the constant (empty string) was always in the Map.
      
      Project-Description: Lurette
      fa2dfd3a
    • Erwan Jahier's avatar
      lurette 0.116 Wed, 13 Nov 2002 13:56:29 +0100 by jahier · aef52d9c
      Erwan Jahier authored
      Parent-Version:      0.115
      Version-Log:
      
      source/solver.ml:
         Give a better error message when users do not initialize pre vars.
      
      source/parse_env.ml:
      source/formula.ml:
      source/prevar.ml/mli: (new files)
         Put here everything that handles the internal representation of pre var
      names.
      
         Pretty print internal pre var names.
      
      Project-Description: Lurette
      aef52d9c
    • Erwan Jahier's avatar
      lurette 0.115 Thu, 07 Nov 2002 14:19:37 +0100 by jahier · 7c4feb61
      Erwan Jahier authored
      Parent-Version:      0.114
      Version-Log:
      
      source/automata.ml:
         Fix a bug where esp loops were not always cutted properly in some cases.
      
      source/show_env.ml:
         Truncate too long for in the dot output (which bugs dot or gv).
      
      ihm/xlurette/xlurette_glade_main.ml:
         Accept both .lut or .lut files as anv files, and make the show buttons
         behave properly in both cases.
      
      Project-Description: Lurette
      7c4feb61
    • Erwan Jahier's avatar
      lurette 0.112 Thu, 31 Oct 2002 08:21:03 +0100 by jahier · dc8f78dc
      Erwan Jahier authored
      Parent-Version:      0.111
      Version-Log:
      
      source/parse_poc.ml: (new file)
      source/gen_stubs.ml:
         put everything that is related to poc parsing into
         parse_poc.ml.
      
      source/gen_fake_lutin.ml: (new file)
      source/parse_poc.ml: (new file)
      source/Makefile.gen_fake_lutin: (new file)
         When no .lut is provided, we generate a fake one.
      
      Project-Description: Lurette
      dc8f78dc
    • Erwan Jahier's avatar
      lurette 0.99 Fri, 04 Oct 2002 13:49:58 +0200 by jahier · 3797df71
      Erwan Jahier authored
      Parent-Version:      0.98
      Version-Log:
      
      source/solver.ml:
      source/rnumsolver.mli,.ml:
      source/constraint.ml,.mli:
         Split the Constraint.t type into t and ineq where
         inequalities are in ineq. The rational is that most
         operations on constaint.t are actually done on ineq.
         This change therefore avoid pattern like
         <<_ -> assert false>> and let the type checher check
         that sort of things.
      
      Project-Description: Lurette
      3797df71
    • Erwan Jahier's avatar
      lurette 0.97 Fri, 04 Oct 2002 11:30:11 +0200 by jahier · 5d9a1618
      Erwan Jahier authored
      Parent-Version:      0.96
      Version-Log:
      
      Handling equalities smartlier.    .
      
      Project-Description: Lurette
      5d9a1618
    • Erwan Jahier's avatar
      lurette 0.96 Mon, 30 Sep 2002 16:58:31 +0200 by jahier · 42c10bc1
      Erwan Jahier authored
      Parent-Version:      0.95
      Version-Log:
      
      source/ne.ml,mli:
      source/value.ml,mli:
         (new files) put everything that is related to normal expressions
         and values in thoses 2 new modules.
      
      source/ne.ml,mli:
      source/gne.ml,mli:
         Make the normal expressions and the guarded normal expression abstract.
      
      source/solver.ml:
         also fix a bug in the previous change (forgot to try make test ...)
      
      Project-Description: Lurette
      42c10bc1
    • Erwan Jahier's avatar
      lurette 0.95 Mon, 30 Sep 2002 09:32:45 +0200 by jahier · 9f11061a
      Erwan Jahier authored
      Parent-Version:      0.94
      Version-Log:
      
      Continue to prepare things for the next change (which will try to
      handle equalities smartly).
      
      test/test*.res:
         fix the expected results as this change adds a random toss
         that disturbs the random values.
      
      source/solver.ml:
      source/rnumsolver.ml:
         Add code to handle the fact that the negation of a equality
         is the disjunction of two inegalities, which can not be added
         to store as it is. So we first try with >, and if it fails,
         we try with < (or the other way aroung, depending on a fair toss).
      
         Also split up the code in Solver.draw_in_bdd depending on the
         fact that the current constraint is a boolean, an eq, or an ineg.
      
      source/solver.ml:
         split toss_up_one_var into toss_up_one_var and toss_up_one_var_index,
         one performing the the toss from a var, the other one from a var index.
      
      Project-Description: Lurette
      9f11061a
    • Erwan Jahier's avatar
      lurette 0.94 Fri, 27 Sep 2002 13:20:05 +0200 by jahier · f8219704
      Erwan Jahier authored
      Parent-Version:      0.93
      Version-Log:
      
      Prepare things for the next change (which will try to handle equalities
      smartly).
      
      source/solver.ml:
      source/rnumsolver.ml:
         atomic_formula do not need both < and > (ditto for <= and >=).
         Indeed, I just need to take the opposite, and everything is fine.
         One advantage is that there are less cases to handle. But the key
         advantage is that it make the representation of constraint normal,
         which is important at least when I will try to detect equalities.
      
         Also add a subst list and constraint list fields to the store
         that will ebe used in the forthcoming change. They will resp.
         be used for removeing a dimension when an equality is encountered
         and to delay constraint with more than one variable.
      
      source/constraint.ml,mli: (new files)
         Move there from formula.ml everything that is related to the internal
         representation of constraints.
      
         Also change the name of atomic_formula to linear_constraint, which is
         more informative.
      
      Project-Description: Lurette
      f8219704
    • Erwan Jahier's avatar
      lurette 0.93 Wed, 25 Sep 2002 09:56:41 +0200 by jahier · e9325bcf
      Erwan Jahier authored
      Parent-Version:      0.92
      Version-Log:
      
      source/formula.ml:
      source/solver.ml:
      source/parse_env.ml:
         Handle boolean equalities with Bdd.eq instead of manually
         converting it with <<and>>, <<not>> and <<or>>.
      
      Project-Description: Lurette
      e9325bcf
    • Erwan Jahier's avatar
      lurette 0.83 Tue, 03 Sep 2002 13:37:10 +0200 by jahier · dad7b1f2
      Erwan Jahier authored
      Parent-Version:      0.82
      Version-Log:
      
      source/lurette.ml:
      source/lurettetop.ml:
      source/command_line.ml, .mli:
      source/solver.ml:
      source/env_state.ml:
      source/rnumsolver.ml:
         Add 2 news options, --draw-edges ans --draw-verteces that makes
         lurette draw among the verteces or on the edges of the convex hull
         of solutons.
      
      Project-Description: Lurette
      dad7b1f2
    • Erwan Jahier's avatar
      lurette 0.72 Tue, 23 Jul 2002 16:58:52 +0200 by jahier · d27d91fe
      Erwan Jahier authored
      Parent-Version:      0.71
      Version-Log:
      
      sim2cro.ml:
         switch inputs and output in the sim2chro display. The rational
         is that local vars, are closer from ima outputs than sut ones.
         and should then be displayed close to them.
      
      gen_stubs.ml:
         indent generated code better.
      
      Project-Description: Lurette
      d27d91fe
    • Erwan Jahier's avatar
      lurette 0.70 Fri, 19 Jul 2002 17:31:37 +0200 by jahier · da43be79
      Erwan Jahier authored
      Parent-Version:      0.69
      Version-Log:
      
      ima_exe.ml:
      lurette.ml:
      env_state.ml:
        Factoring out code into  two new functions, clear_step and clear_all.
      
      env_state.ml:
         Do not use to 2 ranges of indexes (one for atomic formula that depends on
      pre,
         one if it is not) but maintain a list a unused indexes instead.
      
      Project-Description: Lurette
      da43be79
    • Erwan Jahier's avatar
      lurette 0.69 Fri, 19 Jul 2002 10:19:59 +0200 by jahier · 135fe2d5
      Erwan Jahier authored
      Parent-Version:      0.68
      Version-Log:
      
      wtree.ml,mli:   (deleted)
      automa.ml,mli:  (new files)
      control.ml,mli: (new files)
      
         Replace the [wtree] module by an [automata] module, that basically
         does the same job, but in a different way. Namely, it no more uses
         the [wtree] DS to use [graph]s instead.  Indeed, the product of
         wtrees introduces some problems, in particular to ensure its
         correctness wrt to the automata run concurrently. Now, everything a
         dead-simple wrt product: we simply perform a quasi-classical automata
         product (well, at least, much closer from a classical product, cf
         paper).
      
         The way loop counters are handled has also changed. Now, counters are
         handled via expressions of a simple arithmetic language that
         basically lets one initialise a variable to an exact or a random
         value (uniform or normal draw) and decrement it. Arcs are now
         labelled by a formula plus 2 expressions of that mini-language (no
         more weigth nor cpt_init stuff). The 1st expression is evaluated
         during the draw, basically performs any operations on counters, and
         returns a positive int that is used as the formula weigth. The second
         expression (a kind of post-condition) is evaluated if its arc is the
         one that has been elected to perform the step.
      
      At several locations long lines (< 80) are reindented.
      
      parse_env.ml:
         In the ima format, IfThenElseExpr becomes IfThenElseNum.
         Also, parse list more cleanly.
      
      graph.ml,mli:
          Add a function that test whether a transition is in the graph.
      
          Do not sort list of transitions anymore (what was the point?).
          Also do not sort nodes in any way.
      
      show_env_env.ml,mli:
         Abstract away nodes and arcs data types (so that I can display
         Automata graphs). rename generate_env_graph into ima_to_dot.
      
      lurette.ml:
      ima_exe.ml:
         Fix a bug where bbd table were filled by asserted non regression expr.
      
      lurette.ml:
         Fix a bug where incorrect data was sent to sim2chro (ie, the output of the
         previous step instead of the ones of the current step.
      
      env_state.ml:
      solver.ml:
      gne.ml:
         Fix a performance bug where I was storing formula indexes even if
         they were depending on inputs or pre, which is stupid as they generally
         won't be used again. In order to fix that, I introduced  new
         atomic_formula <-> indexes table to stote the ones that do not depend
         on inputs apart. It was also necassery to propogate the <<depend on pre>>
         flag inside Gne.gn_expr (which i renamed Gne.t BTW).
      
      Project-Description: Lurette
      135fe2d5
    • Erwan Jahier's avatar
      lurette 0.66 Thu, 16 May 2002 10:54:38 +0200 by jahier · 66e00627
      Erwan Jahier authored
      Parent-Version:      0.65
      Version-Log:
      
      solver.ml:
              Fix a bug is draw_in_bdd where it was unable to draw in a true
              formula when it was a top level one. The reason was that the
              tossing of remaining vars was not done at draw_in_bdd top level,
              which is wrong since true can appear on ima transitions.
      
      Project-Description: Lurette
      66e00627
    • Erwan Jahier's avatar
      lurette 0.55 Wed, 03 Apr 2002 14:41:43 +0200 by jahier · f570cc25
      Erwan Jahier authored
      Parent-Version:      0.54
      Version-Log:
      
      Allow equalities between formula by translating [A = B] into
      [Or(And(A,B), And(Not(A), Not(B)))].
      
      Fix a bug where lurette had a bad behaviour whenever a toss
      was performed on a domain which size was bigger than max_int
      or max_float.
      
      Fix a bug where lurette was not handling env with both boolean and
      numerical as output vars.  Also add a few comments in solver.ml along
      the way.
      Adds a local bool as an output of heater in order to test the fix
      above.
      
      Project-Description: Lurette
      f570cc25
    • Erwan Jahier's avatar
      lurette 0.54 Tue, 02 Apr 2002 14:25:12 +0200 by jahier · f0aff2da
      Erwan Jahier authored
      Parent-Version:      0.53
      Version-Log:
      
      Cosmetic change:
      
      Encapsulates the various fields of Env_state.
      
      Project-Description: Lurette
      f0aff2da
    • Erwan Jahier's avatar
      lurette 0.52 Thu, 28 Mar 2002 18:10:42 +0100 by jahier · edc79032
      Erwan Jahier authored
      Parent-Version:      0.51
      Version-Log:
      
      Remove the necessity to provide an oracle when the user does
      not have any assertion to check. To do that, I parse the sut
      file and automatically generates a fake oracle that answers always
      true.
      
      Project-Description: Lurette
      edc79032
    • Erwan Jahier's avatar
      lurette 0.51 Wed, 27 Mar 2002 17:46:03 +0100 by jahier · 6f6168b0
      Erwan Jahier authored
      Parent-Version:      0.50
      Version-Log:
      
      Change the way pre are translated in the .env file. Now
      instead of writting "_pre2toto", one writes "pre(2,toto)".
      
      But internally, it is handled the same way as before (i.e., the first
      thing I do when parsing the env file is to transform "pre(2,toto)"
      into "_pre2toto" (it makes the hangling of pre vars much more
      homogeneous with the way the other vars are handled.
      
      Also fix a bug where it was not possible to have a pre on input
      vars because the update_pre was failing to proceed quietly  whenever
      one of its var was not computable because its pre does have a value.
      Also give an appropriate error message whenever the user wrongly
      use a pre on a var that can not be computed.
      
      Project-Description: Lurette
      6f6168b0
    • Erwan Jahier's avatar
      lurette 0.48 Fri, 22 Mar 2002 14:29:17 +0100 by jahier · 1c7769db
      Erwan Jahier authored
      Parent-Version:      0.47
      Version-Log:
      
      Add support for (boolean and numeric) if-then-else.
      
      Remove the eval.ml module as the replacement of pre and input
      vars is now done in Solver.formula_to_bdd.
      
      Add a new module gne.ml that provides a garded normal expressions
      data structure that is used to handle if-then-elses.
      
      Also introduce a new field to env_state called bdd_tbl_global which
      is used to cache the result of formula_to_bdd for bdds that do not
      depend on pre nor input vars. The field bdd_tbl which cache the other
      reults is now cleared at each step because it is useless to store results
      that depends on pre and inputs.
      
      Project-Description: Lurette
      1c7769db
    • Erwan Jahier's avatar
      lurette 0.42 Wed, 13 Mar 2002 10:29:08 +0100 by jahier · 46927269
      Erwan Jahier authored
      Parent-Version:      0.41
      Version-Log:
      
      Make sure that n formula are drawn when even numeric failure occurs.
      To do that, I recursively call draw_n_p_formula until the required
      number of outputs have been generated.
      
      Also fix a bug where my code was not handling cases where several
      formulas corresponding to the same origin and target nodes (Lutin
      probably won't generate such arcs explicitely, but it does
      implicitely via epsilon transitions). The fix consist in adding
      formula in wtree types instead of maintaining a table of formula
      indexed by node list pairs. The env_state.formula_table is thus no
      longer needed.
      
      Project-Description: Lurette
      46927269
    • Erwan Jahier's avatar
      lurette 0.40 Thu, 07 Mar 2002 16:26:47 +0100 by jahier · 9d1241f6
      Erwan Jahier authored
      Parent-Version:      0.39
      Version-Log:
      
      Change the naming convention of prevars. Now, _pretoto is noted
      _pre1toto, and _pre_pre_pretoto is noted _pre3toto.
      
      Also fix a bug in the default initialization of ranges : min_float
      is the smallest positive float, not the smallet one !!
      
      Project-Description: Lurette
      9d1241f6
    • Erwan Jahier's avatar
      lurette 0.39 Thu, 07 Mar 2002 13:36:27 +0100 by jahier · 4579cc26
      Erwan Jahier authored
      Parent-Version:      0.38
      Version-Log:
      
      Use the new cudd interface based on camlidl (mlcuddidl).
      
      Now, bdds do not leaks anymore.  Remove debugging stuff that was used
      to track that problem.
      
      Project-Description: Lurette
      4579cc26
    • Erwan Jahier's avatar
      lurette 0.38 Wed, 06 Mar 2002 10:50:34 +0100 by jahier · c3c5f045
      Erwan Jahier authored
      Parent-Version:      0.37
      Version-Log:
      
      With this change, lurette is now able to handle numeric variables
      over intervals !
      
      Project-Description: Lurette
      c3c5f045
    • Erwan Jahier's avatar
      lurette 0.36 Mon, 04 Mar 2002 13:50:13 +0100 by jahier · 8b44df60
      Erwan Jahier authored
      Parent-Version:      0.35
      Version-Log:
      
      Add support to handle numerical contraints. The numerical stuff is
      untested, but the boolean part works as before.
      
      source/rnumsolver.mli:
      source/rnumsolver.ml:
          New files implementing a numeric solver based on intervals.
      
      source/*.ml:
          Change the var_type type from a string to a sum type containing
          the lower and upper bounds of numeric domains.
      
          Do not maintain a var_name to index correspondance, but a formula to
          index one. This is to be able to handle numerical constraint in bdds.
          This field is not set at init time anymore, but in formula_to_bdd.
      
          Add <>, <, and <= to the type of formula.
      
      Project-Description: Lurette
      8b44df60
    • Erwan Jahier's avatar
      lurette 0.35 Tue, 19 Feb 2002 16:27:14 +0100 by jahier · 429604ce
      Erwan Jahier authored
      Parent-Version:      0.34
      Version-Log:
       Use Hashtbl instead of assoc list to store env_in
      items as eval needs to search in it very often, it might be an issue
      when there is a lot of input variables.
      
      Project-Description: Lurette
      429604ce
    • Erwan Jahier's avatar
      lurette 0.34 Tue, 19 Feb 2002 10:40:58 +0100 by jahier · dba4992a
      Erwan Jahier authored
      Parent-Version:      0.33
      Version-Log:
      
      Fix a bug when computing the power of two.
      
      Project-Description: Lurette
      dba4992a
    • Erwan Jahier's avatar
      lurette 0.33 Mon, 18 Feb 2002 17:52:34 +0100 by jahier · ee4eb63d
      Erwan Jahier authored
      Parent-Version:      0.32
      Version-Log:
      
      Avoid recomputing everytime the list of output vars by storing it
      in an env_state field.
      
      Project-Description: Lurette
      ee4eb63d
    • Erwan Jahier's avatar
      lurette 0.32 Mon, 18 Feb 2002 17:06:16 +0100 by jahier · af07708a
      Erwan Jahier authored
      Parent-Version:      0.31
      Version-Log:
      
      Add an option --no-oracle to prevent that lurette calls the oracle.
      
      The solution number counting function was wrong.
      
      Also, make it easy to switch to float, or to big_int, to store
      the number of solution numbers.
      
      Project-Description: Lurette
      af07708a
    • Erwan Jahier's avatar
      lurette 0.26 Mon, 11 Feb 2002 17:32:29 +0100 by jahier · 8e54c847
      Erwan Jahier authored
      Parent-Version:      0.25
      Version-Log:
      
      Re-arrange the code so that lurette_stub.ml is not called by all the
      modules of lurette to avoid that everything is recompiled each time a
      new sut is used. To do that, lurette nows only manipulates list of
      substitutuions instead of tuples (as only lurette_stub knows the size
      of the tuples).
      
      Also fix two bugs along the way:
          o wtree.ml: Random.int n draw between 0 inclusive and n *exclusive* !
          o wtree.ml: in wtree_product, make sure that I do not unsort list of nodes
          o solver.ml: in draw_in_bdd, I was tossing up the top var of the formula
            instead of tossing up the one of the support
      
      Plus a few cosmetic change:
      
      show_env.ml:
      lurette.ml:
          prints the previous nodes in green environment.ps
      
      lurette.ml:
          rename arcs_inputs_loc into nll_inputs_loc.
      
      Project-Description: Lurette
      8e54c847
    • Erwan Jahier's avatar
      lurette 0.25 Wed, 06 Feb 2002 13:48:27 +0100 by jahier · e7fce05a
      Erwan Jahier authored
      Parent-Version:      0.24
      Version-Log:
      
      command_line.ml,mli: (New files)
      lurette.ml:
              Handle options at the lurette command line.
      
              Give better error messages.
      
      Project-Description: Lurette
      e7fce05a
    • Erwan Jahier's avatar
      lurette 0.24 Tue, 05 Feb 2002 14:10:29 +0100 by jahier · eb46e24b
      Erwan Jahier authored
      Parent-Version:      0.23
      Version-Log:
      
      Make the examples of Yvan work. Fix a bunch of bugs alonf the way...
      
      Project-Description: Lurette
      eb46e24b
    • Erwan Jahier's avatar
      lurette 0.23 Thu, 24 Jan 2002 15:14:37 +0100 by jahier · 010423f4
      Erwan Jahier authored
      Parent-Version:      0.22
      Version-Log:
      
      Add a bdd-based boolean solver to draw inside formula.
      
      Also remove several module opening and use explicit module
      qualification instead
      
      lurette.ml:
      env_state.ml:
          Define a function in env.ml to get the list of input and outputs var names
          and use it in lurette.ml
      
      env_state.ml:
          Add several fields to the env_state structure:
          * node_to_file_name: to be able to retrieve the list of vars that
            ougth to be generated from a list of nodes (Indeed, some vars
            that should be tossed up do no necessarily appear in formula; and
            once the whole bdd has been traversed for the draw, we need to be able
            to know what variable are still to be drawn).
          * var_name_to_index and index_to_var_name: to index output and local
            variable names. Indeed, the bdd library we use manipulates var as int,
            not string.
          * bdd_tbl: be cause transforming a formula into a bdd is expensive,
            we store the result of this transformation in a table.
      
          Define the var_names field as an Hashtbl instead of a list for homogeneity.
      
          Define functions that retrieve the list of input (resp output and local)
          vars from env_state to avois code duplication.
      
      env.ml:
          Initialize the new fields of env_state.
      
      util.ml:
      util.mli:
          Add a new function that computes the intersection of 2 lists.
      
      solver.ml:
          Implement a real boolean solver using bdds.
      
      Project-Description: Lurette
      010423f4