GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
xpow.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 1993-2021 The Octave Project Developers
4 //
5 // See the file COPYRIGHT.md in the top-level directory of this
6 // distribution or <https://octave.org/copyright/>.
7 //
8 // This file is part of Octave.
9 //
10 // Octave is free software: you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Octave is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with Octave; see the file COPYING. If not, see
22 // <https://www.gnu.org/licenses/>.
23 //
24 ////////////////////////////////////////////////////////////////////////
25 
26 #if ! defined (octave_xpow_h)
27 #define octave_xpow_h 1
28 
29 #include "octave-config.h"
30 
31 #include "oct-cmplx.h"
32 
33 class Matrix;
34 class ComplexMatrix;
35 class FloatMatrix;
36 class FloatComplexMatrix;
37 class DiagMatrix;
38 class ComplexDiagMatrix;
39 class FloatDiagMatrix;
41 class PermMatrix;
42 class NDArray;
43 class FloatNDArray;
44 class ComplexNDArray;
46 class octave_value;
47 class Range;
48 
49 extern OCTINTERP_API octave_value xpow (double a, double b);
50 extern OCTINTERP_API octave_value xpow (double a, const Matrix& b);
51 extern OCTINTERP_API octave_value xpow (double a, const Complex& b);
52 extern OCTINTERP_API octave_value xpow (double a, const ComplexMatrix& b);
53 
54 extern OCTINTERP_API octave_value xpow (const Matrix& a, double b);
55 extern OCTINTERP_API octave_value xpow (const Matrix& a, const Complex& b);
56 
57 extern OCTINTERP_API octave_value xpow (const DiagMatrix& a, double b);
58 extern OCTINTERP_API octave_value xpow (const DiagMatrix& a, const Complex& b);
59 
60 extern OCTINTERP_API octave_value xpow (const PermMatrix& a, double b);
61 
62 extern OCTINTERP_API octave_value xpow (const Complex& a, double b);
63 extern OCTINTERP_API octave_value xpow (const Complex& a, const Matrix& b);
64 extern OCTINTERP_API octave_value xpow (const Complex& a, const Complex& b);
65 extern OCTINTERP_API octave_value xpow (const Complex& a,
66  const ComplexMatrix& b);
67 
68 extern OCTINTERP_API octave_value xpow (const ComplexMatrix& a, double b);
69 extern OCTINTERP_API octave_value xpow (const ComplexMatrix& a,
70  const Complex& b);
71 
72 extern OCTINTERP_API octave_value xpow (const ComplexDiagMatrix& a, double b);
73 extern OCTINTERP_API octave_value xpow (const ComplexDiagMatrix& a,
74  const Complex& b);
75 
76 extern OCTINTERP_API octave_value elem_xpow (double a, const Matrix& b);
77 extern OCTINTERP_API octave_value elem_xpow (double a, const ComplexMatrix& b);
78 extern OCTINTERP_API octave_value elem_xpow (double a, const Range& r);
79 
80 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, double b);
81 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const Matrix& b);
82 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const Complex& b);
83 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a,
84  const ComplexMatrix& b);
85 
86 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const Matrix& b);
87 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
88  const ComplexMatrix& b);
89 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const Range& r);
90 
91 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a, double b);
92 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a,
93  const Matrix& b);
94 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a,
95  const Complex& b);
96 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a,
97  const ComplexMatrix& b);
98 
99 extern OCTINTERP_API octave_value elem_xpow (double a, const NDArray& b);
100 extern OCTINTERP_API octave_value elem_xpow (double a, const ComplexNDArray& b);
101 
102 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a, double b);
103 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a,
104  const NDArray& b);
105 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a,
106  const Complex& b);
107 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a,
108  const ComplexNDArray& b);
109 
110 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
111  const NDArray& b);
112 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
113  const ComplexNDArray& b);
114 
115 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
116  double b);
117 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
118  const NDArray& b);
119 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
120  const Complex& b);
121 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
122  const ComplexNDArray& b);
123 
124 extern OCTINTERP_API octave_value xpow (float a, float b);
125 extern OCTINTERP_API octave_value xpow (float a, const FloatMatrix& b);
126 extern OCTINTERP_API octave_value xpow (float a, const FloatComplex& b);
127 extern OCTINTERP_API octave_value xpow (float a, const FloatComplexMatrix& b);
128 
129 extern OCTINTERP_API octave_value xpow (const FloatMatrix& a, float b);
130 extern OCTINTERP_API octave_value xpow (const FloatMatrix& a,
131  const FloatComplex& b);
132 
133 extern OCTINTERP_API octave_value xpow (const FloatDiagMatrix& a, float b);
134 extern OCTINTERP_API octave_value xpow (const FloatDiagMatrix& a,
135  const FloatComplex& b);
136 
137 extern OCTINTERP_API octave_value xpow (const FloatComplex& a, float b);
138 extern OCTINTERP_API octave_value xpow (const FloatComplex& a,
139  const FloatMatrix& b);
140 extern OCTINTERP_API octave_value xpow (const FloatComplex& a,
141  const FloatComplex& b);
142 extern OCTINTERP_API octave_value xpow (const FloatComplex& a,
143  const FloatComplexMatrix& b);
144 
145 extern OCTINTERP_API octave_value xpow (const FloatComplexMatrix& a, float b);
146 extern OCTINTERP_API octave_value xpow (const FloatComplexMatrix& a,
147  const FloatComplex& b);
148 
149 extern OCTINTERP_API octave_value xpow (const FloatComplexDiagMatrix& a,
150  float b);
151 extern OCTINTERP_API octave_value xpow (const FloatComplexDiagMatrix& a,
152  const FloatComplex& b);
153 
154 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatMatrix& b);
155 extern OCTINTERP_API octave_value elem_xpow (float a,
156  const FloatComplexMatrix& b);
157 
158 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a, float b);
159 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a,
160  const FloatMatrix& b);
161 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a,
162  const FloatComplex& b);
163 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a,
164  const FloatComplexMatrix& b);
165 
166 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
167  const FloatMatrix& b);
168 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
169  const FloatComplexMatrix& b);
170 
171 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
172  float b);
173 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
174  const FloatMatrix& b);
175 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
176  const FloatComplex& b);
177 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
178  const FloatComplexMatrix& b);
179 
180 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatNDArray& b);
181 extern OCTINTERP_API octave_value elem_xpow (float a,
182  const FloatComplexNDArray& b);
183 
184 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a, float b);
185 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a,
186  const FloatNDArray& b);
187 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a,
188  const FloatComplex& b);
189 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a,
190  const FloatComplexNDArray& b);
191 
192 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
193  const FloatNDArray& b);
194 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
195  const FloatComplexNDArray& b);
196 
197 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
198  float b);
199 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
200  const FloatNDArray& b);
201 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
202  const FloatComplex& b);
203 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
204  const FloatComplexNDArray& b);
205 
206 #endif
Definition: dMatrix.h:42
Definition: Range.h:40
T * r
Definition: mx-inlines.cc:773
std::complex< double > Complex
Definition: oct-cmplx.h:33
std::complex< float > FloatComplex
Definition: oct-cmplx.h:34
OCTINTERP_API octave_value elem_xpow(double a, const Matrix &b)
Definition: xpow.cc:647
OCTINTERP_API octave_value xpow(double a, double b)
Definition: xpow.cc:97