changeset 11352:6efe39eded43 octave-forge

Enhanced error checking
author mmarzolla
date Fri, 04 Jan 2013 20:34:38 +0000
parents 3de555a06a2b
children 6fec379f586c
files main/queueing/inst/private/qncmchkparam.m main/queueing/inst/private/qncschkparam.m main/queueing/inst/qncmmva.m main/queueing/inst/qncsmva.m
diffstat 4 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/main/queueing/inst/private/qncmchkparam.m	Fri Jan 04 14:56:54 2013 +0000
+++ b/main/queueing/inst/private/qncmchkparam.m	Fri Jan 04 20:34:38 2013 +0000
@@ -45,8 +45,8 @@
     return;
   endif
 
-  if ( any(N<0) )
-    err = "N must contain nonnegative values";
+  if ( any(N<0) || any( fix(N) != N ) )
+    err = "N must contain nonnegative integers";
     return;
   endif
 
--- a/main/queueing/inst/private/qncschkparam.m	Fri Jan 04 14:56:54 2013 +0000
+++ b/main/queueing/inst/private/qncschkparam.m	Fri Jan 04 20:34:38 2013 +0000
@@ -40,8 +40,8 @@
 
   [V m Z] = deal(0);
 
-  if ( !isscalar(N) || N<0 )
-    err = "N must be a nonnegative scalar";  
+  if ( !isscalar(N) || N<0 || N != fix(N) )
+    err = "N must be a nonnegative integer";  
     return;
   endif
 
--- a/main/queueing/inst/qncmmva.m	Fri Jan 04 14:56:54 2013 +0000
+++ b/main/queueing/inst/qncmmva.m	Fri Jan 04 20:34:38 2013 +0000
@@ -457,6 +457,8 @@
 %! N = [1 1];
 %! V = zeros(3,2,3);
 %! fail( "qncmmva(N,S,V)", "size mismatch" );
+%! fail( "qncmmva([0.3 1], [1 2; 3 4])", "integer");
+%! fail( "qncmmva([-1 0], [1 2; 3 4])", "nonnegative");
 
 ## Check degenerate case (population is zero); LI servers
 %!test
--- a/main/queueing/inst/qncsmva.m	Fri Jan 04 14:56:54 2013 +0000
+++ b/main/queueing/inst/qncsmva.m	Fri Jan 04 20:34:38 2013 +0000
@@ -207,6 +207,8 @@
 %! fail( "qncsmva()", "Invalid" );
 %! fail( "qncsmva( 10, [1 2], [1 2 3] )", "incompatible size" );
 %! fail( "qncsmva( 10, [-1 1], [1 1] )", "nonnegative" );
+%! fail( "qncsmva( 10.3, [-1 1], [1 1] )", "integer" );
+%! fail( "qncsmva( -0.3, [-1 1], [1 1] )", "nonnegative" );
 
 ## Check if networks with only one type of server are handled correctly
 %!test