Repository navigation
Gamut 2.0.0
Install: pip install --upgrade gamut-format (Python 3.11 or later). MATLAB R2023b or later: open Gamut.mltbx below. Julia 1.10 or later, C and C++: the gamut-core-2.0.0-<platform> archive below.
Gamut 2.0 settles the interface for the 2.x series: later 2.x releases only add to it. The file format is unchanged (gamut/1), so files move between 1.3 and 2.0 alike.
What can change code written for 1.3 is listed in the changelog's Upgrading from 1.3. The ones most scripts meet:
- Creating a file never replaces an existing one.
- A parameter is float64 unless you declare it int64. Integers no longer make it int64.
- In MATLAB,
[]selects nothing and':'everything. - Input that used to be stored wrongly is refused, for example a field given sites × runs.
- The C interface takes the length of every array.
- C++ reads name their type:
get_parameter<double>. - Two rules split: E25 for a valid file that cannot grow, and E26 for a limit reached.
Fixes. This release fixes about forty bugs. Among them:
- fields stored scrambled;
- integers rounded or truncated silently;
- a crash on a crafted file;
- MATLAB reading every row after an empty selection;
- every limit on hostile files enforced and listed in
docs/security.md.
Supported versions: Python 3.11, NumPy 1.26, MATLAB R2023b and Julia 1.10, or later. Each is tested, and none rises within 2.x.