changeset 18607:53ba52143af7 stable

Fix dead assignment in oct-rand.cc do_float_scalar (bug #41827). * oct-rand.cc (do_float_scalar): Correctly assign temporary output to dretval.
author Branden Archer <b.m.archer4@gmail.com>
date Wed, 19 Mar 2014 20:46:39 -0400
parents fe1cdc40579c
children 756e906bdfda
files doc/interpreter/contributors.in libinterp/corefcn/rand.cc liboctave/numeric/oct-rand.cc
diffstat 3 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/doc/interpreter/contributors.in	Wed Mar 19 23:23:50 2014 +0100
+++ b/doc/interpreter/contributors.in	Wed Mar 19 20:46:39 2014 -0400
@@ -5,6 +5,7 @@
 Joel Andersson
 Muthiah Annamalai
 Markus Appel
+Branden Archer
 Marco Atzeri
 Shai Ayal
 Roger Banks
--- a/libinterp/corefcn/rand.cc	Wed Mar 19 23:23:50 2014 +0100
+++ b/libinterp/corefcn/rand.cc	Wed Mar 19 20:46:39 2014 -0400
@@ -851,6 +851,11 @@
 %! ## Test fixed seed
 %! randg ("seed", 1);
 %! assert (randg (100, 1, 6), [89.40208435058594 101.4734725952148 103.4020004272461 93.62763214111328 88.33104705810547 88.1871337890625], 1e-4);
+%!test
+%! ## Test out-of-bounds values produce NaN w/old-style generators & floats
+%! randg ("seed", 1);
+%! result = randg ([-2 Inf], "single");
+%! assert (result, [NaN NaN]);
 
 %!test
 %! if (__random_statistical_tests__)
--- a/liboctave/numeric/oct-rand.cc	Wed Mar 19 23:23:50 2014 +0100
+++ b/liboctave/numeric/oct-rand.cc	Wed Mar 19 20:46:39 2014 -0400
@@ -455,7 +455,7 @@
 
         case gamma_dist:
           if (da <= 0.0 || ! xfinite (a))
-            retval = octave_NaN;
+            dretval = octave_NaN;
           else
             F77_FUNC (dgengam, DGENGAM) (1.0, da, dretval);
           break;