CHANGELOG-0.1.x
0.1.12 (2017-12-24)
Features:
MPI interface for Nelson
MPI_Initialized : Indicates whether MPI_Init has been called.
MPI_Finalize : Terminates MPI execution environment.
MPI_Init : Initialize the MPI execution environment.
MPI_Get_processor_name : Gets the name of the processor.
MPI_Get_version : Return the version number of MPI.
MPI_Get_library_version : Return the version number of MPI library.
MPI_Recv : Blocking receive for a message.
MPI_Send : Performs a blocking send.
MPI_Barrier : Blocks until all processes in the communicator have reached this routine.
MPI_Bcast : Broadcasts a message from the process with rank "root" to all other processes of the communicator.
MPI_Reduce : Reduces values on all processes to a single value.
MPI_Allreduce : Combines values from all processes and distributes the result back to all processes.
MPI_Probe : Blocking test for a message.
MPI_Iprobe : Nonblocking test for a message.
MPI_Comm_object : Creates MPI_Comm object.
MPI_Comm_disp : displays MPI_Comm object.
MPI_Comm_get_name : Return the print name from the communicator.
MPI_Comm_delete : delete MPI_Comm object in Nelson environment.
MPI_Comm_used : get used MPI_Comm objects in Nelson environment.
MPI_Comm_isvalid : check MPI_Comm handle validity.
MPI_Comm_split : Creates new communicators based on colors and keys.
MPI_Comm_rank : Determines the rank of the calling process in the communicator.
MPI_Comm_size : Determines the size of the group associated with a communicator.
mpiexec : Run an MPI script.
Bug Fixes:
#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.
Compilation:
Update VS 2017 solution to VS 2017 15.5.1
0.1.11 alpha (2017-11-25)
Features:
#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:
'edit' builtin added.
syntax colorization.
text completion.
smart indentation.
drag & drop files.
files modification notified.
files association: .nls .nlf
add 'smartindent' builtin to indent a .nls or .nlf files.
drag & drop .nls (run), .nlf (open with editor) in gui main window.
Bug Fixes:
#80: code editor: keys up, down, left, right behavior
#78: [p,f,e]=fileparts('c:/') did not return the good result
Compilation:
BOOST 1.65.1 on Windows
0.1.10 alpha (2017-10-29)
Features:
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.
Bug Fixes:
#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.
Compilation:
SLICOT used for control functions.
add Fortran 2 C converter library (based on libf2c forked).
0.1.9 alpha (2017-09-02)
Features:
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.
Compilation:
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).
Bug Fixes:
#60: Y = complex(rand(500), rand(500)) crashed Nelson.
#58: Manages ICU4C 59.1 on macos X.
0.1.8 alpha (2017-08-15)
Features:
FFTW module:
fft, ifft, fftn, ifftn functions based on FFTW library.
fftw function to manage FFTW wisdom data.
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.
0.1.7 alpha (2017-07-16)
Features:
On Windows, Nelson can read/write all excel 97-2016 file formats (Excel required) based on COM:
COM_xlsread : read a xls/xlsx file.
COM_xlswrite : write a xls/xlsx file.
COM_xlsfinfo : get information about xls/xlsx file.
Component Object Model (COM) client interface: binary-interface standard for software components on Windows.
actxcontrollist : get list all available control services installed on current Windows.
actxserverlist : get list all available active X services installed on current Windows.
actxGetRunningServer : get COM handle of an existing COM server.
actxserver : creates a COM server.
COM_used : get list of COM handle currently used in current Nelson's session.
iscom : determines if it is a COM handle.
overload on : class, delete, disp, fieldnames, get, set, invoke, ismethod, isprop, isvalid, methods.
add COM handle.
see examples in [modulepath('com_engine'), '/examples/'] directory.
Better management of varargout without output.
Add "<--EXCEL REQUIRED-->" tag managed by test engine.
Bug Fixes:
#53: COM_xlsread did not support path with dot '.'
#50: qml demos did not start on adv-cli mode.
0.1.6 alpha (2017-06-19)
Features:
The QML engine enables nelson programs to display and manipulate graphical content using Qt's QML framework.
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.
Bug Fixes:
#47: add isfinite builtin.
#43: rename getContentsAsWideString to getContentAsWideString.
#27: >= operator was not implemented.
0.1.5 alpha (2017-04-17)
Features:
Optimize constructors allocation for eye, ones, Inf, NaN, rand, randn functions.
Add 'issymmetric' function.
Add 'svd' function.
Add 'rcond' function.
Bug Fixes:
#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.
0.1.4 alpha (2017-03-19)
Compilation:
LAPACKE used for linear algebra functions. On Windows, OpenBLAS used. On others platforms reference library LAPACKE used.
Features:
Add 'isnan' function.
Rework double and single matrix 2D display.
Add 'trace' function.
Add 'schur' function.
Add 'inv' function.
Add 'expm' function (single, double, sparse double managed).
Rename 'string' type to 'char' type, 'string' type will be added later.
Add 'dlmwrite' function.
Add 'mat2str' function (sparse managed).
Add 'str2double' function.
Add 'cosm' function.
which(function_name, '-all') without output argument display paths.
Bug Fixes:
#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.
0.1.3 alpha (2017-02-11)
Features:
datevec updated to manage vectors, matrix.
Add 'nnz', 'nzmax', 'numel' functions.
Rework 'searchenv' to return a cell of strings.
Update persistent variables behavior (clear functions).
Add 'ceil', 'floor', 'round', 'fix' functions.
Add sparse support for acos, asin, atan, cos, cosh, sin, sinh, tan, tanh.
Add website and bug reports link in help menu.
Bug Fixes:
#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.
0.1.2 alpha (2017-01-01)
Bug Fixes:
#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.
0.1.1 alpha (2016-12-30)
Bug Fixes:
#5: help browser did not work on some Windows
0.1.0 alpha (2016-12-28)
Initial import in github of Nelson
Last updated