hankel function: Hankel matrix.factor function: Prime factors.primes function: Prime numbers less than or equal to input value.isrow function: Determine whether input is row vector.iscolumn function: Determine whether input is column vector.#544: add folder fieldname to dir output.
#541: common class between two elements for operators, horzcat and vertcat.
Boost 1.78 support (default on Windows).
CMake 3.22.1 (on Windows).
hilb function: Hilbert matrix.invhilb function: Inverse of Hilbert matrix.cond function: Condition number for inversion.rank function: Rank of matrix.ismatrix function: Determines whether input is matrix.squeeze function: Removes dimensions of length 1.speye function: Sparse identity matrix.randperm function: Random permutation.cat function: Concatenate arrays.SECURITY.md file as recommended by Github.vercat, horzcat returns an empty array whose size is equal to the output size as when the inputs are nonempty.find with one lhs did not return expected result with complex.test_websave_3 failed randomly due to distant server.Polynomial functions:
poly: Polynomial with specified roots or characteristic polynomial.roots: Polynomial roots.polyval: Polynomial evaluation.polyvalm: Matrix polynomial evaluation.polyint: Polynomial integration.polyfit: Polynomial curve fitting.polyder: Polynomial differentiation.pinv: Moore-Penrose pseudoinverse.
#520: inputname get variable name of function input.
#525: use fast_float library to parse numbers .
#528: Assignment in cell did not work in this case [c{:}] = ind2sub (dv, i)
#534: diag(ones(0, 1), -1) did not return zero as result.
leapyear function: determine leap year.
meshgrid function: Cartesian rectangular grid in 2-D or 3-D.
sub2ind function: linear index to matrix subscript values.
ind2sub function: matrix subscript values to linear index.
#518: isStringScalar checks if input is string array with one element.
#516: ind = 2; ind(false) logical extraction on scalar should return empty matrix.
#514: C{3} = 4 should create a cell with good dimensions.
#512: Assign must not change left assign type when it is possible.
#509: horzcat vertcat generic support for class object.
#508: Change default seed for ‘rand’ with Mersenne Twister algo.
#506: Modernize windows installer style.
test_run displays errors with file and line number.
CTRL-C throws an error.
some warnings detected by LGTM or VS fixed.
allows .m file empty to be called.
#477: update files watcher algo.
#489: display builtin and associated overload.
#490: update default prompt.
#480: publisher name updated for windows installer.
#483: extern modules no more build if boost not available.
#486: inmem help was missing.
#464: simplify macos build (catalina & BigSur support only).
#499: rename getContentAsUnsignedInt64Scalar to getContentAsUnsignedInteger64Scalar.
#495: some mtimes call failed.
macros in memory reworked to support also MEX.
C MEX compatibility, load and build fully compatible with other softwares.
inmem builtin returns names of functions, MEX-files in memory.
mexext builtin returns binary MEX file-name extension.
main function in .m no more require to be the first in file.
checks in the .m function that other local function names are not duplicated.
.m timestamp checked if addpath(...,'-frozen') is not enabled.
function_handle reworked to have an compatible behavior.
struct behavior with function_handle.
clear reworked to support mex in memory.
nargin, nargout behavior with mex updated.
#474: exist: extended to manage mex function.
#449: conv2: 2-D convolution and conv: Convolution and polynomial multiplication.
BREAKING CHANGE:
function ... endfunction and function ... end are equivalent (increase compatibility ;).
file extension .m is managed by Nelson.
About compatibility: scripts and functions developed with Nelson should work with other tools managing .m files. The reciprocal is not necessarily true.
.m is default and alone file extension.
module skeleton updated to use to .m extension (Please update your code)
run builtin can also evaluate a macro function.
macro functions also searched in current directory.
parser cleaned and generated with Bison 3.7.4
narginchk builtin: checks number of input arguments.
nargoutchk builtin: checks number of outnput arguments.
#448: data analysis module (Code refactoring).
nmm('install', existing_module_directory) did not work as expected.
#451: var() returns an unexpected error.
#455: M1 macOS apple native support. It works but some gui features can crash due to young Qt support on M1.
Update fmt library to 8.0.
Validators functions available from Nelson and C++ API (part 2):
mustBeFile,mustBeNonempty, mustBeNonNan, mustBeNonZero, mustBeNonSparse,mustBeA, mustBeReal, mustBeInteger, mustBeNonmissing,mustBePositive, mustBeNonpositive, mustBeNonnegative, mustBeNegative,mustBeGreaterThan, mustBeGreaterThanOrEqual, mustBeLessThan,mustBeNumericOrLogical, mustBeText, mustBeNonzeroLengthText,mustBeMember, mustBeInRange.test_run manages SEQUENTIAL TEST REQUIRED and NATIVE_ARCHITECTURE TEST REQUIRED tags.
benchs are executed sequentialy (better bench results).
all, any behavior with empty matrix updated.
extends all to manage over all elements.
ismember builtin: Array elements that are members of another array.
#439: split elementary_functions module and creates operators modules.
maxNumCompThreads did not return number of threads but number of cores.Move Windows build to GitHub CI. Appveyor is no more the principal build CI for Windows.
#441: Circle CI (ArchLinux build) fixed.
#357: Curl 7.76.1 on Windows.
Validators functions available from Nelson and C++ API (part 1):
mustBeLogicalScalar, mustBeLogical, mustBeFloat,mustBeFinite, mustBeScalarOrEmpty, mustBeVector,mustBeValidVariableName,mustBeTextScalar, mustBeFolder,mustBeNumeric.Functions using SIMD extensions:
ceil, round, fix, floor, abs, conj,exp, sqrt, log1p, log10, logcos, sin, tanatan2, acos, asinsystem allows to run shell command execution in parallel.
test_run executes on parallel process.
extends assert_checkerror to check also error identifier.
isvector, isscalar support overload.
isvarname builtin: check if input is valid variable name.
isdir manages string array.
time returns current time as the number of seconds or nanoseconds since the epoch.
#373: sign builtin.
#313: atanh builtin: inverse hyperbolic tangent.
MException comes default exception in Nelson.
try, catch extended to manage MException.
throw, throwAsCaller, rethrow functions added.
error extended to manage identifier.
callstack reworks, available with MException.
for loop faster > x2.
assignment does not copy matrix.
reworks ArrayOfVector (internal).
C++ API nargincheck, nargoutcheck helpers added.
rename mexception to MException
triu builtin: Upper triangular part of matrix.
tril builtin: Lower triangular part of matrix.
istriu checks if matrix is upper triangular part of matrix.
istril: checks if matrix is lower triangular part of matrix.
isdiag: checks if matrix is diagonal.
MacOS build uses openBLAS. lapacke included in openBLAS. No more thirdparty repository required for MacOS build.
rename ArrayOf::getLength to ArrayOf::getElementCount method.
rework simple assignement.
add benchs about loop to identify existing bottleneck for next iteration.
rework loop to prepare next iteration.
qt_version builtin: returns the version number of Qt at run-time.
qt_constant builtin: returns value of an Qt constant.
#374: num2str builtin: converts numbers to character array.
#388: Windows x64 build failed (elementary_functions module was too big).
#385: corrcoef, mean, var, cov moved in statistics module.
0.5 family (CHANGELOG)
Eigen 3.3.9 used.
libsndfile 1.0.31 on Windows.
libboost 1.75 on Windows.
fix cirle CI build.
#394: Upgrade socket.IO dependency to v3.0.
#367: add fftw_init_threads and fftw_plan_with_nthreads to MKL wrapper for FFTW.
#356: MKL OneAPI v2021 support.
#355: Qt6 support.
#317: uses fmtlib.