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
mx-defs.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1994-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 (octave_mx_defs_h)
24 #define octave_mx_defs_h 1
25 
26 #include "octave-config.h"
27 
28 // Classes we declare.
29 
30 class Matrix;
31 class ComplexMatrix;
32 class FloatMatrix;
33 class FloatComplexMatrix;
34 class boolMatrix;
35 class charMatrix;
36 
37 class NDArray;
38 class ComplexNDArray;
39 class FloatNDArray;
41 class boolNDArray;
42 class charNDArray;
43 
44 class ColumnVector;
46 class FloatColumnVector;
48 
49 class RowVector;
50 class ComplexRowVector;
51 class FloatRowVector;
53 
54 class DiagMatrix;
55 class ComplexDiagMatrix;
56 class FloatDiagMatrix;
58 
59 class PermMatrix;
60 
61 template <typename T> class aepbalance;
62 
63 template <typename T> class gepbalance;
64 
65 template <typename T> class chol;
66 
67 class EIG;
68 
69 template <typename T> class hess;
70 
71 template <typename T> class schur;
72 
73 template <typename T> class svd;
74 
75 template <typename T> class lu;
76 
77 template <typename T> class qr;
78 
79 template <typename T> class qrp;
80 
81 // Other data types we use but that don't always need to have full
82 // declarations.
83 
84 #include "oct-cmplx.h"
85 
86 #if ! defined (MAPPER_FCN_TYPEDEFS)
87 # define MAPPER_FCN_TYPEDEFS 1
88 
89 typedef bool (*b_d_Mapper)(double);
90 typedef bool (*b_c_Mapper)(const Complex&);
91 
92 typedef double (*d_d_Mapper)(double);
93 typedef double (*d_c_Mapper)(const Complex&);
94 typedef Complex (*c_c_Mapper)(const Complex&);
95 
96 typedef bool (*b_f_Mapper)(float);
97 typedef bool (*b_fc_Mapper)(const FloatComplex&);
98 
99 typedef float (*f_f_Mapper)(float);
100 typedef float (*f_fc_Mapper)(const FloatComplex&);
102 
104 {
106  blas_trans = 'T',
108 };
109 
110 inline char
112 {
113  return static_cast<char> (transt);
114 }
115 
116 # endif
117 
118 #endif
Complex(* c_c_Mapper)(const Complex &)
Definition: mx-defs.h:94
Definition: EIG.h:34
Definition: mx-defs.h:65
Definition: mx-defs.h:73
Definition: mx-defs.h:71
FloatComplex(* fc_fc_Mapper)(const FloatComplex &)
Definition: mx-defs.h:101
Definition: mx-defs.h:69
double(* d_c_Mapper)(const Complex &)
Definition: mx-defs.h:93
Definition: dMatrix.h:37
bool(* b_f_Mapper)(float)
Definition: mx-defs.h:96
float(* f_f_Mapper)(float)
Definition: mx-defs.h:99
float(* f_fc_Mapper)(const FloatComplex &)
Definition: mx-defs.h:100
bool(* b_fc_Mapper)(const FloatComplex &)
Definition: mx-defs.h:97
Definition: mx-defs.h:77
bool(* b_c_Mapper)(const Complex &)
Definition: mx-defs.h:90
issues an error eealso double
Definition: ov-bool-mat.cc:594
char get_blas_char(blas_trans_type transt)
Definition: mx-defs.h:111
std::complex< float > FloatComplex
Definition: oct-cmplx.h:32
blas_trans_type
Definition: mx-defs.h:103
std::complex< double > Complex
Definition: oct-cmplx.h:31
bool(* b_d_Mapper)(double)
Definition: mx-defs.h:89
Definition: mx-defs.h:75
double(* d_d_Mapper)(double)
Definition: mx-defs.h:92
Definition: mx-defs.h:79