1. 15 Jun, 2005 1 commit
    • Sarah O'Connor's avatar
      2005-06-15 Sarah O'Connor <sarah.o-connor@lrde.epita.fr> · 5587a11c
      Sarah O'Connor authored
      	This patch offers several new algorithms on transducers seen as
      	automata over a free monoid product. Some projections are now
      	available: 'domain' which creates an automaton which transitions
      	are labeled by the first component of each word of the fmp
      	transducer, 'image' which does the same with the second component
      	and 'identity' which transforms an automaton in a fmp transducer
      	by creating, for each word, a pair containing twice this word.
      	Furthermore, evaluation is now available and a new function has
      	been added to the fmp context headers in order to facilitate the
      	call to the evaluation algorithm, just as it is already done for
      	transducers.
      
      	* include/vaucanson/algorithms/projections_fmp.hh,
      	* include/vaucanson/algorithms/projections_fmp.hxx: New. Add 'domain',
      	'image' and 'identity' projections for fmp transducers.
      	* include/vaucanson/algorithms/evaluation_fmp.hh,
      	* include/vaucanson/algorithms/evaluation_fmp.hxx: New. Add an
      	evaluation algorithm for fmp transducers.
      	* include/Makefile.am: Update accordingly.
      
      	* src/tests/automata/algos/fmp_transducers/evaluation_fmp_test.hh: New.
      	Write a test for the evaluation on fmp transducers.
      	* src/tests/automata/algos/fmp_transducers/Makefile.am: Update
      	accordingly.
      
      	* include/vaucanson/contexts/fmp_transducer_functions.thh,
      	* include/vaucanson/contexts/fmp_transducer_functions.thxx: Add the
      	'evaluation' function to ease the interface with the user.
      
      5587a11c
  2. 09 Jun, 2005 1 commit
  3. 06 Jun, 2005 13 commits
  4. 05 Jun, 2005 3 commits
    • Michal Cadilhac's avatar
      2005-06-05 Michael Cadilhac <michael.cadilhac@lrde.epita.fr> · cfa4c4d8
      Michal Cadilhac authored
      	* bootstrap.sh: Add the bootstrapping of bench files.
      
      	* src/benchs: New. Bench suite directory.
      	* src/benchs/generate_benchs.sh: New.   This script  generates .cc
      	files associated  with _bench.hh files,  and creates corresponding
      	Makefile.am's.
      	* src/benchs/generate_all_benchs.sh:  New.   Wrapper    that  call
      	generate_benchs.sh for all bench directories.
      	
      	* src/benchs/minimization_stroppa/minimization_bench_fsm.cc,
      	* src/benchs/minimization_stroppa/usual.hxx,
      	* src/benchs/minimization_stroppa/init.hh,
      	* src/benchs/minimization_stroppa/fsm_minimize.hh,
      	* src/benchs/minimization_stroppa/tools.hxx,
      	* src/benchs/minimization_stroppa/data,
      	* src/benchs/minimization_stroppa/init.hxx,
      	* src/benchs/minimization_stroppa/Makefile.bench,
      	* src/benchs/minimization_stroppa/minimization_bench_moore.cc,
      	* src/benchs/minimization_stroppa/int_traits.hh,
      	* src/benchs/minimization_stroppa/minimization_bench_hopcroft.cc,
      	* src/benchs/minimization_stroppa/tools.hh,
      	* src/benchs/minimization_stroppa/usual_ana_predefs.hh,
      	* src/benchs/minimization_stroppa:   New.  A   minimization  bench
      	thanks to Nicolas Stroppa.
      
      	* src/benchs/determinization/determinization_bench.hh,
      	* src/benchs/determinization/Makefile.bench,
      	* src/benchs/determinization/determinization_bench_fsm.cc,
      	* src/benchs/determinization: New. A  bench which determinize an n
      	states automaton to a 2^n automaton.
      
      	* src/benchs/minimization_2n/minimization_2n_moore_bench.hh,
      	* src/benchs/minimization_2n/minimization_2n_hopcroft_bench.hh,
      	* src/benchs/minimization_2n/Makefile.bench,
      	* src/benchs/minimization_2n: New.  A   minimization bench  on the
      	resulting automaton of the determinization previously described.
      
      	* src/benchs/quotient/quotient_bench.hh,
      	* src/benchs/quotient/Makefile.bench,
      	* src/benchs/quotient: New. A quotient bench.
      	
      	* src/benchs/minimization_nd/minimization_nd_bench.hh,
      	* src/benchs/minimization_nd/Makefile.bench,
      	* src/benchs/minimization_nd:  New.  A  minimization bench  over a
      	nondeterministic automaton.
      	
      	* src/benchs/minimization_debruijn/minimization_debruijn_moore_bench.hh,
      	* src/benchs/minimization_debruijn/minimization_debruijn_hopcroft_bench.hh,
      	* src/benchs/minimization_debruijn/Makefile.bench,
      	* src/benchs/minimization_debruijn: New. A minimization bench over
      	the De Bruijn automaton, thanks to Sylvain Lombardy.
      
      	* src/benchs/derived_terms/derived_terms_dt_bench.hh,
      	* src/benchs/derived_terms/derived_terms_so_bench.hh,
      	* src/benchs/derived_terms/Makefile.bench,
      	* src/benchs/derived_terms:  New. A bench  to compare consequences
      	of the `derived terms' algorithm, and the `standard_of' one.
      
      	* src/benchs/common/alpha.syms: New. Alpha mapping for FSM.
      	* src/benchs/common/algorithm.hh: New. Algorithm used in benchs.
      	* src/benchs/common/bench_automaton.hh: New. The `bench_automaton'
      	is   a   light    automaton   with   `label_are_letters'   and   a
      	`small_alpha_letter'.
      	* src/benchs/common/bench_constructs.hh:   New.   Basic  automaton
      	constructions used in the benchs.
      	* src/benchs/common/Makefile.flags,
      	* src/benchs/common/Makefile.am,
      	* src/benchs/common: New.
      	
      	* src/benchs/Makefile.am: New. Define a `bench' rule and subdirs.
      	* src/Makefile.am: Add `bench' as a subdir.
      	* configure.ac: Add Makefiles in src/bench to be generated.
      	* Makefile.am: Add a `bench' rule.
      cfa4c4d8
    • Michal Cadilhac's avatar
      2005-06-05 Michael Cadilhac <michael.cadilhac@lrde.epita.fr> · 468a0c23
      Michal Cadilhac authored
      	* include/vaucanson/tools/bencher.hh: Add macros to bench silently
      	and just have the numerical value of the bench.
      468a0c23
    • Michal Cadilhac's avatar
      2005-06-05 Michael Cadilhac <michael.cadilhac@lrde.epita.fr> · c02b435d
      Michal Cadilhac authored
      	* include/vaucanson/automata/implementation/graph.hxx (op_letter_delta):
      	Don't name the `delta_kind' nor the structure to avoid a warning.
      c02b435d
  5. 03 Jun, 2005 1 commit
    • Sarah O'Connor's avatar
      2005-06-03 Sarah O'Connor <sarah.o-connor@lrde.epita.fr> · 9fa4d218
      Sarah O'Connor authored
      	* include/vaucanson/z_transducer.hh: New. Add a context header for
      	transducers on Z semiring.
      	* include/Makefile.am: Update accordingly.
      
      	* include/vaucanson/contexts/fmp_transducer_functions.thh,
      	* include/vaucanson/contexts/fmp_transducer_functions.thxx: Modify
      	'make_couple' function to return a monoid_elt_t instead of a
      	series_elt_t.
      	* src/tests/context_headers/fmp_transducers/global_consistency_test.hh:
      	Update accordingly.
      
      	* src/tests/test-suites/context_headers_z_transducer.defs: New.
      	Instantiate a test for the new context header.
      	* src/tests/test-suites/z_transducer.defs: New. Instantiate a test on
      	transducers on Z semiring.
      
      	* src/tests/test-suites/z_fmp_transducer.defs: New. Instantiate a test
      	on fmp transducers on Z semiring.
      	* src/tests/test-suites/generate-all.sh: Update accordingly.
      
      	* src/tests/automata/algos/fmp_transducers/instantiation_test.hh:
      	Remove useless test.
      	* src/tests/automata/algos/fmp_transducers/Makefile.am: Update
      	accordingly.
      
      9fa4d218
  6. 01 Jun, 2005 1 commit
  7. 27 May, 2005 1 commit
    • Florent Terrones's avatar
      · 888284d0
      Florent Terrones authored
      2005-05-27  Florent Terrones  <florent.terrones@lrde.epita.fr>
      	
      	* include/vaucanson/xml/XML.hh: Add the attribute 'name_' to the
      	structure 'XML' so as to store the automaton name during the XML
      	session.
      	* include/vaucanson/tools/xml_dump.hxx: Add the name of the automaton
      	in 'xml_dump'.
      	* include/vaucanson/tools/xml_load.hh,
      	* include/vaucanson/tools/xml_load.hxx: New. Add 'xml_load' tool to
      	fill an automaton from a IStream containing XML	data.
      	* include/Makefile.am: Update accordingly.
      
      888284d0
  8. 26 May, 2005 1 commit
  9. 25 May, 2005 4 commits
    • Louis-Nol Pouchet's avatar
      2005-05-25 Louis-Noel Pouchet <louis-noel.pouchet@lrde.epita.fr> · 19040e23
      Louis-Nol Pouchet authored
      	* include/vaucanson/xml/tools.hxx: Fix a bug with boolean automata.
      	* src/tests/xml/b_ref.dot: Update accordingly.
      
      19040e23
    • Louis-Nol Pouchet's avatar
      2005-05-25 Louis-Noel Pouchet <louis-noel.pouchet@lrde.epita.fr> · a373546d
      Louis-Nol Pouchet authored
      	* include/vaucanson/algorithms/sub_normalize.hh,
      	* include/vaucanson/algorithms/sub_normalize.hxx: New. Add 
      	sub-normalization for FMP transducers.
      
      	* src/tests/automata/algos/fmp_transducers/sub_normalize_test.hh: New.
      	Add test for sub-normalization of FMP transducers.
      
      a373546d
    • Florent Terrones's avatar
      · 1cf897e6
      Florent Terrones authored
      2005-05-25  Florent Terrones  <florent.terrones@lrde.epita.fr>
      
              * include/vaucanson/algorithms/internal/partial_rat_exp.hxx:
              Fix a compilation error that happens if one uses derivatives_automaton
              with the DEBUG flag.
      
      1cf897e6
    • Michal Cadilhac's avatar
      2005-05-25 Michael Cadilhac <michael.cadilhac@lrde.epita.fr> · 36503720
      Michal Cadilhac authored
      	This patch aim to make the test suite only output printable
      	characters.
      	In case of error in a test, relevant informations are now output
      	in a file in `/tmp'.
      	* src/tests/check/tester.hh: Add `TEST_FAIL_SAVE' macro for
      	test to save informations about failing tests in a file. Force
      	`EQTEST' to only output printable characters through the
      	filtering function `printable'.
      	* src/tests/automata/algos/label_aware_graphs/glushkov_test.hh,
      	* src/tests/automata/algos/label_aware_graphs/sum_test.hh,
      	* src/tests/automata/algos/label_aware_graphs/concat_test.hh,
      	* src/tests/automata/algos/label_aware_graphs/closure_test.hh,
      	* src/tests/automata/algos/label_aware_graphs/in_concat_test.hh,
      	* src/tests/automata/algos/graphs/accessible_test.hh,
      	* src/tests/automata/algos/boolean_automata/complete_test.hh,
      	* src/tests/automata/algos/labeled_graphs/thompson_test.hh,
      	* src/tests/automata/algos/labeled_graphs/elimination_test.hh,
      	* src/tests/automata/algos/letter_combination_labeled_graphs/product_regression_test.hh,
      	* src/tests/automata/algos/letter_combination_labeled_graphs/product_test.hh,
      	* src/tests/algebra/series/krat/boolean/krat_exp_cderivation_linear_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_parse_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_flatten_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_expand_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_constant_term_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_linearize_structure_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_linearize_test.hh,
      	* src/tests/algebra/series/krat/main/krat_exp_aci_canonical_test.hh,
      	* src/tests/algebra/series/krat/derivations/derivations_common.hh,
      	* src/tests/algebra/series/misc/series_test.hh,
      	* src/tests/algebra/numerical_semiring/numerical_semiring_test.hh,
      	* src/tests/misc/assert_test.cc,
      	* src/tests/misc/random.cc,
      	* src/tests/misc/limits.cc: Fix the output of these tests, forcing
      	it to be clean by only printing printable characters.
      	* src/tests/algebra/series/krat/main/krat_exp_derivation_test.hh:
      	Remove. This test is useless as
      	`src/tests/algebra/series/krat/derivations/derivation/*' do the
      	same, in a more complete way.	
      	* src/tests/algebra/series/krat/main/Makefile.am: Update accordingly.
      36503720
  10. 23 May, 2005 2 commits
    • Robert Bigaignon's avatar
      2005-05-23 Robert Bigaignon <bigaig_r@lrde.epita.fr> · f4d3084d
      Robert Bigaignon authored
      	* include/vaucanson/algebra/implementation/series/rat/star_height_visitor.hh,
      	* include/vaucanson/algebra/implementation/series/rat/star_height_visitor.hxx:
      	New. Add a new visitor that computes the star height of an expression.
      
      	* include/vaucanson/algebra/implementation/series/rat/length_visitor.hh,
      	* include/vaucanson/algebra/implementation/series/rat/length_visitor.hxx:
      	New. Add a new visitor that computes the length of an expression,
      	i.e. the number of letters in the expression.
      
      	* include/vaucanson/algebra/implementation/series/rat/exp.hxx,
      	* include/vaucanson/algebra/implementation/series/rat/exp.hh:
      	Add star_height() and length() methods to class exp.
      
      	* include/Makefile.am:
      	Update accordingly.
      
      f4d3084d
    • Robert Bigaignon's avatar
      2005-05-23 Robert Bigaignon <bigaig_r@lrde.epita.fr> · 9c8973fe
      Robert Bigaignon authored
      	* include/vaucanson/algorithms/aut_to_exp.hxx:
      	Add a new chooser that chooses randomly states to delete.
      
      9c8973fe
  11. 22 May, 2005 1 commit
  12. 21 May, 2005 3 commits
    • Raphal Poss's avatar
      2005-05-21 Raphael Poss <raph@lrde.epita.fr> · 488c675c
      Raphal Poss authored
              Cosmetic changes, as suggested by Thomas Claveirole.
      
              * include/vaucanson/algebra/implementation/series/krat_exp_support.hxx: 
              Change 'unreachable' to 'result_not_computable'.
      
              * include/vaucanson/misc/contract.hh: Replace '__trap' with
              'vcsn_trap_' to avoid using names reserved by the standard
              library.
      
              * include/vaucanson/algebra/implementation/series/polynoms.hxx:
              Fix spelling error.
      
      
      488c675c
    • Raphal Poss's avatar
      2005-05-21 Raphael Poss <raph@lrde.epita.fr> · d1d978cb
      Raphal Poss authored
              Fix long-standing bug that prevented the correct optimization of
              static Element structures. Thank Nicolas Stroppa for this report. 
      
              * include/vaucanson/algebra/implementation/series/polynoms.hh,
              * include/vaucanson/algebra/implementation/series/krat.hh,
              * include/vaucanson/algebra/implementation/alphabets/decorated_alphabet.hh,
              * include/vaucanson/algebra/implementation/alphabets/set_alphabet.hh:
              Replace 'dynamic_values' with 'dynamic_value'.
      
      
      d1d978cb
    • Raphal Poss's avatar
      2005-05-21 Raphael Poss <raph@lrde.epita.fr> · 204d0e6a
      Raphal Poss authored
              Make more parts of Vaucanson compile with -fno-exceptions. Clean
              use of contract macros.
      
              Now uses of 'result_not_computable' will abort() the program
              unless EXCEPTION_TRAPS is defined. (this is what EXCEPTION_TRAPS
              stands for in the first place).
      
              * include/vaucanson/misc/contract.hh: Always define
              vcsn::contract::trap. Add macro 'result_not_computable_if'. Change
              'result_not_computable' to look more like other contract
              macros. Add 'assertion_', 'precondition_' and 'postcondition_' to
              accept an explanation message. Add 'unreachable' macro to detect
              unreachable code.
      
              * include/vaucanson/algorithms/closure.hxx: Use
              'result_not_computable_if()'.
      
              * include/vaucanson/algebra/concept/freemonoid_base.hxx: Use
              'precondition_()' instead of direct throw.
      
              * include/vaucanson/algebra/implementation/semiring/rational_number.hxx:
              Use 'postcondition()' instead of direct throw.
      
              * include/vaucanson/algebra/implementation/series/polynoms.hxx:
              Use 'postcondition()' instead of direct throw.
      
              * include/vaucanson/algebra/implementation/series/krat_exp_parser.hh:
              Report dependency on exceptions in the documentation.
      
              * include/vaucanson/algebra/implementation/series/krat_exp_parser.hxx:
              Use 'unreachable' to beautify.
      
              * include/vaucanson/algebra/implementation/series/krat_exp_support.hxx: 
              Use 'unreachable' to beautify and express error message more verbosely.
      
              * include/vaucanson/contexts/automaton_functions.thxx: Use
              'postcondition_()' instead of direct throw.
      
              * include/vaucanson/algebra/implementation/semiring/numerical_semiring.hxx:
              Use 'assertion_' to beautify.
      
              * include/vaucanson/algebra/implementation/series/polynoms.hxx:
              Use 'assertion_' to simplify. (this change also optimizes one test
              away when VCSN_NDEBUG is defined)
      
              * include/vaucanson/algebra/implementation/series/transpose.hxx, 
              * include/vaucanson/algebra/implementation/series/krat.hxx, 
              * include/vaucanson/algebra/concept/semiring_base.hxx, 
              * include/vaucanson/algebra/concept/series_base.hxx: Use
              'pure_service_call' instead of 'assertion', because it is what it
              was intended for in the first place.
      
              * src/tests/algebra/numerical_semiring/numerical_semiring_test.hh:
              Change exception test accordingly.
      
      
      204d0e6a
  13. 20 May, 2005 2 commits
  14. 18 May, 2005 1 commit
    • Michal Cadilhac's avatar
      2005-05-18 Michael Cadilhac <michael.cadilhac@lrde.epita.fr> · 62715473
      Michal Cadilhac authored
      	* include/vaucanson/algorithms/minimization_moore.hh,
      	* include/vaucanson/algorithms/minimization_moore.hxx: Debug
      	`minimization_moore' with non letter transitions, making sort of
      	`cut_up' on the fly. Add a `co_minimization_moore' algorithm,
      	making a co-minimization on a co-deterministic automaton.
      	* src/tests/automata/algos/boolean_automata/minimization_test.hh:
      	Add `co_minimization_moore' test.
      62715473
  15. 17 May, 2005 2 commits
  16. 16 May, 2005 3 commits