Mercurial > octave
annotate liboctave/numeric/eigs-base.h @ 21213:f7d1050b9b53
maint: Clean up various usages of #ifdef.
* randmtzig.c: Use #ifdef rather than just #if.
* EditControl.h : Use '#if ! defined' rather than '#ifndef' in
guard block to match Octave style.
* dialog.cc, settings-dialog.cc: Add FIXME notes about questionable use of #if
mechanism.
* file-editor-tab.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-f.cc,
Array-i.cc, Array-s.cc, MatrixType.h, quit.h, lo-sysdep.cc, lo-cutils.c,
oct-alloc.h, oct-shlib.cc, sparse-sort.h: #define HAVE_XXX macros to 1, not
just empty but defined.
* octave-txt-lexer.h, octave-cmd.h, octave-preserve-stream-state.h, txt-eng.h,
zfstream.h, oct-conf-features.h, oct-conf.h: Use octave_ namespace prefix on
name of #define used to prevent multiple inclusion of headers.
* parser.h, webinfo.h, ov-oncleanup.h, op-int.h, display-available.h,
shared-fcns.h: Add #define guard to prevent multiple inclusion.
* quadcc.cc: use all capitals for #define MIN_CQUAD_HEAPSIZE.
* ov-intx.h: Add note that this file must not use guard #define.
* eigs-base.h, randmtzig.h: Write '! defined' rather than '!defined'.
* file-ops.cc, oct-sparse.h: Use parentheses around complex #if tests.
* oct-syscalls.cc, oct-base64.cc, statdefs.h: Indent #ifdef blocks correctly.
* oct-conf-post.in.h: Use "! defined". Define macros to 1, not just empty but
defined.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 06 Feb 2016 18:22:32 -0800 |
parents | 342764537e5a |
children | 1473547f50f5 |
rev | line source |
---|---|
21190 | 1 /* |
2 | |
3 Copyright (C) 2005-2015 David Bateman | |
4 | |
5 This file is part of Octave. | |
6 | |
7 Octave is free software; you can redistribute it and/or modify it | |
8 under the terms of the GNU General Public License as published by the | |
9 Free Software Foundation; either version 3 of the License, or (at your | |
10 option) any later version. | |
11 | |
12 Octave is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with Octave; see the file COPYING. If not, see | |
19 <http://www.gnu.org/licenses/>. | |
20 | |
21 */ | |
22 | |
21213
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21190
diff
changeset
|
23 #if ! defined (octave_eigs_base_h) |
21190 | 24 #define octave_eigs_base_h 1 |
25 | |
26 #include <iosfwd> | |
27 | |
28 class ColumnVector; | |
29 class ComplexColumnVector; | |
30 class Matrix; | |
31 class ComplexMatrix; | |
32 | |
33 typedef ColumnVector (*EigsFunc) (const ColumnVector& x, int& eigs_error); | |
34 | |
35 typedef ComplexColumnVector (*EigsComplexFunc) (const ComplexColumnVector& x, int& eigs_error); | |
36 | |
37 template <typename M> | |
38 octave_idx_type | |
39 EigsRealSymmetricMatrix (const M& m, const std::string typ, | |
40 octave_idx_type k, octave_idx_type p, | |
41 octave_idx_type& info, Matrix& eig_vec, | |
42 ColumnVector& eig_val, const M& _b, | |
43 ColumnVector& permB, ColumnVector& resid, | |
44 std::ostream& os, double tol, bool rvec, | |
45 bool cholB, int disp, int maxit); | |
46 | |
47 template <typename M> | |
48 octave_idx_type | |
49 EigsRealSymmetricMatrixShift (const M& m, double sigma, | |
50 octave_idx_type k, octave_idx_type p, | |
51 octave_idx_type& info, Matrix& eig_vec, | |
52 ColumnVector& eig_val, const M& _b, | |
53 ColumnVector& permB, ColumnVector& resid, | |
54 std::ostream& os, double tol, bool rvec, | |
55 bool cholB, int disp, int maxit); | |
56 | |
57 extern OCTAVE_API octave_idx_type | |
58 EigsRealSymmetricFunc (EigsFunc fun, octave_idx_type n, | |
59 const std::string& _typ, double sigma, | |
60 octave_idx_type k, octave_idx_type p, | |
61 octave_idx_type& info, Matrix& eig_vec, | |
62 ColumnVector& eig_val, ColumnVector& resid, | |
63 std::ostream& os, double tol, bool rvec, | |
64 bool /* cholB */, int disp, int maxit); | |
65 | |
66 template <typename M> | |
67 octave_idx_type | |
68 EigsRealNonSymmetricMatrix (const M& m, const std::string typ, | |
69 octave_idx_type k, octave_idx_type p, | |
70 octave_idx_type& info, ComplexMatrix& eig_vec, | |
71 ComplexColumnVector& eig_val, const M& _b, | |
72 ColumnVector& permB, ColumnVector& resid, | |
73 std::ostream& os, double tol, bool rvec, | |
74 bool cholB, int disp, int maxit); | |
75 | |
76 template <typename M> | |
77 octave_idx_type | |
78 EigsRealNonSymmetricMatrixShift (const M& m, double sigmar, | |
79 octave_idx_type k, octave_idx_type p, | |
80 octave_idx_type& info, | |
81 ComplexMatrix& eig_vec, | |
82 ComplexColumnVector& eig_val, const M& _b, | |
83 ColumnVector& permB, ColumnVector& resid, | |
84 std::ostream& os, double tol, bool rvec, | |
85 bool cholB, int disp, int maxit); | |
86 | |
87 extern OCTAVE_API octave_idx_type | |
88 EigsRealNonSymmetricFunc (EigsFunc fun, octave_idx_type n, | |
89 const std::string& _typ, double sigmar, | |
90 octave_idx_type k, octave_idx_type p, | |
91 octave_idx_type& info, ComplexMatrix& eig_vec, | |
92 ComplexColumnVector& eig_val, ColumnVector& resid, | |
93 std::ostream& os, double tol, bool rvec, | |
94 bool /* cholB */, int disp, int maxit); | |
95 | |
96 template <typename M> | |
97 octave_idx_type | |
98 EigsComplexNonSymmetricMatrix (const M& m, const std::string typ, | |
99 octave_idx_type k, octave_idx_type p, | |
100 octave_idx_type& info, ComplexMatrix& eig_vec, | |
101 ComplexColumnVector& eig_val, const M& _b, | |
102 ColumnVector& permB, | |
103 ComplexColumnVector& cresid, | |
104 std::ostream& os, double tol, bool rvec, | |
105 bool cholB, int disp, int maxit); | |
106 | |
107 template <typename M> | |
108 octave_idx_type | |
109 EigsComplexNonSymmetricMatrixShift (const M& m, Complex sigma, | |
110 octave_idx_type k, octave_idx_type p, | |
111 octave_idx_type& info, | |
112 ComplexMatrix& eig_vec, | |
113 ComplexColumnVector& eig_val, const M& _b, | |
114 ColumnVector& permB, | |
115 ComplexColumnVector& cresid, | |
116 std::ostream& os, double tol, bool rvec, | |
117 bool cholB, int disp, int maxit); | |
118 | |
119 extern OCTAVE_API octave_idx_type | |
120 EigsComplexNonSymmetricFunc (EigsComplexFunc fun, octave_idx_type n, | |
121 const std::string& _typ, Complex sigma, | |
122 octave_idx_type k, octave_idx_type p, | |
123 octave_idx_type& info, ComplexMatrix& eig_vec, | |
124 ComplexColumnVector& eig_val, | |
125 ComplexColumnVector& cresid, std::ostream& os, | |
126 double tol, bool rvec, bool /* cholB */, | |
127 int disp, int maxit); | |
128 | |
129 #endif |