GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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