diff libinterp/corefcn/matrix_type.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 1142cf6abc0d
children fcac5dbbf9ed
line wrap: on
line diff
--- a/libinterp/corefcn/matrix_type.cc	Fri Dec 18 16:22:53 2015 -0500
+++ b/libinterp/corefcn/matrix_type.cc	Fri Dec 18 15:37:22 2015 -0800
@@ -119,7 +119,6 @@
 @code{matrix_type} will return the correct classification of the matrix.\n\
 @end deftypefn")
 {
-  octave_value retval;
   int nargin = args.length ();
 
   if (nargin == 0 || nargin > 4)
@@ -133,6 +132,8 @@
       autocomp = false;
     }
 
+  octave_value retval;
+
   if (args(0).is_scalar_type ())
     {
       if (nargin == 1)
@@ -211,7 +212,6 @@
       else
         {
           // Ok, we're changing the matrix type
-
           std::string str_typ = args(1).xstring_value ("matrix_type: TYPE must be a string");
 
           // FIXME: why do I have to explicitly call the constructor?
@@ -237,19 +237,17 @@
             {
               if (nargin != 4)
                 error ("matrix_type: banded matrix type requires 4 arguments");
-              else
-                {
-                  nl = args(2).xnint_value ("matrix_type: band size NL, NU must be integers");
-                  nu = args(3).xnint_value ("matrix_type: band size NL, NU must be integers");
+
+              nl = args(2).xnint_value ("matrix_type: band size NL, NU must be integers");
+              nu = args(3).xnint_value ("matrix_type: band size NL, NU must be integers");
 
-                  if (nl == 1 && nu == 1)
-                    mattyp.mark_as_tridiagonal ();
-                  else
-                    mattyp.mark_as_banded (nu, nl);
+              if (nl == 1 && nu == 1)
+                mattyp.mark_as_tridiagonal ();
+              else
+                mattyp.mark_as_banded (nu, nl);
 
-                  if (str_typ == "banded positive definite")
-                    mattyp.mark_as_symmetric ();
-                }
+              if (str_typ == "banded positive definite")
+                mattyp.mark_as_symmetric ();
             }
           else if (str_typ == "positive definite")
             {
@@ -275,15 +273,13 @@
 
               if (len != dv(0))
                 error ("matrix_type: Invalid permutation vector PERM");
-              else
-                {
-                  OCTAVE_LOCAL_BUFFER (octave_idx_type, p, len);
+
+              OCTAVE_LOCAL_BUFFER (octave_idx_type, p, len);
 
-                  for (octave_idx_type i = 0; i < len; i++)
-                    p[i] = static_cast<octave_idx_type> (perm (i)) - 1;
+              for (octave_idx_type i = 0; i < len; i++)
+                p[i] = static_cast<octave_idx_type> (perm (i)) - 1;
 
-                  mattyp.mark_as_permuted (len, p);
-                }
+              mattyp.mark_as_permuted (len, p);
             }
           else if (nargin != 2
                    && str_typ != "banded positive definite"
@@ -378,7 +374,6 @@
       else
         {
           // Ok, we're changing the matrix type
-
           std::string str_typ = args(1).xstring_value ("matrix_type: TYPE must be a string");
 
           // FIXME: why do I have to explicitly call the constructor?
@@ -415,15 +410,13 @@
 
               if (len != dv(0))
                 error ("matrix_type: Invalid permutation vector PERM");
-              else
-                {
-                  OCTAVE_LOCAL_BUFFER (octave_idx_type, p, len);
+
+              OCTAVE_LOCAL_BUFFER (octave_idx_type, p, len);
 
-                  for (octave_idx_type i = 0; i < len; i++)
-                    p[i] = static_cast<octave_idx_type> (perm (i)) - 1;
+              for (octave_idx_type i = 0; i < len; i++)
+                p[i] = static_cast<octave_idx_type> (perm (i)) - 1;
 
-                  mattyp.mark_as_permuted (len, p);
-                }
+              mattyp.mark_as_permuted (len, p);
             }
           else if (nargin != 2)
             error ("matrix_type: Invalid number of arguments");