Mercurial > hg > octave-lyh
comparison liboctave/Matrix.h @ 232:e1b072bcffb9
[project @ 1993-11-16 10:44:39 by jwe]
author | jwe |
---|---|
date | Tue, 16 Nov 1993 10:44:56 +0000 |
parents | 1a48a1b91489 |
children | 780cbbc57b7c |
comparison
equal
deleted
inserted
replaced
231:9a6ecd8b50bc | 232:e1b072bcffb9 |
---|---|
53 typedef double (*d_d_Mapper)(double); | 53 typedef double (*d_d_Mapper)(double); |
54 typedef double (*d_c_Mapper)(const Complex&); | 54 typedef double (*d_c_Mapper)(const Complex&); |
55 typedef Complex (*c_c_Mapper)(const Complex&); | 55 typedef Complex (*c_c_Mapper)(const Complex&); |
56 | 56 |
57 #endif | 57 #endif |
58 | |
59 #include "f77-uscore.h" | |
60 | |
61 // Fortran functions we call. | |
62 | |
63 extern "C" | |
64 { | |
65 int F77_FCN (dgemm) (const char*, const char*, const int*, | |
66 const int*, const int*, const double*, | |
67 const double*, const int*, const double*, | |
68 const int*, const double*, double*, const int*, | |
69 long, long); | |
70 | |
71 int F77_FCN (dgemv) (const char*, const int*, const int*, | |
72 const double*, const double*, const int*, | |
73 const double*, const int*, const double*, | |
74 double*, const int*, long); | |
75 | |
76 int F77_FCN (dgeco) (double*, const int*, const int*, int*, double*, | |
77 double*); | |
78 | |
79 int F77_FCN (dgesv) (const int*, const int*, double*, const int*, | |
80 int*, double*, const int*, int*); | |
81 | |
82 int F77_FCN (dgeqrf) (const int*, const int*, double*, const int*, | |
83 double*, double*, const int*, int*); | |
84 | |
85 int F77_FCN (dorgqr) (const int*, const int*, const int*, double*, | |
86 const int*, double*, double*, const int*, int*); | |
87 | |
88 int F77_FCN (dgesl) (const double*, const int*, const int*, | |
89 const int*, double*, const int*); | |
90 | |
91 int F77_FCN (dgedi) (double*, const int*, const int*, const int*, | |
92 double*, double*, const int*); | |
93 | |
94 double F77_FCN (ddot) (const int*, const double*, const int*, | |
95 const double*, const int*); | |
96 | |
97 int F77_FCN (dgeev) (const char*, const char*, const int*, double*, | |
98 const int*, double*, double*, double*, | |
99 const int*, double*, const int*, double*, | |
100 const int*, int*, long, long); | |
101 | |
102 int F77_FCN (dgeesx) (const char*, const char*, int (*)(), const char*, | |
103 const int*, double*, const int*, int*, double*, | |
104 double*, double*, const int*, double*, double*, | |
105 double*, const int*, int*, const int*, int*, | |
106 int*, long, long); | |
107 | |
108 int F77_FCN (dhseqr) (const char*, const char*, const int*, | |
109 const int*, const int*, double*, | |
110 const int*, double*, double*, | |
111 double*, const int*, double*, const int*, | |
112 int*, long, long); | |
113 | |
114 int F77_FCN (dgebal) (const char*, const int*, double*, | |
115 const int*, int*, int*, double*, | |
116 int*, long, long); | |
117 | |
118 int F77_FCN (dgebak) (const char*, const char*, const int*, const int*, | |
119 const int*, double*, const int*, double*, const int*, | |
120 int*, long, long); | |
121 | |
122 int F77_FCN (dgehrd) (const int*, const int*, const int*, | |
123 double*, const int*, double*, double*, | |
124 const int*, int*, long, long); | |
125 | |
126 int F77_FCN (dorghr) (const int*, const int*, const int*, | |
127 double*, const int*, double*, double*, | |
128 const int*, int*, long, long); | |
129 | |
130 int F77_FCN (dgesvd) (const char*, const char*, const int*, | |
131 const int*, double*, const int*, double*, | |
132 double*, const int*, double*, const int*, | |
133 double*, const int*, int*, long, long); | |
134 | |
135 int F77_FCN (dgelss) (const int*, const int*, const int*, double*, | |
136 const int*, double*, const int*, double*, | |
137 const double*, int*, double*, const int*, | |
138 int*); | |
139 | |
140 int F77_FCN (dpotrf) (const char*, const int*, double*, const int*, | |
141 int*, long); | |
142 | |
143 // | |
144 // fortran functions for generalized eigenvalue problems | |
145 // | |
146 int F77_FCN (reduce) (const int*, const int*, double*, | |
147 const int*, double*, | |
148 int*, int*, double*, double*); | |
149 | |
150 int F77_FCN (scaleg) (const int*, const int*, double*, | |
151 const int*, double*, | |
152 const int*, const int*, double*, double*, double*); | |
153 | |
154 int F77_FCN (gradeq) (const int*, const int*, double*, | |
155 const int*, double*, | |
156 int*, int*, double*, double*); | |
157 | |
158 /* | |
159 * f2c translates complex*16 as | |
160 * | |
161 * typedef struct { doublereal re, im; } doublecomplex; | |
162 * | |
163 * and Complex.h from libg++ uses | |
164 * | |
165 * protected: | |
166 * double re; | |
167 * double im; | |
168 * | |
169 * as the only data members, so this should work (fingers crossed that | |
170 * things don't change). | |
171 */ | |
172 | |
173 int F77_FCN (zgemm) (const char*, const char*, const int*, | |
174 const int*, const int*, const Complex*, | |
175 const Complex*, const int*, const Complex*, | |
176 const int*, const Complex*, Complex*, const int*, | |
177 long, long); | |
178 | |
179 int F77_FCN (zgemv) (const char*, const int*, const int*, | |
180 const Complex*, const Complex*, const int*, | |
181 const Complex*, const int*, const Complex*, | |
182 Complex*, const int*, long); | |
183 | |
184 int F77_FCN (zgeco) (Complex*, const int*, const int*, int*, | |
185 double*, Complex*); | |
186 | |
187 int F77_FCN (zgesv) (const int*, const int*, Complex*, const int*, | |
188 int*, Complex*, const int*, int*); | |
189 | |
190 int F77_FCN (zgeqrf) (const int*, const int*, Complex*, const int*, | |
191 Complex*, Complex*, const int*, int*); | |
192 | |
193 int F77_FCN (zgeesx) (const char*, const char*, int (*)(), const char*, | |
194 const int*, Complex*, const int*, int*, | |
195 Complex*, Complex*, const int*, double*, double*, | |
196 Complex*, const int*, double*, int*, int*, | |
197 long, long); | |
198 | |
199 int F77_FCN (zhseqr) (const char*, const char*, const int*, | |
200 const int*, const int*, Complex*, const int*, | |
201 Complex*, Complex*, const int*, Complex*, | |
202 const int*, int*, long, long); | |
203 | |
204 int F77_FCN (zgebal) (const char*, const int*, Complex*, const int*, | |
205 int*, int*, double*, int*, long, long); | |
206 | |
207 int F77_FCN (zgebak) (const char*, const char*, const int*, const int*, | |
208 const int*, double*, const int*, Complex*, | |
209 const int*, int*, long, long); | |
210 | |
211 int F77_FCN (zgehrd) (const int*, const int*, const int*, Complex*, | |
212 const int*, Complex*, Complex*, const int*, | |
213 int*, long, long); | |
214 | |
215 int F77_FCN (zunghr) (const int*, const int*, const int*, Complex*, | |
216 const int*, Complex*, Complex*, const int*, | |
217 int*, long, long); | |
218 | |
219 int F77_FCN (zungqr) (const int*, const int*, const int*, Complex*, | |
220 const int*, Complex*, Complex*, const int*, int*); | |
221 | |
222 int F77_FCN (zgedi) (Complex*, const int*, const int*, int*, | |
223 Complex*, Complex*, const int*); | |
224 | |
225 int F77_FCN (zgesl) (Complex*, const int*, const int*, int*, | |
226 Complex*, const int*); | |
227 | |
228 int F77_FCN (zgeev) (const char*, const char*, const int*, Complex*, | |
229 const int*, Complex*, Complex*, const int*, | |
230 Complex*, const int*, Complex*, const int*, | |
231 double*, int*, long, long); | |
232 | |
233 int F77_FCN (zgesvd) (const char*, const char*, const int*, | |
234 const int*, Complex*, const int*, double*, | |
235 Complex*, const int*, Complex*, const int*, | |
236 Complex*, const int*, double*, int*, long, long); | |
237 | |
238 int F77_FCN (zgelss) (const int*, const int*, const int*, Complex*, | |
239 const int*, Complex*, const int*, double*, | |
240 const double*, int*, Complex*, const int*, | |
241 double*, int*); | |
242 | |
243 int F77_FCN (zpotrf) (const char*, const int*, Complex*, const int*, | |
244 int*, long); | |
245 | |
246 | |
247 // Note that the original complex fft routines were not written for | |
248 // double complex arguments. They have been modified by adding an | |
249 // implicit double precision (a-h,o-z) statement at the beginning of | |
250 // each subroutine. | |
251 | |
252 int F77_FCN (cffti) (const int*, Complex*); | |
253 | |
254 int F77_FCN (cfftf) (const int*, Complex*, Complex*); | |
255 | |
256 int F77_FCN (cfftb) (const int*, Complex*, Complex*); | |
257 | |
258 } | |
259 | 58 |
260 // Classes we declare. | 59 // Classes we declare. |
261 | 60 |
262 class Matrix; | 61 class Matrix; |
263 class ColumnVector; | 62 class ColumnVector; |