45 FloatComplex*, FloatComplex*,
46 const octave_idx_type&, octave_idx_type&);
49 F77_FUNC (cungqr, CUNGQR) (
const octave_idx_type&,
const octave_idx_type&,
50 const octave_idx_type&, FloatComplex*,
51 const octave_idx_type&, FloatComplex*,
52 FloatComplex*,
const octave_idx_type&,
58 F77_FUNC (cqr1up, CQR1UP) (
const octave_idx_type&,
const octave_idx_type&,
59 const octave_idx_type&, FloatComplex*,
60 const octave_idx_type&, FloatComplex*,
61 const octave_idx_type&, FloatComplex*,
62 FloatComplex*, FloatComplex*,
float*);
65 F77_FUNC (cqrinc, CQRINC) (
const octave_idx_type&,
const octave_idx_type&,
66 const octave_idx_type&, FloatComplex*,
67 const octave_idx_type&, FloatComplex*,
68 const octave_idx_type&,
const octave_idx_type&,
69 const FloatComplex*,
float*);
72 F77_FUNC (cqrdec, CQRDEC) (
const octave_idx_type&,
const octave_idx_type&,
73 const octave_idx_type&, FloatComplex*,
74 const octave_idx_type&, FloatComplex*,
75 const octave_idx_type&,
const octave_idx_type&,
79 F77_FUNC (cqrinr, CQRINR) (
const octave_idx_type&,
const octave_idx_type&,
80 FloatComplex*,
const octave_idx_type&,
81 FloatComplex*,
const octave_idx_type&,
82 const octave_idx_type&,
const FloatComplex*,
86 F77_FUNC (cqrder, CQRDER) (
const octave_idx_type&,
const octave_idx_type&,
87 FloatComplex*,
const octave_idx_type&,
88 FloatComplex*,
const octave_idx_type&,
89 const octave_idx_type&, FloatComplex*,
float*);
92 F77_FUNC (cqrshc, CQRSHC) (
const octave_idx_type&,
const octave_idx_type&,
93 const octave_idx_type&, FloatComplex*,
94 const octave_idx_type&, FloatComplex*,
95 const octave_idx_type&,
const octave_idx_type&,
96 const octave_idx_type&, FloatComplex*,
131 lwork =
std::max (lwork, static_cast<octave_idx_type> (1));
137 form (n, afact, tau, qr_type);
152 afact.
elem (i, j) *= tau[j];
184 afact.
xelem (i, j) = 0;
200 lwork =
std::max (lwork, static_cast<octave_idx_type> (1));
267 else if (j < 0 || j > n)
268 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
302 dups = dups && js(i) == js(i+1);
305 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
308 else if (nj > 0 && (js(0) < 0 || js(nj-1) > n))
309 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
342 if (j < 0 || j > n-1)
343 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
374 dups = dups && js(i) == js(i+1);
377 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
378 else if (nj > 0 && (js(0) > n-1 || js(nj-1) < 0))
386 F77_XFCN (cqrdec, CQRDEC, (m, n - ii, k == m ? k : k - ii,
413 else if (j < 0 || j > m)
414 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
436 else if (j < 0 || j > m-1)
437 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
458 if (i < 0 || i > n-1 || j < 0 || j > n-1)
459 (*current_liboctave_error_handler) (
"qrshift: index out of range");
467 i + 1, j + 1,
w, rw));
479 warn_qrupdate_once ();
497 warn_qrupdate_once ();
577 warn_qrupdate_once ();
584 else if (j < 0 || j > n)
585 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
596 warn_qrupdate_once ();
606 dups = dups && js(i) == js(i+1);
609 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
612 else if (nj > 0 && (js(0) < 0 || js(nj-1) > n))
613 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
626 warn_qrupdate_once ();
631 if (j < 0 || j > n-1)
632 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
642 warn_qrupdate_once ();
652 dups = dups && js(i) == js(i+1);
655 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
656 else if (nj > 0 && (js(0) > n-1 || js(nj-1) < 0))
670 warn_qrupdate_once ();
677 else if (j < 0 || j > m)
678 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
688 warn_qrupdate_once ();
695 else if (j < 0 || j > m-1)
696 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
706 warn_qrupdate_once ();
711 if (i < 0 || i > n-1 || j < 0 || j > n-1)
712 (*current_liboctave_error_handler) (
"qrshift: index out of range");