GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
op-b-bm.cc
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2003-2017 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if defined (HAVE_CONFIG_H)
24 # include "config.h"
25 #endif
26 
27 #include "errwarn.h"
28 #include "ovl.h"
29 #include "ov.h"
30 #include "ov-bool.h"
31 #include "ov-bool-mat.h"
32 #include "ov-scalar.h"
33 #include "ov-float.h"
34 #include "ov-re-mat.h"
35 #include "ov-flt-re-mat.h"
36 #include "ov-typeinfo.h"
37 #include "ops.h"
38 #include "xdiv.h"
39 #include "xpow.h"
40 
41 // bool matrix by bool ops.
42 
43 DEFNDBINOP_FN (el_and, bool, bool_matrix, bool, bool_array, mx_el_and)
44 DEFNDBINOP_FN (el_or, bool, bool_matrix, bool, bool_array, mx_el_or)
45 
46 DEFNDBINOP_FN (el_and_not, bool, bool_matrix, bool, bool_array, mx_el_and_not)
47 DEFNDBINOP_FN (el_or_not, bool, bool_matrix, bool, bool_array, mx_el_or_not)
48 
49 DEFNDCATOP_FN (b_bm, bool, bool_matrix, bool_array, bool_array, concat)
50 DEFNDCATOP_FN (b_m, bool, matrix, array, array, concat)
51 DEFNDCATOP_FN (s_bm, scalar, bool_matrix, array, array, concat)
52 
53 DEFNDCATOP_FN (b_fm, bool, float_matrix, float_array, float_array, concat)
54 DEFNDCATOP_FN (f_bm, float_scalar, bool_matrix, float_array, float_array,
56 
57 DEFCONV (bool_matrix_conv, bool, bool_matrix)
58 {
59  const octave_bool& v = dynamic_cast<const octave_bool&> (a);
60 
61  return new octave_bool_matrix (v.bool_matrix_value ());
62 }
63 
64 void
66 {
69  INSTALL_BINOP (op_el_and_not, octave_bool, octave_bool_matrix, el_and_not);
70  INSTALL_BINOP (op_el_or_not, octave_bool, octave_bool_matrix, el_or_not);
71 
77 
79 
80  INSTALL_WIDENOP (octave_bool, octave_bool_matrix, bool_matrix_conv);
81 }
boolNDArray mx_el_and_not(const boolNDArray &m1, const boolNDArray &m2)
Definition: boolNDArray.cc:136
nd group nd example oindent but is performed more efficiently If only and it is a scalar
Definition: data.cc:5342
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the then the first element defines the pivoting tolerance for the unsymmetric the values defined such that for full matrix
Definition: lu.cc:138
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
Definition: CNDArray.cc:655
#define INSTALL_WIDENOP(t1, t2, f)
Definition: ops.h:70
#define DEFNDBINOP_FN(name, t1, t2, e1, e2, f)
Definition: ops.h:294
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
Definition: cellfun.cc:398
octave_value op_el_or(const octave_value &a1, const octave_value &a2)
Definition: ov.h:1534
#define INSTALL_BINOP(op, t1, t2, f)
Definition: ops.h:48
then the function must return scalars which will be concatenated into the return array(s).If code
Definition: cellfun.cc:398
octave_value op_el_and(const octave_value &a1, const octave_value &a2)
Definition: ov.h:1533
#define INSTALL_CATOP(t1, t2, f)
Definition: ops.h:53
boolMatrix mx_el_or(const boolMatrix &m1, const boolMatrix &m2)
Definition: boolMatrix.cc:87
boolMatrix mx_el_and(const boolMatrix &m1, const boolMatrix &m2)
Definition: boolMatrix.cc:87
boolNDArray mx_el_or_not(const boolNDArray &m1, const boolNDArray &m2)
Definition: boolNDArray.cc:136
boolMatrix bool_matrix_value(bool=false) const
Definition: ov-bool.h:204
void install_b_bm_ops(void)
Definition: op-b-bm.cc:65
#define DEFCONV(name, a_dummy, b_dummy)
Definition: ops.h:165
#define INSTALL_ASSIGNCONV(t1, t2, tr)
Definition: ops.h:66
#define DEFNDCATOP_FN(name, t1, t2, e1, e2, f)
Definition: ops.h:341