comparison liboctave/SparsedbleLU.cc @ 11586:12df7854fa7c

strip trailing whitespace from source files
author John W. Eaton <jwe@octave.org>
date Thu, 20 Jan 2011 17:24:59 -0500
parents a83bad07f7e3
children 72c96de7a403
comparison
equal deleted inserted replaced
11585:1473d0cf86d2 11586:12df7854fa7c
101 int status = UMFPACK_DNAME (qsymbolic) (nr, nc, Ap, Ai, Ax, 0, 101 int status = UMFPACK_DNAME (qsymbolic) (nr, nc, Ap, Ai, Ax, 0,
102 &Symbolic, control, info); 102 &Symbolic, control, info);
103 103
104 if (status < 0) 104 if (status < 0)
105 { 105 {
106 (*current_liboctave_error_handler) 106 (*current_liboctave_error_handler)
107 ("SparseLU::SparseLU symbolic factorization failed"); 107 ("SparseLU::SparseLU symbolic factorization failed");
108 108
109 UMFPACK_DNAME (report_status) (control, status); 109 UMFPACK_DNAME (report_status) (control, status);
110 UMFPACK_DNAME (report_info) (control, info); 110 UMFPACK_DNAME (report_info) (control, info);
111 111
114 else 114 else
115 { 115 {
116 UMFPACK_DNAME (report_symbolic) (Symbolic, control); 116 UMFPACK_DNAME (report_symbolic) (Symbolic, control);
117 117
118 void *Numeric; 118 void *Numeric;
119 status = UMFPACK_DNAME (numeric) (Ap, Ai, Ax, Symbolic, 119 status = UMFPACK_DNAME (numeric) (Ap, Ai, Ax, Symbolic,
120 &Numeric, control, info) ; 120 &Numeric, control, info) ;
121 UMFPACK_DNAME (free_symbolic) (&Symbolic) ; 121 UMFPACK_DNAME (free_symbolic) (&Symbolic) ;
122 122
123 cond = Info (UMFPACK_RCOND); 123 cond = Info (UMFPACK_RCOND);
124 124
125 if (status < 0) 125 if (status < 0)
126 { 126 {
127 (*current_liboctave_error_handler) 127 (*current_liboctave_error_handler)
128 ("SparseLU::SparseLU numeric factorization failed"); 128 ("SparseLU::SparseLU numeric factorization failed");
129 129
130 UMFPACK_DNAME (report_status) (control, status); 130 UMFPACK_DNAME (report_status) (control, status);
131 UMFPACK_DNAME (report_info) (control, info); 131 UMFPACK_DNAME (report_info) (control, info);
132 132
137 UMFPACK_DNAME (report_numeric) (Numeric, control); 137 UMFPACK_DNAME (report_numeric) (Numeric, control);
138 138
139 octave_idx_type lnz, unz, ignore1, ignore2, ignore3; 139 octave_idx_type lnz, unz, ignore1, ignore2, ignore3;
140 status = UMFPACK_DNAME (get_lunz) (&lnz, &unz, &ignore1, 140 status = UMFPACK_DNAME (get_lunz) (&lnz, &unz, &ignore1,
141 &ignore2, &ignore3, Numeric) ; 141 &ignore2, &ignore3, Numeric) ;
142 142
143 if (status < 0) 143 if (status < 0)
144 { 144 {
145 (*current_liboctave_error_handler) 145 (*current_liboctave_error_handler)
146 ("SparseLU::SparseLU extracting LU factors failed"); 146 ("SparseLU::SparseLU extracting LU factors failed");
147 147
148 UMFPACK_DNAME (report_status) (control, status); 148 UMFPACK_DNAME (report_status) (control, status);
149 UMFPACK_DNAME (report_info) (control, info); 149 UMFPACK_DNAME (report_info) (control, info);
150 150
190 octave_idx_type *q = Q.fortran_vec (); 190 octave_idx_type *q = Q.fortran_vec ();
191 191
192 octave_idx_type do_recip; 192 octave_idx_type do_recip;
193 status = UMFPACK_DNAME (get_numeric) (Ltp, Ltj, Ltx, 193 status = UMFPACK_DNAME (get_numeric) (Ltp, Ltj, Ltx,
194 Up, Uj, Ux, p, q, 0, 194 Up, Uj, Ux, p, q, 0,
195 &do_recip, Rx, 195 &do_recip, Rx,
196 Numeric) ; 196 Numeric) ;
197 197
198 UMFPACK_DNAME (free_numeric) (&Numeric) ; 198 UMFPACK_DNAME (free_numeric) (&Numeric) ;
199 199
200 if (status < 0) 200 if (status < 0)
201 { 201 {
202 (*current_liboctave_error_handler) 202 (*current_liboctave_error_handler)
203 ("SparseLU::SparseLU extracting LU factors failed"); 203 ("SparseLU::SparseLU extracting LU factors failed");
204 204
205 UMFPACK_DNAME (report_status) (control, status); 205 UMFPACK_DNAME (report_status) (control, status);
206 } 206 }
207 else 207 else
210 210
211 if (do_recip) 211 if (do_recip)
212 for (octave_idx_type i = 0; i < nr; i++) 212 for (octave_idx_type i = 0; i < nr; i++)
213 Rx[i] = 1.0 / Rx[i]; 213 Rx[i] = 1.0 / Rx[i];
214 214
215 UMFPACK_DNAME (report_matrix) (nr, n_inner, 215 UMFPACK_DNAME (report_matrix) (nr, n_inner,
216 Lfact.cidx (), Lfact.ridx (), 216 Lfact.cidx (), Lfact.ridx (),
217 Lfact.data (), 1, control); 217 Lfact.data (), 1, control);
218 UMFPACK_DNAME (report_matrix) (n_inner, nc, 218 UMFPACK_DNAME (report_matrix) (n_inner, nc,
219 Ufact.cidx (), Ufact.ridx (), 219 Ufact.cidx (), Ufact.ridx (),
220 Ufact.data (), 1, control); 220 Ufact.data (), 1, control);
221 UMFPACK_DNAME (report_perm) (nr, p, control); 221 UMFPACK_DNAME (report_perm) (nr, p, control);
222 UMFPACK_DNAME (report_perm) (nc, q, control); 222 UMFPACK_DNAME (report_perm) (nc, q, control);
223 } 223 }
235 const Matrix& piv_thres, bool scale, bool FixedQ, 235 const Matrix& piv_thres, bool scale, bool FixedQ,
236 double droptol, bool milu, bool udiag) 236 double droptol, bool milu, bool udiag)
237 { 237 {
238 #ifdef HAVE_UMFPACK 238 #ifdef HAVE_UMFPACK
239 if (milu) 239 if (milu)
240 (*current_liboctave_error_handler) 240 (*current_liboctave_error_handler)
241 ("Modified incomplete LU not implemented"); 241 ("Modified incomplete LU not implemented");
242 else 242 else
243 { 243 {
244 octave_idx_type nr = a.rows (); 244 octave_idx_type nr = a.rows ();
245 octave_idx_type nc = a.cols (); 245 octave_idx_type nc = a.cols ();
246 246
296 296
297 const octave_idx_type *Ap = a.cidx (); 297 const octave_idx_type *Ap = a.cidx ();
298 const octave_idx_type *Ai = a.ridx (); 298 const octave_idx_type *Ai = a.ridx ();
299 const double *Ax = a.data (); 299 const double *Ax = a.data ();
300 300
301 UMFPACK_DNAME (report_matrix) (nr, nc, Ap, Ai, Ax, 1, 301 UMFPACK_DNAME (report_matrix) (nr, nc, Ap, Ai, Ax, 1,
302 control); 302 control);
303 303
304 void *Symbolic; 304 void *Symbolic;
305 Matrix Info (1, UMFPACK_INFO); 305 Matrix Info (1, UMFPACK_INFO);
306 double *info = Info.fortran_vec (); 306 double *info = Info.fortran_vec ();
311 OCTAVE_LOCAL_BUFFER (octave_idx_type, qinit, nc); 311 OCTAVE_LOCAL_BUFFER (octave_idx_type, qinit, nc);
312 312
313 for (octave_idx_type i = 0; i < nc; i++) 313 for (octave_idx_type i = 0; i < nc; i++)
314 qinit [i] = static_cast<octave_idx_type> (Qinit (i)); 314 qinit [i] = static_cast<octave_idx_type> (Qinit (i));
315 315
316 status = UMFPACK_DNAME (qsymbolic) (nr, nc, Ap, Ai, Ax, 316 status = UMFPACK_DNAME (qsymbolic) (nr, nc, Ap, Ai, Ax,
317 qinit, &Symbolic, control, info); 317 qinit, &Symbolic, control, info);
318 } while (0); 318 } while (0);
319 319
320 if (status < 0) 320 if (status < 0)
321 { 321 {
322 (*current_liboctave_error_handler) 322 (*current_liboctave_error_handler)
323 ("SparseLU::SparseLU symbolic factorization failed"); 323 ("SparseLU::SparseLU symbolic factorization failed");
324 324
325 UMFPACK_DNAME (report_status) (control, status); 325 UMFPACK_DNAME (report_status) (control, status);
326 UMFPACK_DNAME (report_info) (control, info); 326 UMFPACK_DNAME (report_info) (control, info);
327 327
338 338
339 cond = Info (UMFPACK_RCOND); 339 cond = Info (UMFPACK_RCOND);
340 340
341 if (status < 0) 341 if (status < 0)
342 { 342 {
343 (*current_liboctave_error_handler) 343 (*current_liboctave_error_handler)
344 ("SparseLU::SparseLU numeric factorization failed"); 344 ("SparseLU::SparseLU numeric factorization failed");
345 345
346 UMFPACK_DNAME (report_status) (control, status); 346 UMFPACK_DNAME (report_status) (control, status);
347 UMFPACK_DNAME (report_info) (control, info); 347 UMFPACK_DNAME (report_info) (control, info);
348 348
353 UMFPACK_DNAME (report_numeric) (Numeric, control); 353 UMFPACK_DNAME (report_numeric) (Numeric, control);
354 354
355 octave_idx_type lnz, unz, ignore1, ignore2, ignore3; 355 octave_idx_type lnz, unz, ignore1, ignore2, ignore3;
356 status = UMFPACK_DNAME (get_lunz) (&lnz, &unz, &ignore1, &ignore2, 356 status = UMFPACK_DNAME (get_lunz) (&lnz, &unz, &ignore1, &ignore2,
357 &ignore3, Numeric) ; 357 &ignore3, Numeric) ;
358 358
359 if (status < 0) 359 if (status < 0)
360 { 360 {
361 (*current_liboctave_error_handler) 361 (*current_liboctave_error_handler)
362 ("SparseLU::SparseLU extracting LU factors failed"); 362 ("SparseLU::SparseLU extracting LU factors failed");
363 363
364 UMFPACK_DNAME (report_status) (control, status); 364 UMFPACK_DNAME (report_status) (control, status);
365 UMFPACK_DNAME (report_info) (control, info); 365 UMFPACK_DNAME (report_info) (control, info);
366 366
405 Q.resize (dim_vector (nc, 1)); 405 Q.resize (dim_vector (nc, 1));
406 octave_idx_type *q = Q.fortran_vec (); 406 octave_idx_type *q = Q.fortran_vec ();
407 407
408 octave_idx_type do_recip; 408 octave_idx_type do_recip;
409 status = UMFPACK_DNAME (get_numeric) (Ltp, Ltj, 409 status = UMFPACK_DNAME (get_numeric) (Ltp, Ltj,
410 Ltx, Up, Uj, Ux, p, q, 410 Ltx, Up, Uj, Ux, p, q,
411 0, &do_recip, 411 0, &do_recip,
412 Rx, Numeric) ; 412 Rx, Numeric) ;
413 413
414 UMFPACK_DNAME (free_numeric) (&Numeric) ; 414 UMFPACK_DNAME (free_numeric) (&Numeric) ;
415 415
416 if (status < 0) 416 if (status < 0)
417 { 417 {
418 (*current_liboctave_error_handler) 418 (*current_liboctave_error_handler)
419 ("SparseLU::SparseLU extracting LU factors failed"); 419 ("SparseLU::SparseLU extracting LU factors failed");
420 420
421 UMFPACK_DNAME (report_status) (control, status); 421 UMFPACK_DNAME (report_status) (control, status);
422 } 422 }
423 else 423 else
426 426
427 if (do_recip) 427 if (do_recip)
428 for (octave_idx_type i = 0; i < nr; i++) 428 for (octave_idx_type i = 0; i < nr; i++)
429 Rx[i] = 1.0 / Rx[i]; 429 Rx[i] = 1.0 / Rx[i];
430 430
431 UMFPACK_DNAME (report_matrix) (nr, n_inner, 431 UMFPACK_DNAME (report_matrix) (nr, n_inner,
432 Lfact.cidx (), 432 Lfact.cidx (),
433 Lfact.ridx (), 433 Lfact.ridx (),
434 Lfact.data (), 434 Lfact.data (),
435 1, control); 435 1, control);
436 UMFPACK_DNAME (report_matrix) (n_inner, nc, 436 UMFPACK_DNAME (report_matrix) (n_inner, nc,
437 Ufact.cidx (), 437 Ufact.cidx (),
438 Ufact.ridx (), 438 Ufact.ridx (),
439 Ufact.data (), 439 Ufact.data (),
440 1, control); 440 1, control);
441 UMFPACK_DNAME (report_perm) (nr, p, control); 441 UMFPACK_DNAME (report_perm) (nr, p, control);
442 UMFPACK_DNAME (report_perm) (nc, q, control); 442 UMFPACK_DNAME (report_perm) (nc, q, control);
443 } 443 }
446 } 446 }
447 } 447 }
448 } 448 }
449 449
450 if (udiag) 450 if (udiag)
451 (*current_liboctave_error_handler) 451 (*current_liboctave_error_handler)
452 ("Option udiag of incomplete LU not implemented"); 452 ("Option udiag of incomplete LU not implemented");
453 } 453 }
454 #else 454 #else
455 (*current_liboctave_error_handler) ("UMFPACK not installed"); 455 (*current_liboctave_error_handler) ("UMFPACK not installed");
456 #endif 456 #endif
457 } 457 }