Mercurial > hg > octave-nkf
view libinterp/operators/op-dms-template.cc @ 17830:f22714d4a5da
build: Don't use JAVA_CPPFLAGS, FT2_CPPFLAGS everywhere when making .df files.
*.cc -> *.df rule now stops build when it fails (as it should have done before).
* libinterp/Makefile.am: Remove FONTCONFIG_CPPFLAGS, FT2_CPPFLAGS,
JAVA_CPPFLAGS from defaulte *.cc -> *.df rule. Abort make if rule
errors out.
* libinterp/corefcn/module.mk: Add overriding *.cc -> *.df rule
for files which use (FONTCONFIG|FT2)_CPPFLAGS.
* libinterp/octave-value/module.mk: Add overriding *.cc -> *.df rule
for files which use JAVA_CPPFLAGS.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 02 Nov 2013 14:34:02 -0700 |
parents | d63878346099 |
children | 4197fc428c7d |
line wrap: on
line source
/* Copyright (C) 2008-2013 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); }