grand fixed about setsd mode 87/16787/2
Cedric Delamarre [Mon, 6 Jul 2015 07:45:15 +0000 (09:45 +0200)]
Change-Id: I19326c80f5c81e128c8f75dda8369eeb319cf2a7

scilab/modules/randlib/sci_gateway/cpp/sci_grand.cpp
scilab/modules/randlib/tests/nonreg_tests/bug_13976.dia.ref [new file with mode: 0644]
scilab/modules/randlib/tests/nonreg_tests/bug_13976.tst [new file with mode: 0644]

index f2a39b3..574a0b0 100644 (file)
@@ -1329,7 +1329,7 @@ types::Function::ReturnValue sci_grand(types::typed_list &in, int _iRetCount, ty
                     {
                         ierr = set_state_mt_simple(vectpDblInput[0]->get(0));
                     }
-                    else if (vectpDblInput[0]->getSize() != 625)
+                    else if (vectpDblInput[0]->getSize() == 625)
                     {
                         ierr = set_state_mt(vectpDblInput[0]->get());
                     }
diff --git a/scilab/modules/randlib/tests/nonreg_tests/bug_13976.dia.ref b/scilab/modules/randlib/tests/nonreg_tests/bug_13976.dia.ref
new file mode 100644 (file)
index 0000000..6f96e6b
--- /dev/null
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Cedric Delamarre
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13976 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13976
+//
+// <-- Short Description -->
+// grand("setsd",S) failed though S has a right values.
+S=grand("getsd");
+[a(1) a(2)] = size(S);
+assert_checkequal(a, [625;1]);
+// must not produce any error.
+grand("setsd",S);
diff --git a/scilab/modules/randlib/tests/nonreg_tests/bug_13976.tst b/scilab/modules/randlib/tests/nonreg_tests/bug_13976.tst
new file mode 100644 (file)
index 0000000..a794dc3
--- /dev/null
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Cedric Delamarre
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13976 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13976
+//
+// <-- Short Description -->
+// grand("setsd",S) failed though S has a right values.
+
+S=grand("getsd");
+[a(1) a(2)] = size(S);
+assert_checkequal(a, [625;1]);
+// must not produce any error.
+grand("setsd",S);