Commit graph

1075 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
34af32879c Better selection of the acceptance of the initial state in SBA.
* src/tgba/tgbatba.cc (tgba_sba_proxy::tgba_sba_proxy): Set
cycle_start_ to start in the accepting layer of the degeneralized
automaton if the initial state has an accepting self-loop.
Otherwise, starts at the level of the first acceptance condition
as previously.
(tgba_sba_proxy::get_init_state): Use cycle_start_.
* src/tgba/tgbatba.hh (tgba_tba_proxy::a_): Make it protected so
that we can use it in tgba_sba_proxy::tgba_sba_proxy.
(tgba_sba_proxy::cycle_start_, tgba_sba_proxy::get_init_state):
Declare.
* src/tgbatest/ltl2tgba.test: More tests.
2010-03-05 22:35:18 +01:00
Alexandre Duret-Lutz
52faa81a77 Generalize the previous patch to accepting states in SBA.
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator::sync_): Move
the optimization step added by the previous patch outside the
before the bddtrue check, so that it also applies to accepting
states in SBA.
2010-03-05 22:27:47 +01:00
Alexandre Duret-Lutz
96cc3a3f67 Optimize tgba_tba_proxy and tgba_sba_proxy for states that share
an acceptance condition on all outgoing transitions.

This was motivated by experiments from Rüdiger Ehlers, showing
that "ltl2ba -f 'a U (b U c)'" outperformed "ltl2tgba -f -N -R3 'a
U (b U c)'".  With this change and the previous one, it is no
longer the case.

* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator::aut_): Store
a pointer to the source automaton and...
(tgba_tba_proxy_succ_iterator::sync_): ... use it in an extra
optimization step to gather the acceptance conditions common
to all outgoing transitions of the destination state, and pretend
they are on the current (ingoing) transition.
(tgba_tba_proxy::succ_iter): Pass the
source automaton to the constructed iterator.
* src/tgbatest/spotlbtt.test: Test -f -N -R3 -r7.
* src/tgbatest/ltl2tgba.test: Add a test case for 'a U (b U c)'.
2010-03-03 12:42:11 +01:00
Alexandre Duret-Lutz
efb15a9171 ltl2tgba: apply -R3 before -D or -DS.
* src/tgbatest/ltl2tgba.cc (main): Call scc_filter() before the
degeneralization, because it might remove useless acceptance
conditions.  I realized this while looking at experiments from
Rüdiger Ehlers.
2010-03-03 08:42:45 +01:00
Alexandre Duret-Lutz
2598f794d8 * src/sanity/style.test: Better fix for the previous error. 2010-02-24 13:56:08 +01:00
Alexandre Duret-Lutz
57d5eb3cb3 Work around a spurious style.test error.
* src/saba/sabacomplementtgba.hh (spot): Rewrite Büchi as B\"uchi
is the BibTex entry used as comment, because some version of sed
will choke on non-ascii character and cause sanity/style.test to
fail.
2010-02-23 17:31:39 +01:00
Alexandre Duret-Lutz
2183276008 Fix random_graph() not to generate dead states.
This is actually the third time I fix random_graph().  On
2007-02-06 I changed the function not to generated dead states,
but in a way that made it non-deterministic.  On 2010-01-20 I made
the function deterministic again, but it started to generate dead
states as a side effect.  This time, I'm making sure that dead
states won't come again with a test-case that we should have had
from the beginning.

