Mercurial > hg > octave-terminal
changeset 1950:ab6abe89aaa1
[project @ 1996-02-14 04:36:21 by jwe]
author | jwe |
---|---|
date | Wed, 14 Feb 1996 04:38:44 +0000 |
parents | 4689b52b4c6f |
children | db375ab88640 |
files | liboctave/CMatrix.cc liboctave/dMatrix.cc |
diffstat | 2 files changed, 31 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/CMatrix.cc +++ b/liboctave/CMatrix.cc @@ -3685,16 +3685,23 @@ double scale; int info; + + Complex *pa = sch_a.fortran_vec (); + Complex *pb = sch_b.fortran_vec (); + Complex *px = cx.fortran_vec (); - F77_FCN (ztrsyl, ZTRSYL) ("N", "N", 1, a_nr, b_nr, - sch_a.fortran_vec (), a_nr, - sch_b.fortran_vec (), b_nr, - cx.fortran_vec (), a_nr, scale, - info, 1L, 1L); - - // XXX FIXME XXX -- check info? - - retval = -ua * cx * ub.hermitian (); + F77_XFCN (ztrsyl, ZTRSYL, ("N", "N", 1, a_nr, b_nr, pa, a_nr, pb, + b_nr, px, a_nr, scale, + info, 1L, 1L)); + + if (f77_exception_encountered) + (*current_liboctave_error_handler) ("unrecoverable error in ztrsyl"); + else + { + // XXX FIXME XXX -- check info? + + retval = -ua * cx * ub.hermitian (); + } return retval; }
--- a/liboctave/dMatrix.cc +++ b/liboctave/dMatrix.cc @@ -2664,16 +2664,22 @@ double scale; int info; - F77_FCN (dtrsyl, DTRSYL) ("N", "N", 1, a_nr, b_nr, - sch_a.fortran_vec (), a_nr, - sch_b.fortran_vec (), b_nr, - cx.fortran_vec (), a_nr, scale, - info, 1L, 1L); - - - // XXX FIXME XXX -- check info? + double *pa = sch_a.fortran_vec (); + double *pb = sch_b.fortran_vec (); + double *px = cx.fortran_vec (); + + F77_XFCN (dtrsyl, DTRSYL, ("N", "N", 1, a_nr, b_nr, pa, a_nr, pb, + b_nr, px, a_nr, scale, info, 1L, 1L)); + + + if (f77_exception_encountered) + (*current_liboctave_error_handler) ("unrecoverable error in dtrsyl"); + else + { + // XXX FIXME XXX -- check info? - retval = -ua*cx*ub.transpose (); + retval = -ua*cx*ub.transpose (); + } return retval; }