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 22 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.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.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.98 Fri, 04 Oct 2002 13:06:16 +0200 by jahier · b8ce1df2
      Erwan Jahier authored
      Parent-Version:      0.97
      Version-Log:
      
      source/rnumsolver.ml:
         Remove valI and ValF from the range type as now, when a var is bound,
         it is put into store.substl.
      
      Project-Description: Lurette
      b8ce1df2
    • 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.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.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.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.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.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.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