* src/tgbaalgos/randomgraph.cc (random_graph): Add an extra
indirection array, state_randomizer[], so that we can reorder
states indices after a random selection without actually changing
the value of the indices used by unreachable_states and
nodes_to_process.
* src/tgbatest/randtgba.test: New file.
* src/tgbatest/Makefile.am: Add randtgba.test.
2010-02-23 17:20:59 +01:00
Alexandre Duret-Lutz
72b7deec12 ltl2tgba cgi updates.
* wrap/python/cgi-bin/ltl2tgba.in (dot): Use the value computed by
configure.
(os.system): Cleanup stale files only when the form has been
submitted.
(list options): Keep track of the selected value.
(draw_acc_run|print_acc_run): set ec=0 to detect if it has been
later set or not.  Fix error message when using generalized
automata with degeneralized emptiness checks.
* wrap/python/cgi-bin/Makefile.am (ltl2tgba.py): Substitute @DOT@.
2010-02-17 16:05:16 +01:00
Alexandre Duret-Lutz
bc61ca73c6 * wrap/python/cgi-bin/ltl2tgba.in: Reword description of svg_output. 2010-02-02 18:28:43 +01:00
Alexandre Duret-Lutz
72ae820b0c Add SVG output and language containment options to the cgi script.
* wrap/python/cgi-bin/ltl2tgba.in (new): Mark new options as new.
(svg_output, reduce_langcout): Add these new options.
(render_dot): Support svg_output.
2010-02-02 16:58:14 +01:00
Alexandre Duret-Lutz
a13ded583b * NEWS: Typo. 2010-02-02 16:23:20 +01:00
Alexandre Duret-Lutz
e800eb185a * NEWS, configure.ac: Bump version to 0.5a. 2010-02-01 10:37:09 +01:00
Alexandre Duret-Lutz
0728b38cdd Release Spot 0.5.
* NEWS, configure.in: Bump version to 0.5.
2010-02-01 10:19:28 +01:00
Alexandre Duret-Lutz
ca1bec3093 * doc/Makefile.am ($(srcdir)/stamp): Do not depend on dot
explicitly, otherwise the documentation is always built and
distcheck fails.
2010-01-31 21:48:29 +01:00
Alexandre Duret-Lutz
34728dca52 More Doxygen fixes.
* src/sabaalgos/sabareachiter.hh (process_link): Document argument SI.
* src/eltlparse/public.hh (format_parse_errors): Remove the
non-existing eltl_string argument from the description.
(parse_file): Fix name of parameters in documentation.
2010-01-31 20:57:02 +01:00
Alexandre Duret-Lutz
5b87fa628d Build doxygen pictures with libgd to reduce their size.
Doxygen only knows how to call dot with -Tpng, while using
-Tpng:gd produces pictures that are 10 times smaller.  Use a
simple wrapper around dot to simplify this.

