Mercurial > mxe-octave
view src/stable-octave-3-fixes.patch @ 3948:1fea617cdf13
of-odepkg: update to v0.8.5
* src/of-odepkg.mk: update version, checksum, compile if binary package
* build_packages.m: add odepkg back to install script
* Makefile.am: add of-odepkg back to installed of packages
author | John Donoghue |
---|---|
date | Thu, 21 May 2015 13:51:16 -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);