diff liboctave/dbleSCHUR.cc @ 1756:1af643fa00e3

[project @ 1996-01-22 04:55:17 by jwe]
author jwe
date Mon, 22 Jan 1996 04:55:17 +0000
parents b0b22b6ce22f
children 2ffe49eb95a5
line wrap: on
line diff
--- a/liboctave/dbleSCHUR.cc	Mon Jan 22 04:47:22 1996 +0000
+++ b/liboctave/dbleSCHUR.cc	Mon Jan 22 04:55:17 1996 +0000
@@ -60,7 +60,7 @@
 }
 
 int
-SCHUR::init (const Matrix& a, const char *ord)
+SCHUR::init (const Matrix& a, const string& ord)
 {
   int a_nr = a.rows ();
   int a_nc = a.cols ();
@@ -73,7 +73,9 @@
   char *jobvs = "V";
   char *sort;
 
-  if (*ord == 'A' || *ord == 'D' || *ord == 'a' || *ord == 'd')
+  char ord_char = ord.empty () ? 'U' : ord[0];
+
+  if (ord_char == 'A' || ord_char == 'D' || ord_char == 'a' || ord_char == 'd')
     sort = "S";
   else
     sort = "N";
@@ -99,20 +101,20 @@
 
   int *iwork = 0;
   int *bwork = 0;
-  if (*ord == 'A' || *ord == 'D' || *ord == 'a' || *ord == 'd')
+  if (ord_char == 'A' || ord_char == 'D' || ord_char == 'a' || ord_char == 'd')
     {
       iwork = new int [liwork];
       bwork = new int [n];
     }
 
-  if (*ord == 'A' || *ord == 'a')
+  if (ord_char == 'A' || ord_char == 'a')
     {
       F77_FCN (dgeesx, DGEESX) (jobvs, sort, select_ana, sense, n, s,
 				n, sdim, wr, wi, q, n, rconde, rcondv,
 				work, lwork, iwork, liwork, bwork,
 				info, 1L, 1L);
     }
-  else if (*ord == 'D' || *ord == 'd')
+  else if (ord_char == 'D' || ord_char == 'd')
     {
       F77_FCN (dgeesx, DGEESX) (jobvs, sort, select_dig, sense, n, s,
 				n, sdim, wr, wi, q, n, rconde, rcondv,