octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: merging functions from octave-forge


From: David Bateman
Subject: Re: merging functions from octave-forge
Date: Mon, 04 Apr 2005 10:11:07 +0200
User-agent: Mozilla Thunderbird 0.8 (X11/20040923)

John W. Eaton wrote:

For Octave 3.0 (or perhaps a later 3.x release) I'd like to aim for
including most of the functions that are currently in Octave forge for
compatibility with core Matlab functionality (i.e., those in the list
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/refbookl.html).

Some conditions for including a function in Octave are

 * Copyright status must be clear and distribution terms must be
   compatible with the GPL.  We must not have any code that is
   (inadvertantly or not) derived from some proprietary source.

 * Coding style should follow Octave's coding style.

 * Docstrings must be formatted with Texinfo markup so they can be
   included in the printed manual.

I support this fully, and will help a bit with the time. But please can others on this list see this as a call for help and make the necessary changes to the functions John mentions that they own.

I did a quick count, and found that the list of functions in Matlab is
approximately 1066.  Octave includes 390 of those, and Octave forge
contains 172 of them.  We have the following overlap between Octave
and Octave forge

 cellstr char chol deal detrend double fieldnames gammaln grid hankel
 isa isfield isunix lin2mu mu2lin ndims polyder rand randn rmfield
 struct toeplitz tril triu unix
The hardest to deal with is randn/rand, and some discussion will be needed of how to deal with that. The chol function in octave-forge relies on a triangular matrix type. I introduced something similar for the sparse matrices and would like to do the same for full matrices, but in a more generic way (ie. detect PD matrices and triangular matrices in the solve code, rather than as a special return type from chol). So chol will also be a major effort to drop.

so that leaves about 150 functions to merge:

 addpath betaln blkdiag brighten builtin calendar clf complex
 contourf conv2 convhull convhulln cplxpair csvread csvwrite cumtrapz
 datenum datestr datevec del2 delaunay delaunay3 delaunayn demo
 dlmread dlmwrite dos drawnow edit ellipj ellipke eomday expm1 factor
 factorial fill fill3 filter2 fminbnd fplot full funm fzero getfield
 ginput gradient griddata gtext hadamard ifftshift imread imwrite
 inputname interp1 interp2 interpft intersect isdir isequal ismember
 isprime issparse legend legendre magic mat2str meshc mkpp nchoosek
 nnz nonzeros now nthroot ode23 ode45 optimset orient pareto pascal
 patch pcg pchip pcolor peaks peaks perms pie plot3 polyarea ppval
 primes print psi quadl quiver rat rats regexp rmpath rosser rref
 scatter setdiff setfield setxor sortrows sound soundsc sparse
 spdiags speye spfun spline spones sprand sprandn spy stem str2double
 strcmpi strfind strmatch strncmp strncmpi strtok strvcat surf surfc
 tar text textread trapz tsearch unique unmkpp view voronoi voronoin
 waitbar wavread wavwrite weekday wilkinson xlsread xmlread xmlwrite
 zoom

The sparse functions like spdiags, speye, spfun, etc are already merged into 2.9.1..


Comments?

This should all go together with a major decruftication of octave-forge, as there are lots of special casing for different versions of octave, and lots of code that is obseleted by other changes in octave (bitand, trisolve, SymBand).

Cheers
David

--
David Bateman                                address@hidden
Motorola Labs - Paris +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE

The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary



reply via email to

[Prev in Thread] Current Thread [Next in Thread]