Mercurial > octave
diff libinterp/corefcn/ordschur.cc @ 20939:b17fda023ca6
maint: Use new C++ archetype in more files.
Place input validation first in files.
Move declaration of retval down in function to be closer to point of usage.
Eliminate else clause after if () error.
Use "return ovl()" where it makes sense.
* find.cc, gammainc.cc, gcd.cc, getgrent.cc, getpwent.cc, givens.cc,
graphics.cc, help.cc, hess.cc, hex2num.cc, input.cc, kron.cc, load-path.cc,
load-save.cc, lookup.cc, mappers.cc, matrix_type.cc, mgorth.cc, nproc.cc,
ordschur.cc, pager.cc, pinv.cc, pr-output.cc, profiler.cc, psi.cc, quad.cc,
rcond.cc, regexp.cc, schur.cc, sighandlers.cc, sparse.cc, str2double.cc,
strfind.cc, strfns.cc, sub2ind.cc, svd.cc, sylvester.cc, symtab.cc,
syscalls.cc, sysdep.cc, time.cc, toplev.cc, tril.cc, tsearch.cc, typecast.cc,
urlwrite.cc, utils.cc, variables.cc, __delaunayn__.cc, __eigs__.cc,
__glpk__.cc, __magick_read__.cc, __osmesa_print__.cc, __voronoi__.cc, amd.cc,
audiodevinfo.cc, audioread.cc, chol.cc, colamd.cc, dmperm.cc, fftw.cc, qr.cc,
symbfact.cc, symrcm.cc, ov-bool-mat.cc, ov-cell.cc, ov-class.cc,
ov-classdef.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc,
ov-java.cc, ov-null-mat.cc, ov-oncleanup.cc, ov-re-mat.cc, ov-struct.cc,
ov-typeinfo.cc, ov-usr-fcn.cc, ov.cc, octave.cc:
Use new C++ archetype in more files.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 18 Dec 2015 15:37:22 -0800 |
parents | c07bee629973 |
children | 48b2ad5ee801 |
line wrap: on
line diff
--- a/libinterp/corefcn/ordschur.cc Fri Dec 18 16:22:53 2015 -0500 +++ b/libinterp/corefcn/ordschur.cc Fri Dec 18 15:37:22 2015 -0800 @@ -107,8 +107,6 @@ @seealso{schur}\n\ @end deftypefn") { - octave_value_list retval; - if (args.length () != 3) print_usage (); @@ -118,11 +116,14 @@ const dim_vector dimU = args(0).dims (); const dim_vector dimS = args(1).dims (); + if (n != dimU(0)) error ("ordschur: SELECT must have same length as the sides of U and S"); else if (n != dimU(0) || n != dimS(0) || n != dimU(1) || n != dimS(1)) error ("ordschur: U and S must be square and of equal sizes"); + octave_value_list retval; + const bool double_type = args(0).is_double_type () || args(1).is_double_type (); const bool complex_type = args(0).is_complex_type () @@ -154,6 +155,7 @@ sel.data (), n, S.fortran_vec (), n, U.fortran_vec (), n, w.fortran_vec (), m, cond1, cond2, work.fortran_vec (), n, info)); + PREPARE_OUTPUT() } else @@ -167,6 +169,7 @@ sel.data (), n, S.fortran_vec (), n, U.fortran_vec (), n, w.fortran_vec (), wi.fortran_vec (), m, cond1, cond2, work.fortran_vec (), n, iwork.fortran_vec (), n, info)); + PREPARE_OUTPUT () } } @@ -181,6 +184,7 @@ sel.data (), n, S.fortran_vec (), n, U.fortran_vec (), n, w.fortran_vec (), m, cond1, cond2, work.fortran_vec (), n, info)); + PREPARE_OUTPUT () } else @@ -194,6 +198,7 @@ sel.data (), n, S.fortran_vec (), n, U.fortran_vec (), n, w.fortran_vec (), wi.fortran_vec (), m, cond1, cond2, work.fortran_vec (), n, iwork.fortran_vec (), n, info)); + PREPARE_OUTPUT () } }