octave-maintainers
[Top][All Lists]
Advanced

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

conv.m and MATLAB incompatibility.


From: John W. Eaton
Subject: conv.m and MATLAB incompatibility.
Date: Wed, 15 Jul 2009 14:15:02 -0400

On 28-Jun-2009, Robert T. Short wrote:

| Attached is a patch to conv.m that fixes a MATLAB incompatibility.  I 
| also added a couple of tests.
| 
| Summarizing:  if the input vectors are the same length, but one is a row 
| vector and the other is a column vector, the octave version returns the 
| correct answer but with a different orientation than MATLAB.  In other 
| words octave will return a row vector when MATLAB returns a column 
| vector and octave will return a column vector when MATLAB returns a row 
| vector.
| 
| 
| WARNING.  APPLYING THIS PATCH COULD CAUSE SCRIPT BREAKAGE!
| 
| Scripts that depend on the row/column nature of the result will no 
| longer work.  This might be a good reason not to apply this patch.  
| Folks (like me) that want MATLAB compatibility can keep this version in 
| their path.

I checked in this patch but had to make a few additional changes to
allow the tests to run.

You had

  %!test
  %! ...
  %! error conv (...);

but that's a syntax error.  The error directive generates a separate
test, so must be written as

  %!error conv (...);

Also, I think it is probably better to write

  %! assert (conv (...), [...])

instead of

  %! assert (all (conv (...) == [...]))

If you want each assert to count as a separate test, you can write

  %!shared ...
  %! variable definitions..
  %!assert (...)
  %!assert (...)
  %!...

instead of

  %!test
  %! variable definitions...
  %! assert (...)
  %! assert (...)
  %! ...

jwe


reply via email to

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