← Back to team overview

geda-developers team mailing list archive

Re: [RFC] libgeda data structures and algorithms

 

On Sun, 16 Dec 2012 22:59:41 +0100, Ivan Stankovic <pokemon@xxxxxxxxxxxxxx>
wrote:
> On Sun, Dec 16, 2012 at 07:10:45PM +0000, Peter TB Brett wrote:
>> On Sunday 16 December 2012 19:18:58 Ivan Stankovic wrote:
>> > On Sun, Dec 16, 2012 at 01:41:55AM +0000, Peter TB Brett wrote:
>> > > What I suggest is to replace the tile system with an R*-tree [1],
>> > > and to determine gschem's scrollable region using a heuristic based
>> > > on the drawn extents.
>> > 
>> > Sounds good, although it seems to me that this is no small amount of
>> > work.
>> 
>> I've got most of an R*-tree implemented so far... just lost a bit of 
>> energy dealing with the deletion algorithms.
> 
> :-)
> 
>> Looks interesting.  A few comments/queries:
>> 
>> 1) Why not pull the full EdaConfig class from libgeda? It should be able

>> to slot in to your libeda code pretty much intact.
> 
> Umm, I'm not aware of any EdaConfig class in libgeda (master).
> Is this on a branch somewhere?

libgeda/src/edaconfig.c + libgeda/include/libgeda/edaconfig.h ?

> [snip]
>
> One thing that turned out to
> be very, very useful to me is unit testing (glib has some support for it)
> and I
> don't think developing a new library without a comprehensive test suite
is
> reasonable.  This coming from a guy who didn't think much of testing in
> general until recently.

I've found that my (fairly rigorous) Scheme API unit tests are actually
really useful for making sure libgeda itself is working properly.  Now when
I add a new feature to libgeda the first thing I do is to write a Scheme
binding and add unit tests.  This both makes sure that all the latest stuff
is made accessible from scripts, and also ensure things work like they are
supposed to.  BTW, 'lcov' is really useful.

> Well, I guess it would be nice if the fundamental type were ordered,
> but you might want to consider the cost (time and space). (Personally,
> I would not worry about that cost right now.)

Developer time and space is a lot more of a scarce resource right now than
CPU time and RAM space.  It seems like the consensus so far is that we
should just have an ordered object set type.  That's fine by me. :-)

Peter

P.S. Can I just say how much I appreciate all the helpful and constructive
feedback I've got from this discussion so far?  It's been great, and has
already helped me feel a lot more positive about gEDA development in
general.

-- 
Peter Brett <peter@xxxxxxxxxxxxx>
Remote Sensing Research Group
Surrey Space Centre


References