From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3278 invoked by alias); 10 Oct 2009 14:45:35 -0000 Received: (qmail 3259 invoked by uid 22791); 10 Oct 2009 14:45:32 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from smtp6.welho.com (HELO smtp6.welho.com) (213.243.153.40) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 10 Oct 2009 14:45:27 +0000 Received: from [10.0.0.133] (cs181229105.pp.htv.fi [82.181.229.105]) by smtp6.welho.com (Postfix) with ESMTP id 0A1DF5BC049; Sat, 10 Oct 2009 17:45:25 +0300 (EEST) Message-ID: <4AD09E04.60001@iki.fi> Date: Sat, 10 Oct 2009 14:45:00 -0000 From: Tuomo Keskitalo User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090707) MIME-Version: 1.0 To: Gerard Jungman CC: gsl-discuss@sourceware.org Subject: Re: some general questions References: <1254708349.18519.4.camel@ForbiddenPlanet> <7f1eaee30910050750l738876b1p41e6bd8ae5aa6d16@mail.gmail.com> <1254783975.28192.103.camel@manticore.lanl.gov> <87ljjojys0.wl%bjg@network-theory.co.uk> <1254861292.28192.239.camel@manticore.lanl.gov> In-Reply-To: <1254861292.28192.239.camel@manticore.lanl.gov> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org X-SW-Source: 2009-q4/txt/msg00011.txt.bz2 Hello, your ideas seem quite promising, I look forward to see your code. :-) On 10/06/2009 11:34 PM, Gerard Jungman wrote: >>> Q6. More a statement than a question: We should be more explicit >>> about the levelization of the design. This means expressing >>> the dependence of components clearly. For example, matrix ... > I don't think this is a problem for machine solution. It's up to > us to decide how the thing is organized. What depends on what, > which parts are foundational, and which parts are built on > top of those? Then we should organize the code so it > expresses that. I run a few ad hoc shell commands described below, to find the interdependencies within current GSL directories. Even though the results are probably not complete nor fully correct, this might provide a starting point for the organization? ----- Lowest level ("many" dependencies): blas, block, cblas, complex, vector, err, ieee_utils Intermediate level (at least one other directory seems to use these): eigen, histogram, integration, linalg, min, permutation, poly, randist, rng, roots, sort, statistics Highest level (no other directory seems to use these): bspline, cdf, cheb, combination, const, deriv, dht, diff, fit, fft, interpolation, monte, multifit, multimin, multiroots, ntuple, ode-initval, qrng, siman, specfunc, sum, wavelet ----- I got to this result by running the following commands with zsh in gsl-1.13 root directory, and by ogling the resulting gsl-dependencies.txt file. for f in `find -type d`; do; for g in `grep include $f/*.h $f/*.c`; do; echo "$f : $g" >> out; done; done; grep ': <' gsl-dependencies-all.txt for f in `find -type d | perl -pe 's/\.\///' | sort`; do; echo "$f is used by:" >> gsl-dependencies.txt; grep $f gsl-dependencies-all.txt | egrep -v "^\.\/$f" >> gsl-dependencies.txt; echo "" >>gsl-dependencies.txt; done; -- Tuomo.Keskitalo@iki.fi http://iki.fi/tuomo.keskitalo