Optimization: fix optimsimplex_setall 81/13081/1
Paul BIGNIER [Tue, 5 Nov 2013 11:51:38 +0000 (12:51 +0100)]
Fix of commit https://codereview.scilab.org/#/c/12431/ ,
the second argument of optimsimplex_setall should ba a real matrix,
not a simplex, as its name suggested.

Change-Id: I7b14f2031ca69769ffaf7eb283f3903563f0b3bb

scilab/modules/optimization/macros/optimsimplex/optimsimplex_setall.sci
scilab/modules/optimization/tests/nonreg_tests/bug_9627.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_9627.tst

index 4d03484..1ea93f6 100644 (file)
@@ -23,8 +23,8 @@ function this = optimsimplex_setall ( this , simplex )
     if typeof(this) <> "TSIMPLEX" then
         error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 1));
     end
-    if typeof(simplex) <> "TSIMPLEX" then
-        error(msprintf(gettext("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 2));
+    if type(simplex) <> 1 | ~isreal(simplex) then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setall", 2));
     end
     nbve = size(simplex,1)
     np1 = size(simplex,2)
index c1937a6..e982102 100644 (file)
@@ -56,10 +56,10 @@ assert_checkerror("s1 = optimsimplex_getx(""1"");",refMsg);
 assert_checkerror("s1 = optimsimplex_getx(%t);",refMsg);
 // optimsimplex_setall
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 1);
-refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 2);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setall", 2);
 assert_checkerror("s1 = optimsimplex_setall(1, s1);",refMsg);
 assert_checkerror("s1 = optimsimplex_setall(""s1"", s1);",refMsg);
-assert_checkerror("s1 = optimsimplex_setall(s1, 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setall(s1, %i);",refMsg2);
 assert_checkerror("s1 = optimsimplex_setall(s1, ""s1"");",refMsg2);
 // optimsimplex_setallfv
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setallfv", 1);
index 7b70af4..fcd9c9c 100644 (file)
@@ -66,10 +66,10 @@ assert_checkerror("s1 = optimsimplex_getx(%t);",refMsg);
 
 // optimsimplex_setall
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 1);
-refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 2);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setall", 2);
 assert_checkerror("s1 = optimsimplex_setall(1, s1);",refMsg);
 assert_checkerror("s1 = optimsimplex_setall(""s1"", s1);",refMsg);
-assert_checkerror("s1 = optimsimplex_setall(s1, 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setall(s1, %i);",refMsg2);
 assert_checkerror("s1 = optimsimplex_setall(s1, ""s1"");",refMsg2);
 
 // optimsimplex_setallfv