Mercurial > octave
comparison libinterp/corefcn/svd.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 | 9fbacc123a91 |
children | 48b2ad5ee801 |
comparison
equal
deleted
inserted
replaced
20938:aac911d8847b | 20939:b17fda023ca6 |
---|---|
122 decomposition, eliminating the unnecessary rows or columns of @var{U} or\n\ | 122 decomposition, eliminating the unnecessary rows or columns of @var{U} or\n\ |
123 @var{V}.\n\ | 123 @var{V}.\n\ |
124 @seealso{svd_driver, svds, eig, lu, chol, hess, qr, qz}\n\ | 124 @seealso{svd_driver, svds, eig, lu, chol, hess, qr, qz}\n\ |
125 @end deftypefn") | 125 @end deftypefn") |
126 { | 126 { |
127 octave_value_list retval; | |
128 | |
129 int nargin = args.length (); | 127 int nargin = args.length (); |
130 | 128 |
131 if (nargin < 1 || nargin > 2 || nargout == 2 || nargout > 3) | 129 if (nargin < 1 || nargin > 2 || nargout == 2 || nargout > 3) |
132 print_usage (); | 130 print_usage (); |
133 | 131 |
134 octave_value arg = args(0); | 132 octave_value arg = args(0); |
135 | 133 |
136 octave_idx_type nr = arg.rows (); | |
137 octave_idx_type nc = arg.columns (); | |
138 | |
139 if (arg.ndims () != 2) | 134 if (arg.ndims () != 2) |
140 error ("svd: A must be a 2-D matrix"); | 135 error ("svd: A must be a 2-D matrix"); |
136 | |
137 octave_value_list retval; | |
141 | 138 |
142 bool isfloat = arg.is_single_type (); | 139 bool isfloat = arg.is_single_type (); |
143 | 140 |
144 SVD::type type = ((nargout == 0 || nargout == 1) | 141 SVD::type type = ((nargout == 0 || nargout == 1) |
145 ? SVD::sigma_only | 142 ? SVD::sigma_only |
146 : (nargin == 2) ? SVD::economy : SVD::std); | 143 : (nargin == 2) ? SVD::economy : SVD::std); |
144 | |
145 octave_idx_type nr = arg.rows (); | |
146 octave_idx_type nc = arg.columns (); | |
147 | 147 |
148 SVD::driver driver = static_cast<SVD::driver> (Vsvd_driver); | 148 SVD::driver driver = static_cast<SVD::driver> (Vsvd_driver); |
149 | 149 |
150 if (nr == 0 || nc == 0) | 150 if (nr == 0 || nc == 0) |
151 { | 151 { |