Mercurial > mxe-octave
changeset 3720:5d0ed3ca5910
new patch for stable-octave package
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 05 Oct 2014 11:12:39 -0400 |
parents | 9caae5336e92 |
children | 933b99febcf1 |
files | dist-files.mk src/stable-octave-3-fixes.patch |
diffstat | 2 files changed, 65 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dist-files.mk Sun Oct 05 11:15:06 2014 -0400 +++ b/dist-files.mk Sun Oct 05 11:12:39 2014 -0400 @@ -565,6 +565,7 @@ stable-octave-1-fixes.patch \ stable-octave-1-gnulib-isatty.patch \ stable-octave-2-winbelloff.patch \ + stable-octave-3-fixes.patch \ stable-octave.mk \ suitesparse-1.patch \ suitesparse.mk \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/stable-octave-3-fixes.patch Sun Oct 05 11:12:39 2014 -0400 @@ -0,0 +1,64 @@ +# HG changeset patch +# User John W. Eaton <jwe@octave.org> +# Date 1412519047 14400 +# Sun Oct 05 10:24:07 2014 -0400 +# Branch stable +# Node ID 3ffb8f53e94019084321d065390f4d4e215fd465 +# Parent 432ffa35de136a5dfd2a717a598750b62e6944f9 +use correct HDF5 size for octave_idx_type on Windows-64 (bug #43101) + +* ls-hdf5.h: Define H5T_NATIVE_IDX to H5T_NATIVE_INT64 when using +64-bit indexing. + +diff --git a/libinterp/corefcn/ls-hdf5.h b/libinterp/corefcn/ls-hdf5.h +--- a/libinterp/corefcn/ls-hdf5.h ++++ b/libinterp/corefcn/ls-hdf5.h +@@ -204,7 +204,7 @@ + const char *attr_name, void *buf); + + #ifdef USE_64_BIT_IDX_T +-#define H5T_NATIVE_IDX H5T_NATIVE_LONG ++#define H5T_NATIVE_IDX H5T_NATIVE_INT64 + #else + #define H5T_NATIVE_IDX H5T_NATIVE_INT + #endif +# HG changeset patch +# User John W. Eaton <jwe@octave.org> +# Date 1412520111 14400 +# Sun Oct 05 10:41:51 2014 -0400 +# Branch stable +# Node ID 0279c601b49ce5d539b1ae938e8ec562b63f1ced +# Parent 3ffb8f53e94019084321d065390f4d4e215fd465 +compute for loop indices consistently with range element results + +* pt-eval.cc (tree_evaluator::visit_simple_for_command): Use +Range::elem instead of compuiting elements directly. This change +appears to fix obscure test failures in eig.cc-tst on 64-bit Windows +systems. See also task #13313. + +diff --git a/libinterp/parse-tree/pt-eval.cc b/libinterp/parse-tree/pt-eval.cc +--- a/libinterp/parse-tree/pt-eval.cc ++++ b/libinterp/parse-tree/pt-eval.cc +@@ -336,21 +336,10 @@ + Range rng = rhs.range_value (); + + octave_idx_type steps = rng.nelem (); +- double b = rng.base (); +- double increment = rng.inc (); + + for (octave_idx_type i = 0; i < steps; i++) + { +- // Use multiplication here rather than declaring a +- // temporary variable outside the loop and using +- // +- // tmp_val += increment +- // +- // to avoid problems with limited precision. Also, this +- // is consistent with the way Range::matrix_value is +- // implemented. +- +- octave_value val (b + i * increment); ++ octave_value val (rng.elem (i)); + + ult.assign (octave_value::op_asn_eq, val); +