26#if defined (HAVE_CONFIG_H)
55 if (args.length () != 3)
60 Matrix M = args(2).matrix_value ();
65 error (
"trexc: T must be a square matrix");
67 if (U.
rows () != n || U.
cols () != n)
68 error (
"trexc: U must have the same dimensions as T");
71 error (
"trexc: M must have exactly 2 columns [IFST, ILST]");
82 F77_INT ifst = octave::to_f77_int (
static_cast<int> (
M(k, 0)));
83 F77_INT ilst = octave::to_f77_int (
static_cast<int> (
M(k, 1)));
86 if (ifst < 1 || ifst > n || ilst < 1 || ilst > n)
87 error (
"trexc: indices in M must be between 1 and %d", n);
90 (F77_CONST_CHAR_ARG (
"V"),
99 F77_CHAR_ARG_LEN (1)));
102 error (
"trexc: ZTREXC failed with info = %d", info);
108OCTAVE_END_NAMESPACE(octave)
T * fortran_vec()
Size of the specified dimension.
octave_idx_type rows() const
octave_idx_type cols() const
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
#define DEFUN(name, args_name, nargout_name, doc)
Macro to define a builtin function.
void error(const char *fmt,...)
#define F77_DBLE_CMPLX_ARG(x)
#define F77_XFCN(f, F, args)
octave_f77_int_type F77_INT
F77_RET_T const F77_INT const F77_INT const F77_INT const F77_DBLE const F77_DBLE F77_INT & M
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.