Mercurial > octave-nkf
diff src/DLD-FUNCTIONS/filter.cc @ 3088:f33738510eb2
[project @ 1997-10-02 06:38:36 by jwe]
author | jwe |
---|---|
date | Thu, 02 Oct 1997 06:41:15 +0000 |
parents | 38de16594cb4 |
children | d12c312d1cfb |
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/filter.cc Thu Sep 25 16:51:17 1997 +0000 +++ b/src/DLD-FUNCTIONS/filter.cc Thu Oct 02 06:41:15 1997 +0000 @@ -193,9 +193,31 @@ if (! error_state) { + ComplexColumnVector si; + if (nargin == 3) { - ComplexColumnVector y (filter (b, a, x)); + int a_len = a.length (); + int b_len = b.length (); + + int si_len = (a_len > b_len ? a_len : b_len) - 1; + + si.resize (si_len, 0.0); + } + else + si = args(3).complex_vector_value (); + + if (! error_state) + { + ComplexColumnVector y (filter (b, a, x, si)); + + if (nargout == 2) + { + if (si_is_vector) + retval (1) = octave_value (si, (args(3).columns () == 1)); + else + retval (1) = si; + } if (x_is_vector) retval (0) = octave_value (y, (args(2).columns () == 1)); @@ -203,26 +225,7 @@ retval (0) = y; } else - { - ComplexColumnVector si = args(3).complex_vector_value (); - - if (! error_state) - { - ComplexColumnVector y (filter (b, a, x, si)); - - if (si_is_vector) - retval (1) = octave_value (si, (args(3).columns () == 1)); - else - retval (1) = si; - - if (x_is_vector) - retval (0) = octave_value (y, (args(2).columns () == 1)); - else - retval (0) = y; - } - else - error (errmsg); - } + error (errmsg); } else error (errmsg); @@ -235,9 +238,31 @@ if (! error_state) { + ColumnVector si; + if (nargin == 3) { - ColumnVector y (filter (b, a, x)); + int a_len = a.length (); + int b_len = b.length (); + + int si_len = (a_len > b_len ? a_len : b_len) - 1; + + si.resize (si_len, 0.0); + } + else + si = args(3).vector_value (); + + if (! error_state) + { + ColumnVector y (filter (b, a, x, si)); + + if (nargout == 2) + { + if (si_is_vector) + retval (1) = octave_value (si, (args(3).columns () == 1)); + else + retval (1) = si; + } if (x_is_vector) retval (0) = octave_value (y, (args(2).columns () == 1)); @@ -245,26 +270,7 @@ retval (0) = y; } else - { - ColumnVector si = args(3).vector_value (); - - if (! error_state) - { - ColumnVector y (filter (b, a, x, si)); - - if (si_is_vector) - retval (1) = octave_value (si, (args(3).columns () == 1)); - else - retval (1) = si; - - if (x_is_vector) - retval (0) = octave_value (y, (args(2).columns () == 1)); - else - retval (0) = y; - } - else - error (errmsg); - } + error (errmsg); } else error (errmsg);