diff src/npsol.cc @ 620:8e4e7e5f307e

[project @ 1994-08-16 04:36:32 by jwe]
author jwe
date Tue, 16 Aug 1994 04:36:32 +0000
parents 14b2a186a5c0
children aecbe369233b
line wrap: on
line diff
--- a/src/npsol.cc	Mon Aug 15 04:54:33 1994 +0000
+++ b/src/npsol.cc	Tue Aug 16 04:36:32 1994 +0000
@@ -95,27 +95,25 @@
 	}
     }
 
-  switch (objective_value.const_type ())
+  if (objective_value.is_real_matrix ())
     {
-    case tree_constant_rep::matrix_constant:
-      {
-	Matrix m = objective_value.matrix_value ();
-	if (m.rows () == 1 && m.columns () == 1)
-	  retval = m.elem (0, 0);
-	else
-	  {
-	    gripe_user_returned_invalid ("npsol_objective");
-	    npsol_objective_error = 1; // XXX FIXME XXX
-	  }
-      }
-      break;
-    case tree_constant_rep::scalar_constant:
+      Matrix m = objective_value.matrix_value ();
+      if (m.rows () == 1 && m.columns () == 1)
+	retval = m.elem (0, 0);
+      else
+	{
+	  gripe_user_returned_invalid ("npsol_objective");
+	  npsol_objective_error = 1; // XXX FIXME XXX
+	}
+    }
+  else if (objective_value.is_real_scalar ())
+    {
       retval = objective_value.double_value ();
-      break;
-    default:
+    }
+  else
+    {
       gripe_user_returned_invalid ("npsol_objective");
       npsol_objective_error = 1; // XXX FIXME XXX
-      break;
     }
 
   return retval;