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 todir
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.- #533:
find
with one lhs did not return expected result with complex. - #536:
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
togetContentAsUnsignedInteger64Scalar
. -
#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 withfunction_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 andconv
: Convolution and polynomial multiplication.
- #468: A(':') = [] was not managed.
BREAKING CHANGE:
-
function ... endfunction
andfunction ... 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
managesSEQUENTIAL TEST REQUIRED
andNATIVE_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.
- comment symbol is '%'. others previous supported comment symbol removed.
- #435:
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
,log
cos
,sin
,tan
atan2
,acos
,asin
- addition, substraction, multiplication, division vectors.
-
system
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 manageMException
. -
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
toMException
-
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.