- 23 Nov, 2016 2 commits
-
-
Sébastien Piat authored
K Shortest Path algorithm implemented following the Eppstein implementation described in the article: `Finding the k shortest paths`, David Eppstein (1997). * tests/python/lightest.py: Test it here. * vcsn/algos/dijkstra-node.hh: Here. * vcsn/algos/eppstein.hh: Here. * vcsn/algos/implicit-path.hh: Here. * vcsn/algos/lightest.hh: Here. * vcsn/algos/path.hh: Here. * vcsn/algos/shortest-path-tree.hh: Here. * vcsn/local.mk: Here.
-
Younes Khoudli authored
The stack frame from IPython differs between IPython 2 and 5: there's one more "frame" in the former. In fact, these "frames" include the lines of dashes displayed before and after the stack trace, and also the error message in itself. Trying to actually fix the filtering of the stack trace seems too painful. Let's just skip this test with old IPythons. Fixes #145. * tests/python/tracebacks.py: here.
-
- 21 Nov, 2016 5 commits
-
-
Younes Khoudli authored
`prod-eval` have been renamed `prod-evaluate` in the notebooks. It shouldn't have, fix it. * doc/notebooks/C++-Library.ipynb: Here.
-
Younes Khoudli authored
Alternative solutions: have a local dictionnary for this demo, or don't check it. This solution is a really temporary bandaid to make the BF green again.
-
Younes Khoudli authored
-
Younes Khoudli authored
If ipywidgets isn't avaible, don't try to import an old version of it, just fail. VCSN should still work in pure python mode in that case.
-
Younes Khoudli authored
* tests/python/tracebacks.py: Here.
-
- 16 Nov, 2016 1 commit
-
-
Akim Demaille authored
-
- 15 Nov, 2016 3 commits
-
-
Akim Demaille authored
* tests/python/tracebacks.py: Let all errors be recorded as an invalid.
-
Fixes issue #142: commit ece58a55 (expression: copy: handle identities properly) fixes the copy/conversion of expression, but dropped, by accident, the case of `compose`. This triggered warnings in GCC 6. This commit fixes the warnings, but more importantly, addresses the related bug. * vcsn/core/rat/copy.hh: Handle `compose`. * tests/python/expression.py: Check that copy works on our various operators.
-
Sébastien Piat authored
* vcsn/core/automaton.hh: Here.
-
- 09 Nov, 2016 2 commits
-
-
* python/vcsn/__init__.py, * python/vcsn/python3.py: Here. * python/local.mk: Add python3.py. * tests/unit/pylint.chk: Update to accept 'pylint3'.
-
Akim Demaille authored
Currently configure could accept an IPython that did not accept Python 3. * build-aux/m4/ipython.m4 (_VCSN_PROG_IPYTHON): New. Use it. * bin/vcsn.in: Bounce `vcsn ipython` to that IPython.
-
- 05 Nov, 2016 1 commit
-
-
Akim Demaille authored
Pandoc does a great job, but not perfect. We need to patch the output. * NEWS.md: Update. * build-aux/bin/md-2-mw: New. * doc/NEWS.mw.patches/01-2.2.patch, * doc/NEWS.mw.patches/02-2.3.patch, * doc/NEWS.mw.patches/03-2.4.patch: New.
-
- 04 Nov, 2016 4 commits
-
-
Younes Khoudli authored
* vcsn/algos/random-automaton.hh: Here. * vcsn/dyn/algos.hh: Add the parameter to dyn * python/vcsn_cxx.cc: Update python bindings. * tests/python/factory.py: Test it. * doc/notebooks/context.random_automaton.ipynb: Document it.
-
Akim Demaille authored
We have sporadic errors when checking notebooks: Traceback (most recent call last): File "/srv/teamcity-agent/work/a0185dad9234e013/tests/bin/ipynbdoctest.py", line 279, in <module> success &= test_notebook(os.path.basename(ipynb)) File "/srv/teamcity-agent/work/a0185dad9234e013/tests/bin/ipynbdoctest.py", line 204, in test_notebook kc.wait_for_ready() File "/usr/lib/python3.5/site-packages/jupyter_client/blocking/client.py", line 59, in wait_for_ready raise RuntimeError('Kernel died before replying to kernel_info') RuntimeError: Kernel died before replying to kernel_info See https://github.com/jupyter/nbconvert/issues/277. * tests/bin/ipynbdoctest.py (test_notebook): Skip if we failed to fire the kernel.
-
Akim Demaille authored
* configure.ac: Here.
-
Akim Demaille authored
So far, we were using a (partial) specialization of class templates to dispatch on whether are multitape or not. Use static-if instead. This is still not very elegant, but it seems better than what we had. * vcsn/core/rat/copy.hh, vcsn/core/rat/hash.hh, vcsn/core/rat/info.hh, * vcsn/core/rat/less.hh, vcsn/core/rat/partial-identity.hh, * vcsn/core/rat/printer.hh vcsn/core/rat/project.hh, * vcsn/core/rat/size.hh, vcsn/core/rat/transpose.hh: Use static-if where we did not before. Use decltype to stop the instantiation of class templates by making them depend on a parameter type.
-
- 03 Nov, 2016 6 commits
-
-
Akim Demaille authored
* vcsn/core/rat/dot.hh: Make the instantiation of visit_tuple depend on a template parameter to avoid instantiation when not used. This could be see because we had warnings about it even in lal, b, which, of course, does not instantiate `visit_tuple`. See also http://stackoverflow.com/questions/40385953. But also address the warning that we see with tuples: initialize name_.
-
Akim Demaille authored
Warnings from PVS Studio. Reported by Alexandre Duret-Lutz as item 12 in #140. * vcsn/misc/wet.hh: Add copy ctor to classes having an assignment operator. Use noexcept. Use delegating constructors rather than redundancy. Prefer braces. Properly assert impossible situations.
-
Akim Demaille authored
Reported by Alexandre Duret-Lutz in #140. * vcsn/core/rat/expression.hh. vcsn/core/rat/expression.hxx (variadic::rbegin, variadic::rend): Remove broken, but unused. Was implemented as begin/end, but the type system was happy anyway! Item 32 in #140. (variadic, weight_node): Remove unused copy-ctor that is not assorted of an assignment operator. Items 27 and 28 in #140.
-
Younes Khoudli authored
Fixes #141. The error messages were given C++ style funtion signatures, not shell style ones. Factor the code used to generate those and fix that. * build-aux/bin/tools-gen: Here. * tests/tools/evaluate.chk: Test it. * libexec/vcsn-tools.cc: Change last line of help messages. * doc/notebooks/Tools.ipynb: Update last line of help message. * tests/tools/help.chk: Update last line of help message.
-
Akim Demaille authored
* tests/unit/local.mk (score): Does depend on the libraries.
-
Akim Demaille authored
* build-aux/bin/bindings-gen: Rename as... * build-aux/bin/oodyn-gen: this. * python/local.mk: Adjust.
-
- 02 Nov, 2016 8 commits
-
-
Akim Demaille authored
Reported by Alexandre Duret-Lutz in #138. * README.md: Say it. While at it, formatting changes.
-
Akim Demaille authored
Was impossible before fixing #130. * vcsn/dyn/algos.hh: Set a default value for the specs.
-
Akim Demaille authored
See #140. * lib/vcsn/misc/escape.cc: Avoid octal.
-
Akim Demaille authored
Vcsn sandbox is stuck to an old version of 2.3. This is because since then we renamed the version as 2.3a, and debian tools seem to consider that 2.3a is *before* 2.3. Let's try with 2.3.a instead. * NEWS.md: More info. * configure.ac: 2.3.a.
-
Akim Demaille authored
Fix #138. * README.md: Update. * build-aux/m4/boost.m4: Update to current version. Improve error message (pull request 90 on boost.m4).
-
Akim Demaille authored
* build-aux/m4/boost.m4: Update to current version.
-
Akim Demaille authored
Issue #140. * lib/vcsn/algos/daut.cc: Be sure to use an int for getc. * lib/vcsn/misc/stream.cc: Formatting change.
-
Akim Demaille authored
This change, which touches many files, simply renames `eval` in static, dyn and Python, as `evaluate`. This is more consistent with the other function names.
-
- 01 Nov, 2016 8 commits
-
-
Akim Demaille authored
* tests/python/factory.py: We don't need `!` when trying to generate a weight.
-
Akim Demaille authored
In particular, in this level, E{T} is E{t}. This should help comparing {t} and {T} when desugaring right quotient. * vcsn/core/rat/identities.hh, lib/vcsn/rat/identities.cc (agressive, is_agressive): New. (is_distributive): Check for equality, there is no longer a monotonic order. * vcsn/core/rat/expressionset.hxx: Implement additional simplifications. * tests/rat/b.rat, tests/rat/q.rat: Check. * doc/notebooks/Expressions.ipynb: Doc.
-
Akim Demaille authored
* vcsn/core/rat/project.hh: Handle compose. Obey the identities even with unary operators. (project, project_): Rename as... (rec_): this, for consistency with copy. * tests/python/project.py: Check the unary and the binary operators. fixup! expression: project: handle compose
-
Akim Demaille authored
Currently, when we copy/convert an expression, we just copy the AST, possibly changing the labelset and the weightset. Unfortunately this means that we don't obey the new identities, and `a+a` from `none` to `linear`, stays `a+a`. * vcsn/core/rat/copy.hh: Don't blindly copy the tree, invoke the expressionset's operations. * tests/python/expression.py: Check this.
-
Akim Demaille authored
* vcsn/algos/lightest-automaton.hh: Improve error message. Reorder the if in a more natural order. Don't check for null_transitions in paths, this cannot happen (and does not happen in the test suite). And use the copier's feature to copy sets of transitions. * tests/python/lightest-automaton.py: Reorder. Check error messages. (check): Simplify (there is no need to treat \z in a special way), and fix (the weight applies to the whole expression, not just the first term).
-
Akim Demaille authored
* doc/notebooks/automaton.operators.ipynb: Rename as... * doc/notebooks/automaton.Operators.ipynb: this. * doc/notebooks/context.operators.ipynb: Rename as... * doc/notebooks/context.Operators.ipynb: this. * doc/notebooks/context.random_weight.ipynb: . * doc/notebooks/expansion.operators.ipynb: Rename as... * doc/notebooks/expansion.Operators.ipynb: this. * doc/notebooks/expression.operators.ipynb: Rename as... * doc/notebooks/expression.Operators.ipynb: this. * doc/notebooks/label.operators.ipynb: Rename as... * doc/notebooks/label.Operators.ipynb: this. * doc/notebooks/polynomial.operators.ipynb: Rename as... * doc/notebooks/polynomial.Operators.ipynb: this. * doc/notebooks/weight.operators.ipynb: Rename as... * doc/notebooks/weight.Operators.ipynb: this.
-
Akim Demaille authored
Related to #50. * doc/notebooks/expansion.ldivide.ipynb: New. * doc/notebooks/expression.ldivide.ipynb, * doc/notebooks/expression.rdivide.ipynb: Fix: there is no need for LAW here.
-
Akim Demaille authored
* vcsn/core/rat/hash.hxx: Remove. Made useless in 97021ee8.
-