                      GNU Octave Interval Package
               Summary of important user-visible changes

Version 1.4.1 2016-02-13
========================

   • Fixed a compile error for 32-bit systems during package
     installation (bug #47100)

Version 1.4.0 2016-02-09
========================

   • mpower: Improved accuracy and speed.  The interval matrix square
     can now be computed without dependency errors and with tightest
     accuracy.
   • factorial: New interval arithmetic operation
   • expm, norm: New interval matrix operations
   • The functions recip and sqr have been deprecated and will be
     removed in a future release.  Please use ‘1 ./ X’ and ‘X .^ 2’
     instead.

Bugfixes
   • bitunpack, interval_bitpack: The order of inf/sup/dec parts has
     been fixed.  The function documentation describes how the functions
     behave on little-endian and big-endian systems.

Version 1.3.0 2015-12-22
========================

   • postpad, prepad, subsasgn: Implicit new elements during subscript
     assignment and padding have been initialized with empty intervals
     before this release.  This behavior has changed.  Now, the implicit
     new element are initialized with zero to make a correct interval
     extension of the corresponding built-in function.
   • fsolve: New function to solve (systems of) equations and compute
     the inverse of a set under a function
   • ctc_intersect, ctc_union: Utility functions for contractors and the
     fsolve function
   • det, prod, recip: New interval arithmetic functions
   • diag: New utility function to create diagonal matrices or extract
     vectors from diagonals of matrices
   • decorationpart: Choose between different return types with a second
     parameter
   • For several functions it is now possible to broadcast row vectors
     against column vectors or vectors against matrices.
   • The user manual has been restructured for better accessibility by
     new users.  A bunch of usage examples demonstrates the package’s
     capabilities.

Bugfixes
   • sum, sumabs, sumsq: Fixed result for matrices of size zero
   • powrev1, powrev2: Fixed indexing for vectors

Version 1.2.0 2015-10-01
========================

   • The output format for intervals has been changed.  The number of
     decimal places now respects what has been set by the user with the
     ‘format short’ or ‘format long’ command, and is much shorter by
     default.  Also it is possible to use ‘format hex’.  The old format
     can be accessed with the ‘intervaltotext’ function.
   • fminsearch: New optimizer function for finding the minimum value of
     a function over interval constraints using the Skelboe-Moore
     algorithm
   • fzero: Changed function parameters to support optimset options
   • power: Improved speed of the general interval power function and
     monomials with the notation x .^ n
   • plot, plot3: Added support for colormaps

Bugfixes
   • mldivide: Fixed algorithm to handle more matrices without error
   • bisect: Fixed an error during bisection of singleton intervals
     (thanks to Helmut for finding this during OctConf 2015)

Version 1.1.0 2015-08-03
========================

   • meshgrid, mince: New utility functions to help plotting of interval
     functions
   • linspace: New interval arithmetic function
   • intersect, max, min, union: Allow evaluation as aggregate functions
     within an interval matrix along a common dimension
   • Improvements to the documentation
        • Added cross-references between package documentation and
          function reference
        • Extended information about interval arithmetic in general
        • Extended information about implemented IEEE Std 1788-2015
          functions and fixed references to the standard document
        • Added information about plotting intervals
        • Simplified package description
        • Graphics with higher resolutions, demo of interval sombrero
          function plot on first page, and minor style fixes

Bugfixes
   • plot3: Fixed plotting of interval edges when plotting several
     intervals at once using matrices

Version 1.0.0 2015-06-13
========================

   • IEEE Std 1788-2015, IEEE standard for interval arithmetic, was
     approved on June 11.  To mark the occasion, the major version
     number has been raised.
   • All interval constructors have been extended to create interval
     matrices from a single string.  Commas or spaces may be used as a
     column separator (consecutive separators are trimmed).  Semicolon
     and new line characters can be used as a row separator.
   • hdist, idist, sdist, smig: New interval numeric functions
   • User manual: Relicensed under GPL, added examples from the former
     Octave SIMP package, and various minor improvements.

Bugfixes
   • mtimes: Fixed matrix-vector multiplication of decorated intervals
   • Fixed a linking error in mkoctfile that could prevent package
     installation (bug #45280)

Version 0.2.1 2015-05-30
========================

   • plot, plot3: New interval plotting functions. Pay attention to the
     included examples, which can be executed with ‘demo @infsup/plot’
     and ‘demo @infsup/plot3’ respectively.
   • polyval: New interval arithmetic algorithm
   • bisect: New set operation for bisecting algorithms
   • sinrev, cosrev, tanrev, atan2rev1, atan2rev2: Now allow non-scalar
     arguments
   • Simplified licensing: Relicensed parts of the software that were
     not under GPL
   • Updated information for citation of the package

Bugfixes
   • Fixed generation of the manual in PDF format
   • subsasgn: Fixed cases where decoration could be lost (bug #42735)

Version 0.2.0 2015-05-03
========================

   • User manual included in the package, see doc/manual.texinfo
   • New utility functions: cat, postpad, prepad, reshape, resize
   • and, or: Removed deprecated functions
   • Improved display output for cell arrays and new function: disp
   • Minor performance improvements (all decorated interval functions,
     horzcat, vertcat)

Bugfixes
   • issquare, isrow, iscolumn: Fixed compatibility issues with GNU
     Octave 4.0
   • cbrt: Allow negative values as parameter
   • cot: Fixed accuracy for x = 0
   • cos, csc, sec, sin: Fixed correctness in certain cases
   • Prevent multibyte characters in Microsoft Windows console

Version 0.1.5 2015-04-06
========================

   • Implicit decoration of bare intervals triggers a warning now and
     can be allowed or forbidden by the user.  Implicit decoration of
     bare interval literals is not affected.
   • newdec: New operation for explicit promotion of bare intervals into
     decorated intervals (without warning).
   • Decorated interval literals with illegal decoration are no longer
     allowed and produce NaIs.
   • hull: In contrast to the union function, the interval constructor
     is no longer considered a set operation and can create intervals
     with a non-trivial decoration.
   • setdiff, setxor: New set operations
   • intersect, union: Renamed set operations; the old function names
     (and, or) are hereby deprecated and are going to be removed in the
     next release.
   • intervaltotext, intervaltoexact: Decimal fractions no longer omit
     zero before the point, and unnecessary trailing decimal places can
     be omitted more consistently and in more cases than before (also
     affects console output).  Improved accuracy and performance with
     support for interval matrices.

Bugfixes
   • mtimes, mldivide: Support for broadcasting of scalar parameters
   • nextout: Support for decorated intervals
   • An error in GNU Octave core, which could lead to lost or wrong
     interval decorations, no longer affects decorated intervals
     (bug #42735)
   • Some errors in the function documentation have been fixed (thanks
     to doctest-for-matlab and Colin’s texinfo compatibility patches)
   • Fixed interval field access on Windows

Version 0.1.4 2015-03-15
========================

   • New interval constructors: hull, midrad
   • New interval arithmetic functions: cbrt, cot, coth, csc, csch,
     dilog, ei, erf, erfc, gamma, gammaln, psi, rsqrt, sec, sech
   • mtimes: Support for fast, less accurate evaluation using BLAS
     routines
   • mldivide, mrdivide, inv: Improved performance by using faster
     mtimes
   • infsup, infsupdec: Enabled broadcasting of scalar boundaries
   • rad: May compute mid and rad simultaneously
   • subsref: Access to interval properties using field syntax: x.inf
     and x.sup

Version 0.1.3 2015-02-24
========================

   • Fixed a compile error that could possibly occur during package
     installation

Version 0.1.2 2015-02-22
========================

   • New interval arithmetic functions: nthroot, hypot, log1p, expm1
   • lu: New operation for LU(P) decomposition of interval matrices
   • nai: New decorated interval constant
   • mldivide, mrdivide, inv: Greatly improved accuracy and performance
     of the linear solver
   • Improved accuracy of vector sums, dot products, pownrev, and
     powrev2
   • powrev1, powrev2, pownrev, mulrev: Now allow non-scalar arguments
   • overlap: Renamed one overlapping state from equal to equals
   • mulrevtopair: No longer available, use mulrev with two output
     parameters for two-output division
   • setdec: No longer available, use infsupdec instead
   • Small performance improvements

Bugfixes
   • Compatibility with GNU Octave 4.0 (bug #43925)
   • Build problems during package installation with environment
     variables
   • iscommoninterval: The decorated variant must return true for common
     intervals without com decoration
   • eq: The decorated variant must not consider the decoration value
   • Several decorated functions: When evaluated on a subset of the
     function’s domain, the result’s decoration must be dac if the
     function’s restriction to that subset is continuous
   • Decorated boolean functions: Must return false when evaluated on
     NaI input
   • Interval constructors: A PossibleUndefined warning must be issued
     if an interval is created from two very close decimal numbers
     (which can not be separated in the floating-point context) where
     the lower boundary is greater than the upper boundary when compared
     with infinite precision
   • Interval constructors: NaNs must produce empty intervals
   • Decorated interval constructor: Illegal decorations for empty
     intervals must be adjusted to trv, and illegal decoration com for
     unbounded intervals must be adjusted to dac.
   • cancelminus/cancelplus: The functions returned wrong results if the
     interval widths could not be compared in double-precision
   • cos: Accuracy for x = [0] improved
   • pow, powrev1, powrev2: The function must be defined for x = 0 and
     y > 0
   • All reverse operations: Must return a trivial decoration
     information at best (the only exception is mulrev)

Version 0.1.1 2015-02-01
========================

   • Increased speed of computation for large matrices
   • Improved performance for fma and dot
   • mpfr_vector_dot_d: Changed syntax for faster computation on
     intervals
   • Decorated versions of mtimes, mldivide, mpower, inv and reduction
     operations sum, dot, subabs, subsquare
   • Renamed function sumsquare to sumsq in accordance with GNU Octave
     function names
   • New function: fzero for finding all roots of an interval arithmetic
     function

Bugfixes
   • nextout: Function returned wrong results
   • exacttointerval: Now produces bare intervals instead of decorated
     intervals in conformance with IEEE P1788
   • atanh: Function returned wrong results for ±1
   • dot: Function returned wrong results for some inputs
   • fma: Function returned wrong results for some inputs
   • infsup: Function returned wrong interval boundaries for decimal
     numbers, function failed on mixed numerical and string boundaries
     in single cell array parameter
   • mulrevtopair: Fixed order of operands in conformance with
     IEEE P1788 and wrong results when evaluated on intervals that
     contain zero

Version 0.1.0 2015-01-21
========================

   • Initial release version, which already contains all required
     operations of the preliminary standard document IEEE P1788.

