diff src/ov-base.cc @ 3202:44d82b369c78

[project @ 1998-10-29 20:27:57 by jwe]
author jwe
date Thu, 29 Oct 1998 20:28:02 +0000
parents 7a5a5da64756
children bc61b0e8d60e
line wrap: on
line diff
--- a/src/ov-base.cc	Thu Oct 29 05:31:02 1998 +0000
+++ b/src/ov-base.cc	Thu Oct 29 20:28:02 1998 +0000
@@ -167,6 +167,52 @@
   return retval;
 }
 
+int
+octave_base_value::int_value (bool require_int, bool frc_str_conv) const
+{
+  int retval = 0;
+
+  double d = double_value (frc_str_conv);
+
+  if (! error_state)
+    {
+      if (require_int && D_NINT (d) != d)
+	{
+	  error ("conversion to integer value failed");
+	  return retval;
+	}
+
+      retval = static_cast<int> (d);
+    }
+  else
+    gripe_wrong_type_arg ("octave_base_value::int_value ()", type_name ());
+
+  return retval;
+}
+
+int
+octave_base_value::nint_value (bool frc_str_conv) const
+{
+  int retval = 0;
+
+  double d = double_value (frc_str_conv);
+
+  if (! error_state)
+    {
+      if (xisnan (d))
+	{
+	  error ("conversion of NaN to integer value failed");
+	  return retval;
+	}
+
+      retval = NINT (d);
+    }
+  else
+    gripe_wrong_type_arg ("octave_base_value::nint_value ()", type_name ());
+
+  return retval;
+}
+
 double
 octave_base_value::double_value (bool) const
 {