Mercurial > jwe > octave
view libinterp/operators/op-dms-template.cc @ 21024:6176560b03d9
maint: Remove return stmts after gripe function calls.
* gripes.h: Mark gripe functions which call error() wwith GCC_ATTR_NORETURN.
* jit-typeinfo.cc (gripe_bad_result): Mark function with GCC_ATTR_NORETURN.
* load-save.cc (gripe_file_open): Mark function with GCC_ATTR_NORETURN.
* ov-base.cc (gripe_indexed_assignment, gripe_assign_conversion_failed,
gripe_no_conversion): Mark functions with GCC_ATTR_NORETURN.
* ov-class.cc (gripe_invalid_index1, gripe_invalid_index_for_assignment,
gripe_invalid_index_type): Mark functions with GCC_ATTR_NORETURN.
* ov-classdef.h (gripe_invalid_object): Mark function with GCC_ATTR_NORETURN.
* ov.cc (gripe_cat_op, gripe_cat_op_conv): Mark functions with
GCC_ATTR_NORETURN.
* balance.cc, det.cc, eig.cc, hess.cc, inv.cc, jit-typeinfo.cc, load-save.cc,
qz.cc, schur.cc, sparse-xdiv.cc, sparse-xpow.cc, sylvester.cc, xdiv.cc,
xpow.cc, symrcm.cc, ov-base.cc, ov-classdef.h, ov-cs-list.cc, ov-flt-re-mat.cc,
ov-re-mat.cc, ov-re-sparse.cc, ov.cc, op-int.h, op-fs-fs.cc, ops.h:
Remove statements that occur after a gripe function which does not return.
* op-cs-cs.cc, op-dms-template.cc, op-fcs-fcs.cc, op-s-s.cc : Add newline
between gripe and return statement for readability.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 01 Jan 2016 13:58:45 -0800 |
parents | 4197fc428c7d |
children | e39e05d90788 |
line wrap: on
line source
/* Copyright (C) 2008-2015 Jaroslav Hajek This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include "ops.h" #include "gripes.h" #include "xpow.h" #include SINCLUDE #include MINCLUDE // matrix by diag matrix ops. #ifndef SCALARV #define SCALARV SCALAR #endif #ifndef MATRIXV #define MATRIXV MATRIX #endif DEFNDBINOP_OP (sdmmul, SCALAR, MATRIX, SCALARV, MATRIXV, *) DEFNDBINOP_OP (dmsmul, MATRIX, SCALAR, MATRIXV, SCALARV, *) #define OCTAVE_MATRIX CONCAT2(octave_, MATRIX) #define OCTAVE_SCALAR CONCAT2(octave_, SCALAR) #define MATRIX_VALUE CONCAT2(MATRIXV, _value) #define SCALAR_VALUE CONCAT2(SCALARV, _value) template <class T> static T gripe_if_zero (T x) { if (x == T ()) gripe_divide_by_zero (); return x; } DEFBINOP (dmsdiv, MATRIX, SCALAR) { CAST_BINOP_ARGS (const OCTAVE_MATRIX&, const OCTAVE_SCALAR&); return v1.MATRIX_VALUE () / gripe_if_zero (v2.SCALAR_VALUE ()); } DEFBINOP (sdmldiv, SCALAR, MATRIX) { CAST_BINOP_ARGS (const OCTAVE_SCALAR&, const OCTAVE_MATRIX&); return v2.MATRIX_VALUE () / gripe_if_zero (v1.SCALAR_VALUE ()); } DEFBINOP (dmspow, MATRIX, SCALAR) { CAST_BINOP_ARGS (const OCTAVE_MATRIX&, const OCTAVE_SCALAR&); return xpow (v1.MATRIX_VALUE (), v2.SCALAR_VALUE ()); } #define SHORT_NAME CONCAT3(MSHORT, _, SSHORT) #define INST_NAME CONCAT3(install_, SHORT_NAME, _ops) void INST_NAME (void) { INSTALL_BINOP (op_mul, OCTAVE_MATRIX, OCTAVE_SCALAR, dmsmul); INSTALL_BINOP (op_div, OCTAVE_MATRIX, OCTAVE_SCALAR, dmsdiv); INSTALL_BINOP (op_mul, OCTAVE_SCALAR, OCTAVE_MATRIX, sdmmul); INSTALL_BINOP (op_ldiv, OCTAVE_SCALAR, OCTAVE_MATRIX, sdmldiv); INSTALL_BINOP (op_pow, OCTAVE_MATRIX, OCTAVE_SCALAR, dmspow); }