#85: paste in text editor should be limited to the text only.
#84: CTRL + A action in text editor.
#83: save action in text editor do a popup to reload file.
#82: home, end, page down, page up keys shorcut not implement in editor.
#75: Intel Math Kernel Library can be used to replace OpenBLAS and FFTW on Windows.
#72: Add a script to check missing help files.
add an embedded script editor for Nelson:
add ‘smartindent’ builtin to indent a .nls or .nlf files.
drag & drop .nls (run), .nlf (open with editor) in gui main window.
#80: code editor: keys up, down, left, right behavior
#78: [p,f,e]=fileparts(‘c:/’) did not return the good result
SLICOT module:
SLICOT (Subroutine Library in Systems and Control Theory) builtin generated with NIG.
slicot_ab01od : Staircase form for multi-input systems using orthogonal state and input transformations.
slicot_ab04md : Discrete-time / continuous-time systems conversion by a bilinear transformation.
slicot_ab07nd : Inverse of a given linear system.
slicot_ab08nd : Construction of a regular pencil for a given system such that its generalized eigenvalues are invariant zeros of the system.
slicot_ag08bd : Zeros and Kronecker structure of a descriptor system pencil.
slicot_mb02md : Solution of Total Least-Squares problem using a SVD approach.
slicot_mb03od : Matrix rank determination by incremental condition estimation.
slicot_mb03pd : Matrix rank determination by incremental condition estimation (row pivoting).
slicot_mb03rd : Reduction of a real Schur form matrix to a block-diagonal form.
slicot_mb04gd : RQ factorization with row pivoting of a matrix.
slicot_mb04md : Balancing a general real matrix.
slicot_mb05od : Matrix exponential for a real matrix, with accuracy estimate.
slicot_mc01td : Checking stability of a given real polynomial.
slicot_sb01bd : Pole assignment for a given matrix pair (A,B).
slicot_sb02od : Solution of continuous- or discrete-time algebraic Riccati equations (generalized Schur vectors method).
slicot_sb03md : Solution of continuous- or discrete-time Lyapunov equations and separation estimation.
slicot_sb03od : Solution of stable continuous- or discrete-time Lyapunov equations (Cholesky factor).
slicot_sb04md : Solution of continuous-time Sylvester equations (Hessenberg-Schur method).
slicot_sb04qd : Solution of discrete-time Sylvester equations (Hessenberg-Schur method).
slicot_sb10jd : Converting a descriptor state-space system into regular state-space form.
slicot_sg02ad : Solution of continuous- or discrete-time algebraic Riccati equations for descriptor systems.
slicot_tb01id : Balancing a system matrix corresponding to a triplet (A, B, C).
slicot_tg01ad : Balancing the matrices of the system pencil corresponding to a descriptor triple (A-lambda E, B, C).
Nelson Interface Generator (NIG) allows to generate Nelson builtin from C/Fortran code.
add ‘isfield’ function to check existence of a fieldname in a struct.
add ‘exist’ function to check existence of variable, builtin, function, file or directory.
add ‘isvar’ function to check existence of variable.
add ‘ismacro’ function to check existence of macro.
add ‘isbuiltin’ function to check existence of builtin.
add ‘f2c’ function to convert fortran code to C from Nelson
optimize ‘vertcat’ and ‘horzcat’ builtin (remove duplicated code).
history file saved on your cloud drive if ‘OneDrive’ environment variable defined.
#74: A=[]; A(end + 1) = 8 failed.
#71: unix & dos did not have help files.
#68: display of nd array of integer were not defined.
#14: error(error_struct) throws an error using the fields of error_struct.
SLICOT used for control functions.
add Fortran 2 C converter library (based on libf2c forked).
add ‘fftshift’ and ‘ifftshift’ functions to shift the zero-frequency component to the center of the spectrum.
add ‘circshift’ function.
colon as string managed for deletion, extraction and insertion.
add ‘rem’ builtin. Remainder after division.
add ‘abs’ builtin. Absolute value.
add ‘repmat’ builtin. Replicates and tiles an array.
add ‘mod’ builtin. Modulus after division.
add ‘maxNumCompThreads’ builtin. Set/Get maximum number of computional threads.
Nelson Visual Studio solution updated to use 2017 version.
On Windows, all dependencies updated to be compatible with VS 2017 runtime.
more 50 warnings fixed (Thanks to PVS-Studio analyzer and also Cppcheck).
#60: Y = complex(rand(500), rand(500)) crashed Nelson.
#58: Manages ICU4C 59.1 on macos X.
FFTW module:
prod : product of array elements builtin added.
conj : complex conjugate builtin added.
transpose and complex conjugate transpose manage all types available in Nelson.
APPVEYOR updated to build windows 32 & 64 bits versions.
On Windows, Nelson can read/write all excel 97-2016 file formats (Excel required) based on COM:
Component Object Model (COM) client interface: binary-interface standard for software components on Windows.
Better management of varargout without output.
Add “<–EXCEL REQUIRED–>” tag managed by test engine.
#53: COM_xlsread did not support path with dot ‘.’
#50: qml demos did not start on adv-cli mode.
The QML engine enables nelson programs to display and manipulate graphical content using Qt’s QML framework.
qml_demos // for demonstrations
Qt 5.9 used on Windows binaries
add CONTRIBUTING.md , CODE_OF_CONDUCT.md and ROADMAP.md files
add ‘heldlg’, ‘msgbox’, ‘errordlg’, ‘warndlg’ functions based on QML.
add ‘questdlg’ function (Creates a question dialog box) based on QML.
add ‘==’, ‘~=’, ‘isequal’, ‘isequaln’ overload for handle and QObject.
add ishandle, isprop, ismethod, method, properties builtin.
add set, get, invoke, isvalid builtin used by handle objects.
extends clear function to call delete if ‘TYPEHANDLE_clear’ function is defined.
add handle object type.
gui module also loaded in advanced cli mode.
add ‘sind’, ‘cosd’, ‘tand’ functions.
add more output information in the result file of test_run function.
#47: add isfinite builtin.
#43: rename getContentsAsWideString to getContentAsWideString.
#27: >= operator was not implemented.
#41: test_makeref starts a new clear session to create a ref file.
#39: inv([0 0;i() 3]) did not return [Inf, Inf; Inf, Inf] on ARM platform.
#25: ndims added.
#24: isnan & isinf added.
LAPACKE used for linear algebra functions. On Windows, OpenBLAS used. On others platforms reference library LAPACKE used.
#34: Windows installer did not copy module_skeleton help files at the good place.
#31: doc function was too slow (indexing at each restart).
#30: Search path order for functions was wrong.
#28: Each public builtin have a help file.
#26: 7.853981633974482790D-01 was not correctly parsed.
#22: last output argument of ‘IJV’ did not return nzmax.
#19: rand & randn did not use Column-major order.
#17: ‘locales’ directory renamed as ‘locale’ (more standard).
#13: mldivide and mrdivide builtin were missing.
#11: colon constructor failed with some special values.
#10: module_skeleton did not build/load.
#8: test_nargin & test_nargout failed in Windows binary version.
#5: help browser did not work on some Windows