From octave-sources-request at bevo dot che dot wisc dot edu Sun Jul 9 18:20:36 2000 Subject: set functions (again) From: Paul Kienzle To: octave-sources at bevo dot che dot wisc dot edu Date: Sun, 9 Jul 2000 17:50:08 +0100 --BXVAT5kNtrzKuDFl Content-Type: text/plain; charset=us-ascii Certain claims of speed improvements in my last message were unwarranted: I didn't have the latest version of create_set(). My unique() is about the same speed as the new create_set(), not orders of magnitude faster. Orders of magnitude do seem to apply to intersect() vs. intersection(). The return values from my set functions are still slightly different. Like Matlab, my set functions return a row vector if any of their inputs are row vectors, and a column vector otherwise. Don't know if this is a bug or a feature. Note that the latest create_set() gives a warning message for some inputs when empty_list_elements_ok = "warn", which seems to be the default for 2.0.16: octave:43> create_set(1) warning: empty matrix found in matrix list near line 13, column 49 ans = 1 Is this no longer an issue in octave 2.1.x? I'm attaching a slightly faster version of my set functions. unique() is now 1.5 to 2 times faster than create_set() when running octave version 2.0.16. The improvements may not be as big in octave 2.1.30. Paul Kienzle pkienzle at kienzle dot powernet dot co dot uk --BXVAT5kNtrzKuDFl Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="set.tar.gz" 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 --BXVAT5kNtrzKuDFl-- ----------------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.che.wisc.edu/octave/octave.html How to fund new projects: http://www.che.wisc.edu/octave/funding.html Subscription information: http://www.che.wisc.edu/octave/archive.html -----------------------------------------------------------------------