Mercurial > forge
changeset 3093:020f7e3d7aa0 octave-forge
Support single band by not allowing grid density as the 4th parameter.
author | pkienzle |
---|---|
date | Fri, 09 Feb 2007 03:42:57 +0000 |
parents | fb433de39444 |
children | 84a0fafae187 |
files | main/signal/src/remez.cc |
diffstat | 1 files changed, 7 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/main/signal/src/remez.cc Thu Feb 08 21:12:17 2007 +0000 +++ b/main/signal/src/remez.cc Fri Feb 09 03:42:57 2007 +0000 @@ -817,7 +817,9 @@ OCTAVE_LOCAL_BUFFER (double, weight, numbands); for (i=0; i < numbands; i++) weight[i] = 1.0; if (nargin > 3) { - if (args(3).is_real_matrix()) { + if (args(3).is_string()) + stype = args(3).string_value(); + else if (args(3).is_real_matrix() || args(3).is_real_scalar()) { ColumnVector o_weight(args(3).vector_value()); if (o_weight.length() != numbands) { error("remez: need one weight for each band [=length(band)/2]"); @@ -825,10 +827,6 @@ } for (i=0; i < numbands; i++) weight[i] = o_weight(i); } - else if (args(3).is_string()) - stype = args(3).string_value(); - else if (args(3).is_real_scalar()) - density = NINT(args(3).double_value()); else { error("remez: incorrect argument list"); return retval; @@ -837,7 +835,7 @@ if (nargin > 4) { if (args(4).is_string() && !args(3).is_string()) stype = args(4).string_value(); - else if (args(4).is_real_scalar() && !args(3).is_real_scalar()) + else if (args(4).is_real_scalar()) density = NINT(args(4).double_value()); else { error("remez: incorrect argument list"); @@ -845,10 +843,9 @@ } } if (nargin > 5) { - if (args(5).is_real_scalar() - && !args(4).is_real_scalar() - && !args(3).is_real_scalar()) - density = NINT(args(4).double_value()); + if (args(5).is_real_scalar() + && !args(4).is_real_scalar()) + density = NINT(args(5).double_value()); else { error("remez: incorrect argument list"); return retval;