-
Fixed an overflow issue when reading variables that are >1GB compressed (fixes #65).
-
Changed rules to allow reading of 2-4 GB variables (fixes #64). Note that MATLAB has a 2 GB write limit, but it can read 4 GB variables saved by Octave.
-
Removed the special subsystem entry from the content list to avoid confusing users
-
Changed EJML Scope to
provided
-
Fixed a bug where EJML’s
CMatrixRmaj
was stored asZMatrixRmaj
-
Added functionality to automatically determine EJML matrix based on data type
-
Fixed default endian-ness for writing to memory mapped files (fixes #58)
-
Fixed a bug that caused disk access to fail on Android (fixes #56)
-
Disabled unsafe access for ARM platforms to avoid potential unaligned access issues
-
Fixed bug that caused the struct index map to be wrong after field removal (fixes #53, thanks @ryanlb1000)
-
Added size checks to prevent variables >2GB from being serialized. (fixes #55, thanks @syr)
-
Removed Java8 hash methods. (fixes #51)
-
Improved string display for function handles and Java objects
-
Fixed a subsys-related bug that caused issues when reading mat files in Octave. Thanks @grabarczyk-t
-
Fixed a bug that caused some sparse matrices to fail (nzMax > numNz). Thanks @mephenor
-
Added
getNumNonZero()
to sparse interface and deprecatedgetNzMax()
. This is equivalent to MATLAB’snnz
.
-
Improved streaming source fallback for files that are larger than 2GB and can’t be memory mapped. The
FileInputStream
wrapper was changed to using buffered IO viaFileChannel / ByteBuffer
. -
Removed hyphens from Jigsaw module name. Thanks @stffnjng
-
Added convenience methods to
Mat5
for reading from and writing to disk
-
Removed resources (changelog, license, etc.) from generated jar to avoid issues with e.g. ProGuard trying to copy them into the uber jar
-
Fixed an issue when reading empty sparse matrices from
R2018b
due to an undocumented format change -
Fixed writing empty
MatrixSparseCSC
EJML types
-
Added parser support for
v3
MCOS subsystems. (Note: Thev2
parser seems to handlev3
just fine, but we don’t actually know where the differences are). Thanks@nedtwigg
This change breaks backwards compatibility with 0.3
for some corner case use cases.
-
Removed
Array::isGlobal()
-
Moved
NamedArray
toMatFile.Entry
-
Added
MatFile.Entry::isGlobal()
-
Added
MatFile::addEntry(entry)
-
Added
Mat5Writer::writeEntry(entry)
-
Renamed
Mat5Reader::setArrayFilter(ArrayFilter)
toMat5Reader::setEntryFilter(EntryFilter)
-
Added extension module for converting
EJML
matrices -
Added
Sinks::newStreamingFile(file, append)
to add entries to existing MAT files
-
Added
hashCode()
andequals()
to all Arrays. Thanks@nedtwigg
-
Fixed a bug that caused the
global
flag to be ignored during construction. Thanks@nedtwigg
-
Fixed a bug that caused field names inside structs and objects to be serialized incorrectly
-
Moved
common.util
tomat.util
-
Removed unused utilities
-
Removed multi-release jar dependency due to lack of support for some build tools (e.g. obfuscation)
-
Improved streaming file sink implementation
-
Changed
StreamingDoubleMatrix2D
to be a test example -
MatFile
API-
Renamed
size()
togetNumEntries()
-
Added
clear()
-
Added
getEntries()
for accessingIterable<NamedArray>
-