From: David B. <ad...@us...> - 2006-01-11 20:57:31
|
Update of /cvsroot/octave/octave-forge/main/general In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31720/main/general Modified Files: .cvsignore Makefile Added Files: blkdiag.m.in sortrows.m.in Removed Files: blkdiag.m isequal.m sortrows.m Log Message: Conditional build of functions ported to 2.9.x Index: .cvsignore =================================================================== RCS file: /cvsroot/octave/octave-forge/main/general/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- .cvsignore 7 Jan 2006 05:11:58 -0000 1.3 +++ .cvsignore 11 Jan 2006 20:57:22 -0000 1.4 @@ -5,3 +5,6 @@ bitget.m bitset.m bitshift.m +isequal.m +sortrows.m +blkdiag.m --- sortrows.m DELETED --- --- blkdiag.m DELETED --- Index: Makefile =================================================================== RCS file: /cvsroot/octave/octave-forge/main/general/Makefile,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Makefile 7 Jan 2006 05:11:58 -0000 1.9 +++ Makefile 11 Jan 2006 20:57:22 -0000 1.10 @@ -3,7 +3,11 @@ BITAND_LINKS=$(patsubst %,%$(OCTLINK), bitor bitxor bitmax) BITFCNS_DOT_M=bitcmp.m bitget.m bitset.m bitshift.m t2.1.58=bitand.oct $(BITAND_LINKS) $(BITFCNS_DOT_M) -DEPRECIATED_TARGETS=$($(word 2, $(sort t$(OCTAVE_VERSION) t2.1.58))) +t2.9.0=isequal.m sortrows.m +t2.9.4=blkdiag.m +DEPRECIATED_TARGETS=$($(word 2, $(sort t$(OCTAVE_VERSION) t2.1.58))) \ + $($(word 2, $(sort t$(OCTAVE_VERSION) t2.9.0)) \ + $($(word 2, $(sort t$(OCTAVE_VERSION) t2.9.4)) PROGS=$(DEPRECIATED_TARGETS) command.oct deref.oct mark_for_deletion.oct all: $(PROGS) @@ -17,7 +21,9 @@ bitand.oct : bitand.cc $(MKOCTFILE) $(HAVE_ND_ARRAYS) $< -clean: ; -$(RM) *.o core octave-core *.oct $(BITFCNS_DOT_M) *~ +clean: + -$(RM) *.o core octave-core *.oct $(BITFCNS_DOT_M) \ + $(t2.9.0) $(t2.9.4) *~ %.m: %.m.in -$(INSTALL) $< $@ --- NEW FILE: blkdiag.m.in --- ## Copyright (C) 2000 Daniel Calvelo ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## Build a block-diagonal matrix from all the arguments ## Author: Daniel Calvelo function y = blkdiag(varargin) sizes = zeros (nargin, 2); for i=1:nargin m = varargin{i}; if ~isnumeric (m), error ("Non-numeric argument found."); endif sizes (i, :) = size (m); endfor csz = [ 0, 0 ; cumsum(sizes) ]; y = zeros (csz (rows (csz), :)); for i=1:nargin y (csz(i,1)+1:csz(i+1,1) , csz(i,2)+1:csz(i+1,2)) = varargin{i}; endfor endfunction %!assert(blkdiag(1,ones(2),1),[1,0,0,0;0,1,1,0;0,1,1,0;0,0,0,1]) --- NEW FILE: sortrows.m.in --- ## Copyright (C) 2000 Daniel Calvelo ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## B = sortrows (A) ## returns matrix with rows sorted "lexicographically" ## ## B = sortrows(A, c) ## returns matrix with rows sorted according to the order of the ## columns specified in c. ## ## Set implicit_str_to_num_ok and implicit_num_to_str_ok to 1 if you ## use this for string sorting and octave 2.1.50 or earlier. ## Author: Daniel Calvelo ## 2001-02-24 Paul Kienzle ## * cleanup according to Octave conventions ## * return reverse index ## * handle string arguments function [s, i] = sortrows (m, c) if nargin < 2 indices = [ 1 : size(m,2) ]'; else indices = c (:); endif if (ischar (m)) s = toascii (m); else s = m; endif ## since sort is 'stable' the order of identical elements will be ## preserved, so by traversing the sort indices in reverse order ## we will make sure that identical elements in index i are subsorted ## by index j. indices = flipud (indices); i = [1 : size(m,1)]'; for ii = 1 : length (indices); [ trash, idx ] = sort ( s ( : , indices (ii) ) ); s = s ( idx, : ); i = i (idx ); endfor if (ischar (m)) s = char(s); endif endfunction --- isequal.m DELETED --- |