# HG changeset patch # User John W. Eaton # Date 1379957462 14400 # Node ID cc13924a4266fb0359f59fabdce11071e6051d48 # Parent 177147bf7b55e53c19e2c4340c277f7b9a9162af snapshot 3.7.7 * configure.ac (OCTAVE_VERSION): Bump to 3.7.7. diff -r 177147bf7b55 -r cc13924a4266 configure.ac --- a/configure.ac Mon Sep 23 08:55:19 2013 -0700 +++ b/configure.ac Mon Sep 23 13:31:02 2013 -0400 @@ -19,13 +19,13 @@ ### . AC_PREREQ([2.62]) -AC_INIT([GNU Octave], [3.7.6+], [http://octave.org/bugs.html], [octave]) +AC_INIT([GNU Octave], [3.7.7], [http://octave.org/bugs.html], [octave]) dnl PACKAGE_VERSION is set by the AC_INIT VERSION arg OCTAVE_VERSION="$PACKAGE_VERSION" OCTAVE_API_VERSION_NUMBER="48" OCTAVE_API_VERSION="api-v$OCTAVE_API_VERSION_NUMBER+" -OCTAVE_RELEASE_DATE="2013-08-20" +OCTAVE_RELEASE_DATE="2013-09-23" OCTAVE_COPYRIGHT="Copyright (C) 2013 John W. Eaton and others." AC_SUBST(OCTAVE_VERSION) AC_SUBST(OCTAVE_API_VERSION_NUMBER) diff -r 177147bf7b55 -r cc13924a4266 libinterp/corefcn/oct-stream.cc --- a/libinterp/corefcn/oct-stream.cc Mon Sep 23 08:55:19 2013 -0700 +++ b/libinterp/corefcn/oct-stream.cc Mon Sep 23 13:31:02 2013 -0400 @@ -2980,21 +2980,47 @@ { SRC_T *data = static_cast (*it); - for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read; i++, j++) + if (swap || do_float_fmt_conv) { - if (swap) - swap_bytes (&data[i]); - else if (do_float_fmt_conv) - do_float_format_conversion (&data[i], sizeof (SRC_T), - 1, from_flt_fmt, - oct_mach_info::float_format ()); - - dst_elt_type tmp (data[i]); - - if (do_NA_conv && __lo_ieee_is_old_NA (tmp)) - tmp = __lo_ieee_replace_old_NA (tmp); - - conv_data[j] = tmp; + for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read; + i++, j++) + { + if (swap) + swap_bytes (&data[i]); + else if (do_float_fmt_conv) + do_float_format_conversion (&data[i], sizeof (SRC_T), + 1, from_flt_fmt, + oct_mach_info::float_format ()); + + dst_elt_type tmp (data[i]); + + if (do_NA_conv && __lo_ieee_is_old_NA (tmp)) + tmp = __lo_ieee_replace_old_NA (tmp); + + conv_data[j] = tmp; + } + } + else + { + if (do_NA_conv) + { + for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read; + i++, j++) + { + dst_elt_type tmp (data[i]); + + if (__lo_ieee_is_old_NA (tmp)) + tmp = __lo_ieee_replace_old_NA (tmp); + + conv_data[j] = tmp; + } + } + else + { + for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read; + i++, j++) + conv_data[j] = data[i]; + } } delete [] data; @@ -3017,7 +3043,6 @@ #define TABLE_ELT(T, U, V, W) \ conv_fptr_table[oct_data_conv::T][oct_data_conv::U] = convert_and_copy -#undef FILL_TABLE_ROW #define FILL_TABLE_ROW(T, V) \ TABLE_ELT (T, dt_int8, V, int8NDArray); \ TABLE_ELT (T, dt_uint8, V, uint8NDArray); \