changeset 5821:11e4ae44984f

[project @ 2006-05-17 21:05:53 by jwe]
author jwe
date Wed, 17 May 2006 21:05:53 +0000
parents 27c966e4b2dc
children 4fdc2515ebad
files scripts/ChangeLog scripts/deprecated/intersection.m scripts/set/intersect.m scripts/set/intersection.m
diffstat 4 files changed, 40 insertions(+), 74 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/ChangeLog	Wed May 17 21:00:54 2006 +0000
+++ b/scripts/ChangeLog	Wed May 17 21:05:53 2006 +0000
@@ -1,3 +1,8 @@
+2006-05-17  John W. Eaton  <jwe@octave.org>
+
+	* set/intersection.m: Delete
+	* deprecated/intersection.m: New file.
+
 2006-05-17  David Bateman  <dbateman@free.fr>
 
 	* general/cplxpair.m, general/trapz.m, general/cumtrapz.m,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/deprecated/intersection.m	Wed May 17 21:05:53 2006 +0000
@@ -0,0 +1,31 @@
+## Copyright (C) 1996, 1997 John W. Eaton
+##
+## This file is part of Octave.
+##
+## Octave 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, or (at your option)
+## any later version.
+##
+## Octave 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 Octave; see the file COPYING.  If not, write to the Free
+## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {} intersection (@var{x}, @var{y})
+## This function has been deprecated.  Use intersect instead.
+## @end deftypefn
+
+## Author: jwe
+
+function y = intersection (varargin)
+
+  y = intersect (varargin{:});
+
+endfunction
--- a/scripts/set/intersect.m	Wed May 17 21:00:54 2006 +0000
+++ b/scripts/set/intersect.m	Wed May 17 21:05:53 2006 +0000
@@ -43,17 +43,17 @@
     [a, ja] = unique (a);
     [b, jb] = unique (b);
 
-    c = [ a(:); b(:) ];
-    [c, ic] = sort( c );              ## [a(:);b(:)](ic) == c
+    c = [a(:); b(:)];
+    [c, ic] = sort (c);               ## [a(:);b(:)](ic) == c
 
     ii = find( c(1:end-1) == c(2:end) );  
 
     c  = c(ii);                       ## The answer
     ia = ja(ic(ii));                  ## a(ia) == c
-    ib = jb(ic(ii+1) - length(a));    ## b(ib) == c
+    ib = jb(ic(ii+1) - length (a));   ## b(ib) == c
 
 
-    if ( size (b, 1) == 1 || size (a, 1) == 1 )
+    if (size (b, 1) == 1 || size (a, 1) == 1)
       c = c.';
     endif
   endif
--- a/scripts/set/intersection.m	Wed May 17 21:00:54 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-## Copyright (C) 1996, 1997 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave 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, or (at your option)
-## any later version.
-##
-## Octave 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 Octave; see the file COPYING.  If not, write to the Free
-## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-## 02110-1301, USA.
-
-## -*- texinfo -*-
-## @deftypefn {Function File} {} intersection (@var{x}, @var{y})
-## Return the set of elements that are in both sets @var{x} and @var{y}.
-## For example,
-##
-## @example
-## @group
-## intersection ([ 1, 2, 3 ], [ 2, 3, 5 ])
-##      @result{} [ 2, 3 ]
-## @end group
-## @end example
-## @seealso{create_set, union, complement}
-## @end deftypefn
-
-## Author: jwe
-
-function y = intersection(a,b)
-
-  if (nargin != 2)
-    usage ("intersection(a,b)");
-  endif
-
-  if(isempty(a) || isempty(b))
-    y = [];
-    return;
-  endif
-
-  a = create_set(a);
-  b = create_set(b);
-
-  if(length(a) < length(b))
-    yindex = 1;
-    y = zeros(1,length(a));
-    for index = 1:length(a)
-      if(any(b == a(index)))
-        y(yindex++) = a(index);
-      endif
-    endfor
-  else
-    yindex = 1;
-    y = zeros(1,length(b));
-    for index = 1:length(b)
-      if(any(a == b(index)))
-        y(yindex++) = b(index);
-      endif
-    endfor
-  endif
-
-  y = y(1:(yindex-1));
-
-endfunction