* doc/dot.in: New file, that wrap the system's dot and replace
-Tpng by -Tpng:gd.
* doc/Makefile.am ($(srcdir)/stamp): Depend on dot.
* doc/Doxyfile.in: Update to 1.6.2.
(DOT_PATH): Set to @srcdir@ to use doc/dot instead of the
system's dot.
* configure.ac: Find the absolute path of dot, and generate
the doc/dot script.
2010-01-31 20:26:27 +01:00
Alexandre Duret-Lutz
c63923fa1a More Doxygen fixes.
* src/tgba/tgbakvcomplement.hh: Use \verbatim around the bibtex
entry.
* src/saba/sabacomplementtgba.hh: Use latin1.
2010-01-31 18:30:21 +01:00
Alexandre Duret-Lutz
772c92fc9c * bench/split-product/Makefile.am (nodist_noinst_DATA): Do not
depend on files that cannot be built.
2010-01-30 17:33:35 +01:00
Alexandre Duret-Lutz
4ff875f402 Replace spot::ltl_file by a rewritten spot::ltl::ltl_file.
* src/tgba/tgbafromfile.cc, src/tgba/tgbafromfile.hh: Delete these
files.
* src/tgba/Makefile.am: Remove them.
* src/ltl/ltlparse/ltlfile.hh, src/ltl/ltlparse/ltlfile.cc: New
files.
* src/ltl/ltlparse/Makefile.am: Add them.
* bench/scc-stats/stats.cc, bench/split-product/cutscc.cc: Rewrite
using the new class.
2010-01-30 17:31:34 +01:00
Alexandre Duret-Lutz
dd3ac6b4f3 Check for missing Copyright blurbs, and add them.
* src/sanity/style.test: Check for missing Copyrights blurbs.
* src/sanity/Makefile.am: Run style.test before includes.test.
* iface/gspn/dcswave.test, iface/gspn/dcswaveeltl.test,
iface/gspn/dcswavefm.test, iface/gspn/dcswaveltl.test,
iface/gspn/simple.test, iface/gspn/udcsefm.test,
iface/gspn/udcseltl.test, iface/gspn/udcsfm.test,
iface/gspn/udcsltl.test, iface/nips/nipstest/dotty.test,
iface/nips/nipstest/emptiness.test, src/eltltest/acc.test,
src/eltltest/nfa.test, src/saba/sabacomplementtgba.cc,
src/sabatest/sabacomplementtgba.cc, src/tgbatest/eltl2tgba.test,
src/tgbatest/taatgba.test: Add missing Copyright blurb.
2010-01-30 16:32:13 +01:00
Alexandre Duret-Lutz
91fee65a89 * NEWS: More text. 2010-01-30 16:03:47 +01:00
Alexandre Duret-Lutz
dac0502706 Touch up some doxygen comments and copyrights.
* eltlparse/public.hh, saba/saba.hh, tgba/tgbakvcomplement.hh,
tgba/tgbasafracomplement.hh, tgbaalgos/eltl2tgba_lacim.cc,
tgbaalgos/eltl2tgba_lacim.hh, tgbaalgos/ltl2taa.hh: Comment
changes.
2010-01-30 16:00:37 +01:00
Alexandre Duret-Lutz
a4766f2f82 Add SCC pruning options to the CGI script.
* wrap/python/cgi-bin/ltl2tgba.in: Add options to symbolically
prune unaccepting SCCs in LaCIM, and explicitely pruns unaccepting
SCCs in all algorithms.
* src/tgbaalgos/reductgba_sim.hh: Conceal most of the file to
SWIG.
* wrap/python/spot.i: Include reductgba_sim.hh.
2010-01-30 14:52:16 +01:00
Alexandre Duret-Lutz
322e1a0179 * src/evtgbatest/ltl2evtgba.test: Replace * by &. 2010-01-30 14:16:15 +01:00
Alexandre Duret-Lutz
4efde0d3d3 Make it possible to use the cgi script without installing a web
server.

* wrap/python/cgi-bin/ltl2tgba.in: Starts a web server if the
script is not called as a CGI.  Arrange to load libraries from
the build directory.  Create the spotimg/ if needed when run as
a web server.
* wrap/python/cgi-bin/Makefile.am: Adjust build rule and clean
the spotimg directory.
* wrap/python/cgi-bin/README, NEWS: Update.
2010-01-30 14:15:03 +01:00
Alexandre Duret-Lutz
24cde3c21f More * -> & replacements.
* src/ltltest/parse.test, src/ltltest/syntimpl.test: Replace * by &.
2010-01-30 13:21:01 +01:00
Alexandre Duret-Lutz
dd71e37df2 Remove the theoretically bogus "containment" option of ltl2tgba_fm.
* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh:
Remove the containment option.
* src/tgbafromfile.cc, src/tgbafromfile.hh: Remove the
containment_ member.
* src/tgbatest/ltl2tgba.cc (syntax): Remove -c option for
FM algorithm, use it exclusively for TAA.
2010-01-30 12:32:01 +01:00
Alexandre Duret-Lutz
7cc2776d91 * src/tgba/tgbasafracomplement.hh: Add missing copyright and
fix some comments.
2010-01-30 12:32:01 +01:00
Alexandre Duret-Lutz
7647ba0fdd Rename tgba_complement as tgba_kv_complement.
* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc: Rename
as...
* src/tgba/tgbakvcomplement.hh, src/tgba/tgbakvcomplement.cc:
... these. It makes more sense since we also have
tgba_safra_complement.
* src/tgba/Makefile.am, src/tgbatest/complement.cc, NEWS: Adjust.
2010-01-30 12:31:57 +01:00
Alexandre Duret-Lutz
85532dc8f8 Do not recognize "*" as "and". This leaves room for an
implementation of rational operators in a future version.

