GNU Octave  9.1.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-2024 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 
49 
50 extern OCTINTERP_API octave_value xpow (double a, double b);
51 extern OCTINTERP_API octave_value xpow (double a, const Matrix& b);
52 extern OCTINTERP_API octave_value xpow (double a, const Complex& b);
53 extern OCTINTERP_API octave_value xpow (double a, const ComplexMatrix& b);
54 
55 extern OCTINTERP_API octave_value xpow (const Matrix& a, double b);
56 extern OCTINTERP_API octave_value xpow (const Matrix& a, const Complex& b);
57 
58 extern OCTINTERP_API octave_value xpow (const DiagMatrix& a, double b);
59 extern OCTINTERP_API octave_value xpow (const DiagMatrix& a, const Complex& b);
60 
61 extern OCTINTERP_API octave_value xpow (const PermMatrix& a, double b);
62 
63 extern OCTINTERP_API octave_value xpow (const Complex& a, double b);
64 extern OCTINTERP_API octave_value xpow (const Complex& a, const Matrix& b);
65 extern OCTINTERP_API octave_value xpow (const Complex& a, const Complex& b);
66 extern OCTINTERP_API octave_value xpow (const Complex& a,
67  const ComplexMatrix& b);
68 
69 extern OCTINTERP_API octave_value xpow (const ComplexMatrix& a, double b);
70 extern OCTINTERP_API octave_value xpow (const ComplexMatrix& a,
71  const Complex& b);
72 
73 extern OCTINTERP_API octave_value xpow (const ComplexDiagMatrix& a, double b);
74 extern OCTINTERP_API octave_value xpow (const ComplexDiagMatrix& a,
75  const Complex& b);
76 
77 extern OCTINTERP_API octave_value elem_xpow (double a, const Matrix& b);
78 extern OCTINTERP_API octave_value elem_xpow (double a, const ComplexMatrix& b);
79 extern OCTINTERP_API octave_value elem_xpow (double a,
80  const octave::range<double>& r);
81 
82 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, double b);
83 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const Matrix& b);
84 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const Complex& b);
85 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a,
86  const ComplexMatrix& b);
87 
88 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const Matrix& b);
89 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
90  const ComplexMatrix& b);
91 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
92  const octave::range<double>& r);
93 
94 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a, double b);
95 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a,
96  const Matrix& b);
97 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a,
98  const Complex& b);
99 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a,
100  const ComplexMatrix& b);
101 
102 extern OCTINTERP_API octave_value elem_xpow (double a, const NDArray& b);
103 extern OCTINTERP_API octave_value elem_xpow (double a, const ComplexNDArray& b);
104 
105 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a, double b);
106 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a,
107  const NDArray& b);
108 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a,
109  const Complex& b);
110 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a,
111  const ComplexNDArray& b);
112 
113 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
114  const NDArray& b);
115 extern OCTINTERP_API octave_value elem_xpow (const Complex& a,
116  const ComplexNDArray& b);
117 
118 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
119  double b);
120 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
121  const NDArray& b);
122 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
123  const Complex& b);
124 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a,
125  const ComplexNDArray& b);
126 
127 extern OCTINTERP_API octave_value xpow (float a, float b);
128 extern OCTINTERP_API octave_value xpow (float a, const FloatMatrix& b);
129 extern OCTINTERP_API octave_value xpow (float a, const FloatComplex& b);
130 extern OCTINTERP_API octave_value xpow (float a, const FloatComplexMatrix& b);
131 
132 extern OCTINTERP_API octave_value xpow (const FloatMatrix& a, float b);
133 extern OCTINTERP_API octave_value xpow (const FloatMatrix& a,
134  const FloatComplex& b);
135 
136 extern OCTINTERP_API octave_value xpow (const FloatDiagMatrix& a, float b);
137 extern OCTINTERP_API octave_value xpow (const FloatDiagMatrix& a,
138  const FloatComplex& b);
139 
140 extern OCTINTERP_API octave_value xpow (const FloatComplex& a, float b);
141 extern OCTINTERP_API octave_value xpow (const FloatComplex& a,
142  const FloatMatrix& b);
143 extern OCTINTERP_API octave_value xpow (const FloatComplex& a,
144  const FloatComplex& b);
145 extern OCTINTERP_API octave_value xpow (const FloatComplex& a,
146  const FloatComplexMatrix& b);
147 
148 extern OCTINTERP_API octave_value xpow (const FloatComplexMatrix& a, float b);
149 extern OCTINTERP_API octave_value xpow (const FloatComplexMatrix& a,
150  const FloatComplex& b);
151 
152 extern OCTINTERP_API octave_value xpow (const FloatComplexDiagMatrix& a,
153  float b);
154 extern OCTINTERP_API octave_value xpow (const FloatComplexDiagMatrix& a,
155  const FloatComplex& b);
156 
157 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatMatrix& b);
158 extern OCTINTERP_API octave_value elem_xpow (float a,
159  const FloatComplexMatrix& b);
160 
161 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a, float b);
162 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a,
163  const FloatMatrix& b);
164 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a,
165  const FloatComplex& b);
166 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a,
167  const FloatComplexMatrix& b);
168 
169 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
170  const FloatMatrix& b);
171 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
172  const FloatComplexMatrix& b);
173 
174 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
175  float b);
176 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
177  const FloatMatrix& b);
178 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
179  const FloatComplex& b);
180 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a,
181  const FloatComplexMatrix& b);
182 
183 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatNDArray& b);
184 extern OCTINTERP_API octave_value elem_xpow (float a,
185  const FloatComplexNDArray& b);
186 
187 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a, float b);
188 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a,
189  const FloatNDArray& b);
190 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a,
191  const FloatComplex& b);
192 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a,
193  const FloatComplexNDArray& b);
194 
195 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
196  const FloatNDArray& b);
197 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a,
198  const FloatComplexNDArray& b);
199 
200 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
201  float b);
202 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
203  const FloatNDArray& b);
204 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
205  const FloatComplex& b);
206 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a,
207  const FloatComplexNDArray& b);
208 
209 OCTAVE_END_NAMESPACE(octave)
210 
211 #endif
Definition: dMatrix.h:42
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
T * r
Definition: mx-inlines.cc:781
std::complex< double > Complex
Definition: oct-cmplx.h:33
std::complex< float > FloatComplex
Definition: oct-cmplx.h:34
octave_value elem_xpow(double a, const Matrix &b)
Definition: xpow.cc:669
octave_value xpow(double a, double b)
Definition: xpow.cc:108