Mercurial > mxe-octave
view src/stable-octave-3-fixes.patch @ 3856:7ee9c478ce02
octave.mk: update for 4.0.0-rc2
* src/octave.mk: update version, checksum
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Sat, 21 Mar 2015 14:39:14 -0400 |
parents | 992be3109433 |
children |
line wrap: on
line source
# 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);