* src/ltlparse/ltlscan.ll: Do not recognize "*".
* wrap/python/cgi-bin/ltl2tgba.in: Undocument it.
* NEWS: Mention this.
* src/tgbatest/kv.test, src/tgbatest/ltl2tgba.test,
src/tgbatest/reductgba.test: Replace "*" by "&".
2010-01-30 12:27:20 +01:00
Alexandre Duret-Lutz
55b693e123 Make Couvreur/FM the default translation.
* src/tgbatest/ltl2tgba.cc (syntax, main): Do it.
* NEWS: Mention it.
2010-01-30 12:27:15 +01:00
Alexandre Duret-Lutz
369e4c419b Overhaul LaCIM's ELTL options.
* src/tgbatest/ltl2tgba.cc (syntax, main): Introduce -le to select
this algorithm and -lo to add the default LTL operators.  This
replace the undocumented hack to add LTL operators when the
formula with read for command-line, or the automaton was output
for LBTT.
* src/tgbatest/eltl2tgba.test, src/tgbatest/spotlbtt.test: Update
call syntax.
* NEWS: Mention -le, -lo, and -taa.
2010-01-30 11:16:12 +01:00
Alexandre Duret-Lutz
9a43a06b45 Touch up -R3b handling.
* src/tgbatest/ltl2tgba.cc (syntax): Move -R3b with the other
LaCIM options.
(main): Speak of "symbolic SCC pruning" instead of "deleting
unaccepting SCC", and do that right after the translation, before
degeneralization.  Also error out when -R3b is used on non
symbolic automata.
2010-01-30 09:46:46 +01:00
Alexandre Duret-Lutz
c00a80a2fc Update some text files for upcoming 0.5.
* NEWS: Update for upcoming 0.5.
* HACKING: Update Automake requirement.
* README: Mention the mailing list.
* bench/ltlcounter/README: More text.
* configure.ac: Report bugs to spot@lrde.epita.fr.
2010-01-29 18:18:45 +01:00
Alexandre Duret-Lutz
7d5f493fb2 Rename wrap/python/cgi/ as wrap/python/cgi-bin/.
* wrap/python/cgi/: Rename as ...
* wrap/python/cgi-bin/: ... this.
* configure.ac, spot/wrap/python/Makefile.am, README: Adjust.
2010-01-29 15:48:56 +01:00
Alexandre Duret-Lutz
28289f95b5 * src/tgbaalgos/gtec/gtec.hh: Fix copyright. 2010-01-29 15:48:55 +01:00
Alexandre Duret-Lutz
f83e0d7a10 * src/tgbaalgos/ltl2tgba_fm.cc: More comments. 2010-01-29 15:48:22 +01:00
Felix Abecassis
1fbdf0bcaf * src/tgba/taatgba.cc, src/tgba/taatbga.hh: Fix a memory issue on
Darwin.
2010-01-29 15:28:21 +01:00
Damien Lefortier
58d6b7912c * wrap/python/cgi/ltl2tgba.in, wrap/python/spot.i: Add a new
translation algorithm: Tauriainen/TAA.
2010-01-25 18:37:19 +01:00
Damien Lefortier
d9b8fcddd6 * wrap/python/cgi/ltl2tgba.in: Use the uuid Python module instead
of the UNIQUE_ID environment variable to avoid being
Apache-specific.
2010-01-25 18:33:31 +01:00
Guillaume Sadegh
3a974d61f0 Fix copyrights.
* bench/Makefile.am, bench/gspn-ssp/Makefile.am,
bench/gspn-ssp/defs.in, bench/scc-stats/Makefile.am,
bench/split-product/Makefile.am, configure.ac,
iface/Makefile.am, iface/gspn/Makefile.am, iface/gspn/ssp.hh,
iface/nips/Makefile.am, iface/nips/common.cc,
iface/nips/common.hh, iface/nips/dottynips.cc,
iface/nips/nips.cc, iface/nips/nips.hh, src/Makefile.am,
src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy,
src/eltlparse/eltlscan.ll, src/eltlparse/fmterror.cc,
src/eltlparse/parsedecl.hh, src/eltltest/Makefile.am,
src/eltltest/defs.in, src/eltltest/nfa.cc, src/evtgba/evtgba.hh,
src/evtgba/product.cc, src/evtgba/product.hh,
src/evtgbaalgos/tgba2evtgba.cc, src/evtgbaparse/Makefile.am,
src/evtgbaparse/evtgbaparse.yy, src/evtgbatest/defs.in,
src/evtgbatest/explicit.test, src/evtgbatest/ltl2evtgba.cc,
src/evtgbatest/ltl2evtgba.test, src/evtgbatest/product.cc,
src/evtgbatest/product.test, src/evtgbatest/readsave.cc,
src/evtgbatest/readsave.test, src/ltlast/atomic_prop.cc,
src/ltlast/atomic_prop.hh, src/ltlast/binop.cc,
src/ltlast/binop.hh, src/ltlast/constant.cc,
src/ltlast/constant.hh, src/ltlast/formula.cc,
src/ltlast/formula.hh, src/ltlast/formula_tree.cc,
src/ltlast/formula_tree.hh, src/ltlast/multop.cc,
src/ltlast/multop.hh, src/ltlast/nfa.cc, src/ltlast/nfa.hh,
src/ltlast/unop.cc, src/ltlast/unop.hh, src/ltlenv/declenv.cc,
src/ltlenv/declenv.hh, src/ltlenv/environment.hh,
src/ltlparse/Makefile.am, src/ltlparse/ltlparse.yy,
src/ltltest/Makefile.am, src/ltltest/defs.in,
src/ltltest/equals.cc, src/ltltest/equals.test,
src/ltltest/lunabbrev.test, src/ltltest/nenoform.test,
src/ltltest/parse.test, src/ltltest/parseerr.test,
src/ltltest/randltl.cc, src/ltltest/readltl.cc,
src/ltltest/reduccmp.test, src/ltltest/syntimpl.cc,
src/ltltest/syntimpl.test, src/ltltest/tostring.cc,
src/ltltest/tostring.test, src/ltltest/tunabbrev.test,
src/ltltest/tunenoform.test, src/ltlvisit/basicreduce.cc,
src/ltlvisit/clone.cc, src/ltlvisit/clone.hh,
src/ltlvisit/contain.cc, src/ltlvisit/destroy.cc,
src/ltlvisit/destroy.hh, src/ltlvisit/lunabbrev.cc,
src/ltlvisit/nenoform.cc, src/ltlvisit/randomltl.cc,
src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
src/ltlvisit/tostring.cc, src/misc/bddalloc.cc,
src/misc/bddop.cc, src/misc/bddop.hh, src/misc/freelist.hh,
src/misc/hash.hh, src/misc/minato.cc, src/misc/minato.hh,
src/misc/optionmap.cc, src/misc/timer.cc, src/misc/timer.hh,
src/saba/Makefile.am, src/saba/explicitstateconjunction.cc,
src/saba/explicitstateconjunction.hh, src/saba/saba.cc,
src/saba/saba.hh, src/saba/sabacomplementtgba.cc,
src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh,
src/saba/sabasucciter.hh, src/sabaalgos/Makefile.am,
src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh,
src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh,
src/sabatest/Makefile.am, src/sabatest/defs.in,
src/sanity/Makefile.am, src/tgba/Makefile.am,
src/tgba/bdddict.cc, src/tgba/bddprint.cc,
src/tgba/formula2bdd.cc, src/tgba/state.hh,
src/tgba/succiterconcrete.cc, src/tgba/taatgba.hh,
src/tgba/tgba.hh, src/tgba/tgbabddconcretefactory.cc,
src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbacomplement.cc,
src/tgba/tgbacomplement.hh, src/tgba/tgbaexplicit.cc,
src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc,
src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
src/tgba/tgbasafracomplement.cc, src/tgba/tgbasgba.cc,
src/tgba/tgbasgba.hh, src/tgba/tgbaunion.cc,
src/tgba/tgbaunion.hh, src/tgbaalgos/dupexp.cc,
src/tgbaalgos/eltl2tgba_lacim.cc,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/emptiness.cc,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/ltl2taa.cc,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/powerset.cc, src/tgbaalgos/reachiter.cc,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reductgba_sim.cc,
src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/stats.cc,
src/tgbaalgos/stats.hh, src/tgbaparse/Makefile.am,
src/tgbaparse/tgbaparse.yy, src/tgbatest/Makefile.am,
src/tgbatest/bddprod.test, src/tgbatest/complementation.cc,
src/tgbatest/complementation.test, src/tgbatest/defs.in,
src/tgbatest/dfs.test, src/tgbatest/dupexp.test,
src/tgbatest/explicit.cc, src/tgbatest/explicit.test,
src/tgbatest/explpro3.test, src/tgbatest/explpro4.test,
src/tgbatest/explprod.cc, src/tgbatest/explprod.test,
src/tgbatest/ltl2neverclaim.test, src/tgbatest/ltl2tgba.cc,
src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.cc,
src/tgbatest/ltlprod.test, src/tgbatest/mixprod.cc,
src/tgbatest/mixprod.test, src/tgbatest/powerset.cc,
src/tgbatest/readsave.cc, src/tgbatest/readsave.test,
src/tgbatest/reduccmp.test, src/tgbatest/reductgba.cc,
src/tgbatest/reductgba.test, src/tgbatest/taatgba.cc,
src/tgbatest/tgbaread.cc, src/tgbatest/tgbaread.test,
src/tgbatest/tripprod.cc, src/tgbatest/tripprod.test,
wrap/python/cgi/ltl2tgba.in, wrap/python/tests/ltl2tgba.py,
wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py:
Fix copyrights.
2010-01-24 20:51:09 +01:00
Alexandre Duret-Lutz
06f0fe1d40 Check that all directories are documented.
* src/sanity/readme.test: For each AC_OUTPUT Makefile, check that
the directory is documented in README.  Also skip non distributed
directories in readme.test.
* README: Fit on 80 columns.
2010-01-24 15:20:54 +01:00
Alexandre Duret-Lutz
9f41e397d5 * README: Typo. 2010-01-24 11:53:35 +01:00
Alexandre Duret-Lutz
ec2e54df81 * src/sanity/Makefile.am (EXTRA_DIST): Distribute readme.test. 2010-01-24 10:41:07 +01:00
Alexandre Duret-Lutz
2919b64532 * README: Add descriptions for subdirectories of bench/, src/sanity,
and src/kripke.
2010-01-24 10:37:07 +01:00
Guillaume Sadegh
cbdb0feb68 * src/sanity/readme.test: A script to check whether all the
directories referenced in README exist.
* src/sanity/Makefile.am: Adjust to call `readme.test' when make
check is invoked.
2010-01-24 03:06:00 +01:00
Guillaume Sadegh
3633fced1d Update the README.
* README: Reference src/saba/, src/sabaalgos/, src/sabatest/,
iface/nips/, iface/nips/nipstest/ and iface/nips/nips_vm/.
2010-01-24 02:48:31 +01:00
Alexandre Duret-Lutz
391372ae2a Turn parse_error_list into an opaque type for Swig. This
kills a memory leak warning from swig/python.

* src/ltlparse/public.hh (parse_error_list): Declare
as an empty struct for Swig.
* wrap/python/tests/ltlparse.py: Fix copyright.
2010-01-22 17:29:12 +01:00
Alexandre Duret-Lutz
919fc298ff Fix the computation of the length of multops.
* src/ltlvisit/length.cc (visit(multop*)): New function. "a & b &
c" has length 5, not 4, even though it is stored as And(a,b,c).
This caused reduc.test to fail on some formulae.
2010-01-22 11:14:10 +01:00
Alexandre Duret-Lutz
e733f951be Please the style checks...
* src/tgbaalgos/randomgraph.cc: Fix the copyright and make it fit
on 80 columns.
2010-01-21 22:09:10 +01:00