GNU Octave 7.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
sparse-xpow.h
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 1998-2022 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_sparse_xpow_h)
27#define octave_sparse_xpow_h 1
28
29#include "octave-config.h"
30
31#include "oct-cmplx.h"
32
33class SparseMatrix;
35class octave_value;
36
37OCTAVE_NAMESPACE_BEGIN
38
39extern octave_value xpow (const SparseMatrix& a, double b);
40extern octave_value xpow (const SparseComplexMatrix& a, double b);
41
42extern octave_value elem_xpow (double a, const SparseMatrix& b);
43extern octave_value elem_xpow (double a, const SparseComplexMatrix& b);
44
45extern octave_value elem_xpow (const SparseMatrix& a, double b);
46extern octave_value elem_xpow (const SparseMatrix& a, const SparseMatrix& b);
47extern octave_value elem_xpow (const SparseMatrix& a, const Complex& b);
48extern octave_value elem_xpow (const SparseMatrix& a,
49 const SparseComplexMatrix& b);
50
51extern octave_value elem_xpow (const Complex& a, const SparseMatrix& b);
52extern octave_value elem_xpow (const Complex& a,
53 const SparseComplexMatrix& b);
54
55extern octave_value elem_xpow (const SparseComplexMatrix& a, double b);
57 const SparseMatrix& b);
59 const Complex& b);
61 const SparseComplexMatrix& b);
62
63OCTAVE_NAMESPACE_END
64
65#if (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
66
67OCTAVE_DEPRECATED (7, "use 'octave::xpow' instead")
68inline octave_value
69xpow (const SparseMatrix& a, double b)
70{
71 return octave::xpow (a, b);
72}
73
74OCTAVE_DEPRECATED (7, "use 'octave::xpow' instead")
75inline octave_value
76xpow (const SparseComplexMatrix& a, double b)
77{
78 return octave::xpow (a, b);
79}
80
81OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
82inline octave_value
83elem_xpow (double a, const SparseMatrix& b)
84{
85 return octave::elem_xpow (a, b);
86}
87
88OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
89inline octave_value
90elem_xpow (double a, const SparseComplexMatrix& b)
91{
92 return octave::elem_xpow (a, b);
93}
94
95OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
96inline octave_value
97elem_xpow (const SparseMatrix& a, double b)
98{
99 return octave::elem_xpow (a, b);
100}
101
102OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
103inline octave_value
104elem_xpow (const SparseMatrix& a, const SparseMatrix& b)
105{
106 return octave::elem_xpow (a, b);
107}
108
109OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
110inline octave_value
111elem_xpow (const SparseMatrix& a, const Complex& b)
112{
113 return octave::elem_xpow (a, b);
114}
115
116OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
117inline octave_value
118elem_xpow (const SparseMatrix& a, const SparseComplexMatrix& b)
119{
120 return octave::elem_xpow (a, b);
121}
122
123OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
124inline octave_value
125elem_xpow (const Complex& a, const SparseMatrix& b)
126{
127 return octave::elem_xpow (a, b);
128}
129
130OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
131inline octave_value
132elem_xpow (const Complex& a, const SparseComplexMatrix& b)
133{
134 return octave::elem_xpow (a, b);
135}
136
137OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
138inline octave_value
139elem_xpow (const SparseComplexMatrix& a, double b)
140{
141 return octave::elem_xpow (a, b);
142}
143
144OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
145inline octave_value
146elem_xpow (const SparseComplexMatrix& a, const SparseMatrix& b)
147{
148 return octave::elem_xpow (a, b);
149}
150
151OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
152inline octave_value
153elem_xpow (const SparseComplexMatrix& a, const Complex& b)
154{
155 return octave::elem_xpow (a, b);
156}
157
158OCTAVE_DEPRECATED (7, "use 'octave::elem_xpow' instead")
159inline octave_value
161{
162 return octave::elem_xpow (a, b);
163}
164
165#endif
166
167#endif
std::complex< double > Complex
Definition: oct-cmplx.h:33
octave_value elem_xpow(double a, const SparseMatrix &b)
Definition: sparse-xpow.cc:251
OCTAVE_NAMESPACE_BEGIN octave_value xpow(const SparseMatrix &a, double b)
Definition: sparse-xpow.cc:62