Mercurial > octave
annotate src/xpow.h @ 8382:9b20a4847056
implement scalar powers of diag matrices
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 08 Dec 2008 14:12:08 +0100 |
parents | 82be108cc558 |
children | eb63fbe60fab |
rev | line source |
---|---|
1 | 1 /* |
2 | |
7017 | 3 Copyright (C) 1993, 1994, 1995, 1996, 1997, 2002, 2003, 2005, 2007 |
4 John W. Eaton | |
1 | 5 |
6 This file is part of Octave. | |
7 | |
8 Octave is free software; you can redistribute it and/or modify it | |
9 under the terms of the GNU General Public License as published by the | |
7016 | 10 Free Software Foundation; either version 3 of the License, or (at your |
11 option) any later version. | |
1 | 12 |
13 Octave is distributed in the hope that it will be useful, but WITHOUT | |
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
16 for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
7016 | 19 along with Octave; see the file COPYING. If not, see |
20 <http://www.gnu.org/licenses/>. | |
1 | 21 |
22 */ | |
23 | |
383 | 24 #if !defined (octave_xpow_h) |
25 #define octave_xpow_h 1 | |
1 | 26 |
1651 | 27 #include "oct-cmplx.h" |
28 | |
164 | 29 class Matrix; |
30 class ComplexMatrix; | |
7789
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
31 class FloatMatrix; |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
32 class FloatComplexMatrix; |
8382
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
33 class DiagMatrix; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
34 class ComplexDiagMatrix; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
35 class FloatDiagMatrix; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
36 class FloatComplexDiagMatrix; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
37 class NDArray; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
38 class FloatNDArray; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
39 class ComplexNDArray; |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
40 class FloatComplexNDArray; |
2086 | 41 class octave_value; |
1 | 42 |
2086 | 43 extern octave_value xpow (double a, double b); |
44 extern octave_value xpow (double a, const Matrix& b); | |
45 extern octave_value xpow (double a, const Complex& b); | |
46 extern octave_value xpow (double a, const ComplexMatrix& b); | |
1 | 47 |
2086 | 48 extern octave_value xpow (const Matrix& a, double b); |
49 extern octave_value xpow (const Matrix& a, const Complex& b); | |
1 | 50 |
8382
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
51 extern octave_value xpow (const DiagMatrix& a, double b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
52 extern octave_value xpow (const DiagMatrix& a, const Complex& b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
53 |
2086 | 54 extern octave_value xpow (const Complex& a, double b); |
55 extern octave_value xpow (const Complex& a, const Matrix& b); | |
56 extern octave_value xpow (const Complex& a, const Complex& b); | |
57 extern octave_value xpow (const Complex& a, const ComplexMatrix& b); | |
1 | 58 |
2086 | 59 extern octave_value xpow (const ComplexMatrix& a, double b); |
60 extern octave_value xpow (const ComplexMatrix& a, const Complex& b); | |
1 | 61 |
8382
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
62 extern octave_value xpow (const ComplexDiagMatrix& a, double b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
63 extern octave_value xpow (const ComplexDiagMatrix& a, const Complex& b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
64 |
2086 | 65 extern octave_value elem_xpow (double a, const Matrix& b); |
66 extern octave_value elem_xpow (double a, const ComplexMatrix& b); | |
1 | 67 |
2086 | 68 extern octave_value elem_xpow (const Matrix& a, double b); |
69 extern octave_value elem_xpow (const Matrix& a, const Matrix& b); | |
70 extern octave_value elem_xpow (const Matrix& a, const Complex& b); | |
71 extern octave_value elem_xpow (const Matrix& a, const ComplexMatrix& b); | |
1 | 72 |
2086 | 73 extern octave_value elem_xpow (const Complex& a, const Matrix& b); |
74 extern octave_value elem_xpow (const Complex& a, const ComplexMatrix& b); | |
1 | 75 |
2086 | 76 extern octave_value elem_xpow (const ComplexMatrix& a, double b); |
77 extern octave_value elem_xpow (const ComplexMatrix& a, const Matrix& b); | |
78 extern octave_value elem_xpow (const ComplexMatrix& a, const Complex& b); | |
4188 | 79 extern octave_value elem_xpow (const ComplexMatrix& a, const ComplexMatrix& b); |
1 | 80 |
4543 | 81 |
82 extern octave_value elem_xpow (double a, const NDArray& b); | |
83 extern octave_value elem_xpow (double a, const ComplexNDArray& b); | |
84 | |
85 extern octave_value elem_xpow (const NDArray& a, double b); | |
86 extern octave_value elem_xpow (const NDArray& a, const NDArray& b); | |
87 extern octave_value elem_xpow (const NDArray& a, const Complex& b); | |
88 extern octave_value elem_xpow (const NDArray& a, const ComplexNDArray& b); | |
89 | |
90 extern octave_value elem_xpow (const Complex& a, const NDArray& b); | |
91 extern octave_value elem_xpow (const Complex& a, const ComplexNDArray& b); | |
92 | |
93 extern octave_value elem_xpow (const ComplexNDArray& a, double b); | |
94 extern octave_value elem_xpow (const ComplexNDArray& a, const NDArray& b); | |
95 extern octave_value elem_xpow (const ComplexNDArray& a, const Complex& b); | |
96 extern octave_value elem_xpow (const ComplexNDArray& a, const ComplexNDArray& b); | |
97 | |
7789
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
98 extern octave_value xpow (float a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
99 extern octave_value xpow (float a, const FloatMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
100 extern octave_value xpow (float a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
101 extern octave_value xpow (float a, const FloatComplexMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
102 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
103 extern octave_value xpow (const FloatMatrix& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
104 extern octave_value xpow (const FloatMatrix& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
105 |
8382
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
106 extern octave_value xpow (const FloatDiagMatrix& a, float b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
107 extern octave_value xpow (const FloatDiagMatrix& a, const FloatComplex& b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
108 |
7789
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
109 extern octave_value xpow (const FloatComplex& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
110 extern octave_value xpow (const FloatComplex& a, const FloatMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
111 extern octave_value xpow (const FloatComplex& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
112 extern octave_value xpow (const FloatComplex& a, const FloatComplexMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
113 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
114 extern octave_value xpow (const FloatComplexMatrix& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
115 extern octave_value xpow (const FloatComplexMatrix& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
116 |
8382
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
117 extern octave_value xpow (const FloatComplexDiagMatrix& a, float b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
118 extern octave_value xpow (const FloatComplexDiagMatrix& a, const FloatComplex& b); |
9b20a4847056
implement scalar powers of diag matrices
Jaroslav Hajek <highegg@gmail.com>
parents:
7789
diff
changeset
|
119 |
7789
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
120 extern octave_value elem_xpow (float a, const FloatMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
121 extern octave_value elem_xpow (float a, const FloatComplexMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
122 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
123 extern octave_value elem_xpow (const FloatMatrix& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
124 extern octave_value elem_xpow (const FloatMatrix& a, const FloatMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
125 extern octave_value elem_xpow (const FloatMatrix& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
126 extern octave_value elem_xpow (const FloatMatrix& a, const FloatComplexMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
127 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
128 extern octave_value elem_xpow (const FloatComplex& a, const FloatMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
129 extern octave_value elem_xpow (const FloatComplex& a, const FloatComplexMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
130 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
131 extern octave_value elem_xpow (const FloatComplexMatrix& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
132 extern octave_value elem_xpow (const FloatComplexMatrix& a, const FloatMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
133 extern octave_value elem_xpow (const FloatComplexMatrix& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
134 extern octave_value elem_xpow (const FloatComplexMatrix& a, const FloatComplexMatrix& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
135 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
136 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
137 extern octave_value elem_xpow (float a, const FloatNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
138 extern octave_value elem_xpow (float a, const FloatComplexNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
139 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
140 extern octave_value elem_xpow (const FloatNDArray& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
141 extern octave_value elem_xpow (const FloatNDArray& a, const FloatNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
142 extern octave_value elem_xpow (const FloatNDArray& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
143 extern octave_value elem_xpow (const FloatNDArray& a, const FloatComplexNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
144 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
145 extern octave_value elem_xpow (const FloatComplex& a, const FloatNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
146 extern octave_value elem_xpow (const FloatComplex& a, const FloatComplexNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
147 |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
148 extern octave_value elem_xpow (const FloatComplexNDArray& a, float b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
149 extern octave_value elem_xpow (const FloatComplexNDArray& a, const FloatNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
150 extern octave_value elem_xpow (const FloatComplexNDArray& a, const FloatComplex& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
151 extern octave_value elem_xpow (const FloatComplexNDArray& a, const FloatComplexNDArray& b); |
82be108cc558
First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents:
7017
diff
changeset
|
152 |
1 | 153 #endif |
154 | |
155 /* | |
156 ;;; Local Variables: *** | |
157 ;;; mode: C++ *** | |
158 ;;; End: *** | |
159 */ |