-
Sarasvati Moutoucomarapoulé authored
Some properties of an automaton will now be cached. For now, only "is_proper" is cached. * vcsn/core/property-cache.hh: Here. It is possible to change values in the cache, to update values defined for algorithm and to print a specific property. * lib/vcsn/misc/property-indexer.cc, * vcsn/misc/property-indexer.hh: Singleton generating properties' indices. * lib/vcsn/misc/property.cc, * vcsn/misc/property.hh: Define properties and default 'function_prop', which specifies predefined values for properties when an algorithm/function is applied on the automatom. * vcsn/core/mutable-automaton.hh: Add a property cache. * vcsn/core/automaton-decorator.hh: Forward property cache accessor call. * vcsn/core/permutation-automaton.hh: Copy input property cache. * vcsn/algos/filter.hh, * vcsn/algos/transpose.hh: Add a specific property cache. * vcsn/algos/accessible.hh, * vcsn/algos/add.hh, * vcsn/algos/cerny.hh, * vcsn/algos/complement.hh, * vcsn/algos/complete.hh, * vcsn/algos/compose.hh, * vcsn/algos/conjugate.hh, * vcsn/algos/conjunction.hh, * vcsn/algos/copy.hh, * vcsn/algos/de-bruijn.hh, * vcsn/algos/derived-term.hh, * vcsn/algos/determinize.hh, * vcsn/algos/divkbaseb.hh, * vcsn/algos/double-ring.hh, * vcsn/algos/inductive.hh, * vcsn/algos/insplit.hh, * vcsn/algos/is-proper.hh, * vcsn/algos/ladybird.hh, * vcsn/algos/letterize.hh, * vcsn/algos/lift.hh, * vcsn/algos/minimize-brzozowski.hh, * vcsn/algos/minimize-hopcroft.hh, * vcsn/algos/minimize.hh, * vcsn/algos/multiply.hh, * vcsn/algos/normalize.hh, * vcsn/algos/pair.hh, * vcsn/algos/partial-identity.hh, * vcsn/algos/prefix.hh, * vcsn/algos/project-automaton.hh, * vcsn/algos/proper.hh, * vcsn/algos/push-weights.hh, * vcsn/algos/quotient.hh, * vcsn/algos/quotkbaseb.hh, * vcsn/algos/reduce.hh, * vcsn/algos/sort.hh * vcsn/algos/standard.hh, * vcsn/algos/star.hh, * vcsn/algos/synchronize.hh, * vcsn/algos/thompson.hh, * vcsn/algos/to-expression.hh, * vcsn/algos/to-spontaneous.hh, * vcsn/algos/trie.hh, * vcsn/algos/tuple-automaton.hh, * vcsn/algos/u.hh, * vcsn/algos/universal.hh, * vcsn/algos/weight.hh: Define function tags and properties, update property cache. * vcsn/algos/info.hh: Print properties (only is_proper for now). * doc/notebooks/automaton.info.ipynb, * tests/python/info.py, * tests/python/project.py, * tests/python/transpose.py, * tests/unit/proper.chk: Update 'is proper' value. * tests/python/is-proper.py, * tests/python/lift.py, * tests/python/proper.py: Check property cache value. * lib/vcsn/local.mk, * vcsn/local.mk: Add files.
e64bd102