44 float*,
const octave_idx_type&,
float*,
float*,
45 const octave_idx_type&, octave_idx_type&);
48 F77_FUNC (sorgqr, SORGQR) (
const octave_idx_type&,
const octave_idx_type&,
49 const octave_idx_type&,
float*,
50 const octave_idx_type&,
float*,
float*,
51 const octave_idx_type&, octave_idx_type&);
56 F77_FUNC (sqr1up, SQR1UP) (
const octave_idx_type&,
const octave_idx_type&,
57 const octave_idx_type&,
float*,
58 const octave_idx_type&,
float*,
59 const octave_idx_type&,
float*,
float*,
float*);
62 F77_FUNC (sqrinc, SQRINC) (
const octave_idx_type&,
const octave_idx_type&,
63 const octave_idx_type&,
float*,
64 const octave_idx_type&,
float*,
65 const octave_idx_type&,
66 const octave_idx_type&,
const float*,
float*);
69 F77_FUNC (sqrdec, SQRDEC) (
const octave_idx_type&,
const octave_idx_type&,
70 const octave_idx_type&,
float*,
71 const octave_idx_type&,
float*,
72 const octave_idx_type&,
73 const octave_idx_type&,
float*);
76 F77_FUNC (sqrinr, SQRINR) (
const octave_idx_type&,
const octave_idx_type&,
77 float*,
const octave_idx_type&,
78 float*,
const octave_idx_type&,
79 const octave_idx_type&,
const float*,
float*);
82 F77_FUNC (sqrder, SQRDER) (
const octave_idx_type&,
const octave_idx_type&,
83 float*,
const octave_idx_type&,
84 float*,
const octave_idx_type&,
85 const octave_idx_type&,
float*);
88 F77_FUNC (sqrshc, SQRSHC) (
const octave_idx_type&,
const octave_idx_type&,
89 const octave_idx_type&,
float*,
90 const octave_idx_type&,
float*,
91 const octave_idx_type&,
92 const octave_idx_type&,
const octave_idx_type&,
127 lwork =
std::max (lwork, static_cast<octave_idx_type> (1));
133 form (n, afact, tau, qr_type);
148 afact.
elem (i, j) *= tau[j];
180 afact.
xelem (i, j) = 0;
196 lwork =
std::max (lwork, static_cast<octave_idx_type> (1));
257 else if (j < 0 || j > n)
258 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
291 dups = dups && js(i) == js(i+1);
294 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
297 else if (nj > 0 && (js(0) < 0 || js(nj-1) > n))
298 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
332 if (j < 0 || j > n-1)
333 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
364 dups = dups && js(i) == js(i+1);
367 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
368 else if (nj > 0 && (js(0) > n-1 || js(nj-1) < 0))
376 F77_XFCN (sqrdec, SQRDEC, (m, n - ii, k == m ? k : k - ii,
403 else if (j < 0 || j > m)
404 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
426 else if (j < 0 || j > m-1)
427 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
447 if (i < 0 || i > n-1 || j < 0 || j > n-1)
448 (*current_liboctave_error_handler) (
"qrshift: index out of range");
466 warn_qrupdate_once ();
482 warn_qrupdate_once ();
561 warn_qrupdate_once ();
568 else if (j < 0 || j > n)
569 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
579 warn_qrupdate_once ();
589 dups = dups && js(i) == js(i+1);
592 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
595 else if (nj > 0 && (js(0) < 0 || js(nj-1) > n))
596 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
609 warn_qrupdate_once ();
614 if (j < 0 || j > n-1)
615 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
625 warn_qrupdate_once ();
635 dups = dups && js(i) == js(i+1);
638 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
639 else if (nj > 0 && (js(0) > n-1 || js(nj-1) < 0))
653 warn_qrupdate_once ();
660 else if (j < 0 || j > m)
661 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
671 warn_qrupdate_once ();
678 else if (j < 0 || j > m-1)
679 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
689 warn_qrupdate_once ();
694 if (i < 0 || i > n-1 || j < 0 || j > n-1)
695 (*current_liboctave_error_handler) (
"qrshift: index out of range");