Boost logo

Boost :

From: jsiek_at_[hidden]
Date: 2000-10-04 02:50:39


Hi Andreas,

Andreas Scherer writes:
> --- In boost_at_[hidden], "Andreas Scherer" <as_at_m...> wrote:
> > Only if my assumption is correct that the PROTOTYPES really are
> > sufficient for <gb_graph.h> to be #included safely in
> > <stanford_graph.hpp> in an "extern "C"" group.
>
> Indeed it is!!!
>
> I found that <stanford_graph.hpp> is used exclusively in the
> "miles_span" example program. So, I #included the patched SGB header
> files <gb_graph.h>, <gb_miles.h>, and <gb_save.h> instead of the
> repeated SGB stuff in <stanford_graph.hpp> and recompiled
> "miles_span.cpp" with the updated headers and linked it with the newly
> compiled SGB library. Alas, this approach works fine.

Great!

> But here are two remarks: Firstly, <stanford_graph.hpp> repeats only
> the stuff needed in "miles_span.cpp", so it is _not_ a general
> interface for other types of SGB graphs. Why declare the "miles"
> graph in <stanford_graph.hpp>, but non other generating function?

Laziness :(

Perhaps the way to go is to just remove the repeated stuff and make a
note in the documentation saying that the PROTOTYPES patch is
required.

> Secondly, BGL's version of "miles_span" reports the minimum spanning
> tree of length 8075, while SGB's version of "miles_span" reports a
> length of 14467 (and this value also is "in the book"), although both
> programs claim to operate on the same graph. I believe, one version
> must be wrong! (And guess which...)

Thanks for catching this! I should have included miles_span in my set
of regression tests... A recent change introduced a bug in
boost::prim_minimum_spanning_tree(). I've checked in the fix to the
boost sourceforge CVS repository.

Cheers,

Jeremy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk