GNU Octave 7.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
xdiv.h
Go to the documentation of this file.
1////////////////////////////////////////////////////////////////////////
2//
3// Copyright (C) 1993-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_xdiv_h)
27#define octave_xdiv_h 1
28
29#include "octave-config.h"
30
31#include "mx-defs.h"
32#include "MatrixType.h"
33
34OCTAVE_NAMESPACE_BEGIN
35
36extern Matrix xdiv (const Matrix& a, const Matrix& b, MatrixType& typ);
37extern ComplexMatrix xdiv (const Matrix& a, const ComplexMatrix& b,
38 MatrixType& typ);
39extern ComplexMatrix xdiv (const ComplexMatrix& a, const Matrix& b,
40 MatrixType& typ);
41extern ComplexMatrix xdiv (const ComplexMatrix& a, const ComplexMatrix& b,
42 MatrixType& typ);
43
44extern Matrix elem_xdiv (double a, const Matrix& b);
45extern ComplexMatrix elem_xdiv (double a, const ComplexMatrix& b);
46extern ComplexMatrix elem_xdiv (const Complex a, const Matrix& b);
47extern ComplexMatrix elem_xdiv (const Complex a, const ComplexMatrix& b);
48
49extern NDArray elem_xdiv (double a, const NDArray& b);
50extern ComplexNDArray elem_xdiv (double a, const ComplexNDArray& b);
51extern ComplexNDArray elem_xdiv (const Complex a, const NDArray& b);
52extern ComplexNDArray elem_xdiv (const Complex a, const ComplexNDArray& b);
53
54extern Matrix xleftdiv (const Matrix& a, const Matrix& b, MatrixType& typ,
56extern ComplexMatrix xleftdiv (const Matrix& a, const ComplexMatrix& b,
57 MatrixType& typ,
59extern ComplexMatrix xleftdiv (const ComplexMatrix& a, const Matrix& b,
60 MatrixType& typ,
62extern ComplexMatrix xleftdiv (const ComplexMatrix& a, const ComplexMatrix& b,
63 MatrixType& typ,
65
66extern FloatMatrix xdiv (const FloatMatrix& a, const FloatMatrix& b,
67 MatrixType& typ);
68extern FloatComplexMatrix xdiv (const FloatMatrix& a,
69 const FloatComplexMatrix& b,
70 MatrixType& typ);
72 const FloatMatrix& b,
73 MatrixType& typ);
75 const FloatComplexMatrix& b,
76 MatrixType& typ);
77
78extern FloatMatrix elem_xdiv (float a, const FloatMatrix& b);
79extern FloatComplexMatrix elem_xdiv (float a, const FloatComplexMatrix& b);
80extern FloatComplexMatrix elem_xdiv (const FloatComplex a, const FloatMatrix& b);
82 const FloatComplexMatrix& b);
83
84extern FloatNDArray elem_xdiv (float a, const FloatNDArray& b);
85extern FloatComplexNDArray elem_xdiv (float a, const FloatComplexNDArray& b);
87 const FloatNDArray& b);
89 const FloatComplexNDArray& b);
90
91extern FloatMatrix xleftdiv (const FloatMatrix& a, const FloatMatrix& b,
92 MatrixType& typ,
95 const FloatComplexMatrix& b,
96 MatrixType& typ,
99 const FloatMatrix& b,
100 MatrixType& typ,
103 const FloatComplexMatrix& b,
104 MatrixType& typ,
106
107extern Matrix xdiv (const Matrix& a, const DiagMatrix& b);
108extern ComplexMatrix xdiv (const ComplexMatrix& a, const DiagMatrix& b);
109extern ComplexMatrix xdiv (const ComplexMatrix& a, const ComplexDiagMatrix& b);
110
111extern DiagMatrix xdiv (const DiagMatrix& a, const DiagMatrix& b);
112extern ComplexDiagMatrix xdiv (const ComplexDiagMatrix& a, const DiagMatrix& b);
114 const ComplexDiagMatrix& b);
115
116extern FloatMatrix xdiv (const FloatMatrix& a, const FloatDiagMatrix& b);
118 const FloatDiagMatrix& b);
120 const FloatComplexDiagMatrix& b);
122 const FloatComplexDiagMatrix& b);
123
124extern FloatDiagMatrix xdiv (const FloatDiagMatrix& a,
125 const FloatDiagMatrix& b);
127 const FloatDiagMatrix& b);
129 const FloatComplexDiagMatrix& b);
130
131extern Matrix xleftdiv (const DiagMatrix& a, const Matrix& b);
132extern ComplexMatrix xleftdiv (const DiagMatrix& a, const ComplexMatrix& b);
134 const ComplexMatrix& b);
135
136extern DiagMatrix xleftdiv (const DiagMatrix& a, const DiagMatrix& b);
137extern ComplexDiagMatrix xleftdiv (const DiagMatrix& a,
138 const ComplexDiagMatrix& b);
140 const ComplexDiagMatrix& b);
141
142extern FloatMatrix xleftdiv (const FloatDiagMatrix& a,
143 const FloatMatrix& b);
145 const FloatComplexMatrix& b);
147 const FloatComplexMatrix& b);
148
150 const FloatDiagMatrix& b);
152 const FloatComplexDiagMatrix& b);
154 const FloatComplexDiagMatrix& b);
155
156OCTAVE_NAMESPACE_END
157
158#if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
159
160OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
161inline Matrix
162xdiv (const Matrix& a, const Matrix& b, MatrixType& typ)
163{
164 return octave::xdiv (a, b, typ);
165}
166
167OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
168inline ComplexMatrix
169xdiv (const Matrix& a, const ComplexMatrix& b, MatrixType& typ)
170{
171 return octave::xdiv (a, b, typ);
172}
173
174OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
175inline ComplexMatrix
176xdiv (const ComplexMatrix& a, const Matrix& b, MatrixType& typ)
177{
178 return octave::xdiv (a, b, typ);
179}
180
181OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
182inline ComplexMatrix
183xdiv (const ComplexMatrix& a, const ComplexMatrix& b, MatrixType& typ)
184{
185 return octave::xdiv (a, b, typ);
186}
187
188OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
189inline Matrix
190x_el_div (double a, const Matrix& b)
191{
192 return octave::elem_xdiv (a, b);
193}
194
195OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
196inline ComplexMatrix
197x_el_div (double a, const ComplexMatrix& b)
198{
199 return octave::elem_xdiv (a, b);
200}
201
202OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
203inline ComplexMatrix
204x_el_div (const Complex a, const Matrix& b)
205{
206 return octave::elem_xdiv (a, b);
207}
208
209OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
210inline ComplexMatrix
211x_el_div (const Complex a, const ComplexMatrix& b)
212{
213 return octave::elem_xdiv (a, b);
214}
215
216OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
217inline NDArray
218x_el_div (double a, const NDArray& b)
219{
220 return octave::elem_xdiv (a, b);
221}
222
223OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
224inline ComplexNDArray
225x_el_div (double a, const ComplexNDArray& b)
226{
227 return octave::elem_xdiv (a, b);
228}
229
230OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
231inline ComplexNDArray
232x_el_div (const Complex a, const NDArray& b)
233{
234 return octave::elem_xdiv (a, b);
235}
236
237OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
238inline ComplexNDArray
239x_el_div (const Complex a, const ComplexNDArray& b)
240{
241 return octave::elem_xdiv (a, b);
242}
243
244OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
245inline Matrix
246xleftdiv (const Matrix& a, const Matrix& b, MatrixType& typ, blas_trans_type transt = blas_no_trans)
247{
248 return octave::xleftdiv (a, b, typ, transt);
249}
250
251OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
252inline ComplexMatrix
253xleftdiv (const Matrix& a, const ComplexMatrix& b, MatrixType& typ,
255{
256 return octave::xleftdiv (a, b, typ, transt);
257}
258
259OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
260inline ComplexMatrix
261xleftdiv (const ComplexMatrix& a, const Matrix& b, MatrixType& typ,
263{
264 return octave::xleftdiv (a, b, typ, transt);
265}
266
267OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
268inline ComplexMatrix
269xleftdiv (const ComplexMatrix& a, const ComplexMatrix& b, MatrixType& typ,
271{
272 return octave::xleftdiv (a, b, typ, transt);
273}
274
275OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
276inline FloatMatrix
277xdiv (const FloatMatrix& a, const FloatMatrix& b, MatrixType& typ)
278{
279 return octave::xdiv (a, b, typ);
280}
281
282OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
284xdiv (const FloatMatrix& a, const FloatComplexMatrix& b, MatrixType& typ)
285{
286 return octave::xdiv (a, b, typ);
287}
288
289OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
291xdiv (const FloatComplexMatrix& a, const FloatMatrix& b, MatrixType& typ)
292{
293 return octave::xdiv (a, b, typ);
294}
295
296OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
298xdiv (const FloatComplexMatrix& a, const FloatComplexMatrix& b, MatrixType& typ)
299{
300 return octave::xdiv (a, b, typ);
301}
302
303OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
304inline FloatMatrix
305x_el_div (float a, const FloatMatrix& b)
306{
307 return octave::elem_xdiv (a, b);
308}
309
310OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
312x_el_div (float a, const FloatComplexMatrix& b)
313{
314 return octave::elem_xdiv (a, b);
315}
316
317OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
319x_el_div (const FloatComplex a, const FloatMatrix& b)
320{
321 return octave::elem_xdiv (a, b);
322}
323
324OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
326x_el_div (const FloatComplex a, const FloatComplexMatrix& b)
327{
328 return octave::elem_xdiv (a, b);
329}
330
331OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
332inline FloatNDArray
333x_el_div (float a, const FloatNDArray& b)
334{
335 return octave::elem_xdiv (a, b);
336}
337
338OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
340x_el_div (float a, const FloatComplexNDArray& b)
341{
342 return octave::elem_xdiv (a, b);
343}
344
345OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
347x_el_div (const FloatComplex a, const FloatNDArray& b)
348{
349 return octave::elem_xdiv (a, b);
350}
351
352OCTAVE_DEPRECATED (7, "use 'octave::elem_xdiv' instead")
354x_el_div (const FloatComplex a, const FloatComplexNDArray& b)
355{
356 return octave::elem_xdiv (a, b);
357}
358
359OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
360inline FloatMatrix
361xleftdiv (const FloatMatrix& a, const FloatMatrix& b,
363{
364 return octave::xleftdiv (a, b, typ, transt);
365}
366
367OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
369xleftdiv (const FloatMatrix& a, const FloatComplexMatrix& b,
371{
372 return octave::xleftdiv (a, b, typ, transt);
373}
374
375OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
377xleftdiv (const FloatComplexMatrix& a, const FloatMatrix& b,
379{
380 return octave::xleftdiv (a, b, typ, transt);
381}
382
383OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
387{
388 return octave::xleftdiv (a, b, typ, transt);
389}
390
391OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
392inline Matrix
393xdiv (const Matrix& a, const DiagMatrix& b)
394{
395 return octave::xdiv (a, b);
396}
397
398OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
399inline ComplexMatrix
400xdiv (const ComplexMatrix& a, const DiagMatrix& b)
401{
402 return octave::xdiv (a, b);
403}
404
405OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
406inline ComplexMatrix
407xdiv (const ComplexMatrix& a, const ComplexDiagMatrix& b)
408{
409 return octave::xdiv (a, b);
410}
411
412OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
413inline DiagMatrix
414xdiv (const DiagMatrix& a, const DiagMatrix& b)
415{
416 return octave::xdiv (a, b);
417}
418
419OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
421xdiv (const ComplexDiagMatrix& a, const DiagMatrix& b)
422{
423 return octave::xdiv (a, b);
424}
425
426OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
428xdiv (const ComplexDiagMatrix& a, const ComplexDiagMatrix& b)
429{
430 return octave::xdiv (a, b);
431}
432
433OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
434inline FloatMatrix
435xdiv (const FloatMatrix& a, const FloatDiagMatrix& b)
436{
437 return octave::xdiv (a, b);
438}
439
440OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
442xdiv (const FloatComplexMatrix& a, const FloatDiagMatrix& b)
443{
444 return octave::xdiv (a, b);
445}
446
447OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
449xdiv (const FloatMatrix& a, const FloatComplexDiagMatrix& b)
450{
451 return octave::xdiv (a, b);
452}
453
454OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
457{
458 return octave::xdiv (a, b);
459}
460
461OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
462inline FloatDiagMatrix
463xdiv (const FloatDiagMatrix& a, const FloatDiagMatrix& b)
464{
465 return octave::xdiv (a, b);
466}
467
468OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
471{
472 return octave::xdiv (a, b);
473}
474
475OCTAVE_DEPRECATED (7, "use 'octave::xdiv' instead")
478{
479 return octave::xdiv (a, b);
480}
481
482OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
483inline Matrix
484xleftdiv (const DiagMatrix& a, const Matrix& b)
485{
486 return octave::xleftdiv (a, b);
487}
488
489OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
490inline ComplexMatrix
491xleftdiv (const DiagMatrix& a, const ComplexMatrix& b)
492{
493 return octave::xleftdiv (a, b);
494}
495
496OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
497inline ComplexMatrix
498xleftdiv (const ComplexDiagMatrix& a, const ComplexMatrix& b)
499{
500 return octave::xleftdiv (a, b);
501}
502
503OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
504inline DiagMatrix
505xleftdiv (const DiagMatrix& a, const DiagMatrix& b)
506{
507 return octave::xleftdiv (a, b);
508}
509
510OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
512xleftdiv (const DiagMatrix& a, const ComplexDiagMatrix& b)
513{
514 return octave::xleftdiv (a, b);
515}
516
517OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
520{
521 return octave::xleftdiv (a, b);
522}
523
524OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
525inline FloatMatrix
526xleftdiv (const FloatDiagMatrix& a, const FloatMatrix& b)
527{
528 return octave::xleftdiv (a, b);
529}
530
531OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
534{
535 return octave::xleftdiv (a, b);
536}
537
538OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
541{
542 return octave::xleftdiv (a, b);
543}
544
545OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
546inline FloatDiagMatrix
547xleftdiv (const FloatDiagMatrix& a, const FloatDiagMatrix& b)
548{
549 return octave::xleftdiv (a, b);
550}
551
552OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
555{
556 return octave::xleftdiv (a, b);
557}
558
559OCTAVE_DEPRECATED (7, "use 'octave::xleftdiv' instead")
562{
563 return octave::xleftdiv (a, b);
564}
565
566#endif
567
568#endif
Definition: dMatrix.h:42
blas_trans_type
Definition: mx-defs.h:80
@ blas_no_trans
Definition: mx-defs.h:81
std::complex< double > Complex
Definition: oct-cmplx.h:33
std::complex< float > FloatComplex
Definition: oct-cmplx.h:34
Matrix elem_xdiv(double a, const Matrix &b)
Definition: xdiv.cc:200
Matrix xleftdiv(const Matrix &a, const Matrix &b, MatrixType &typ, blas_trans_type transt=blas_no_trans)
Definition: xdiv.cc:347
OCTAVE_NAMESPACE_BEGIN Matrix xdiv(const Matrix &a, const Matrix &b, MatrixType &typ)
Definition: xdiv.cc:124