Releases: nelson-lang/nelson
v0.2.5
0.2.5 (2018-05-23)
Features:
- logm: matrix logarithm.
- sqrtm: square root of a square matrix.
- eval function: evaluates string for execution in Nelson.
- evalin function: evaluates string for execution in Nelson in a specified scope.
- evalc function: Evaluate Nelson code with console capture.
- winqueryreg function read the Windows registry (Windows only).
- factorial function.
- gamma function.
- plus, minus, le, ne, ge, gt, lt, eq, colon operators added for all integer types.
- le, ne, ge, gt, lt, eq for mixed single & double types.
- add generic overload mechanism for all integers: integer keyword.
- vertcat and horzcat: mixed concatenations logical with integers, single and double added.
- #110: add isproperty & ismethod to all handle types.
- add "isHandleProperty", "isHandleMethod", "getHandleCategory" C++ API Methods.
- #108: cast function: converts variable to a different data type.
- MPI Module loaded if MPI dependency is available.
Bug Fixes:
-
#125: cosm function was slow.
-
#123: addpath stopped to work after repeatedly call to the same path.
-
#121: home key did not work in GUI terminal on prompt.
-
#118: add information in DEVELOPMENT.md about how to buid Boost on old Ubuntu versions.
-
#109: add missing horzcat, vertcat for all handle types.
Compilation:
- BOOST 1.67 on Windows
- MSMPI 9.0.1 on Windows
- Update Visual Studio 15.7.1
v0.2.4
0.2.4 (2018-04-30)
Features:
-
Foreign Function Interface: call C/Fortran functions that are compiled into shared libraries.
- dlopen: loads an dynamic library.
- dlclose: removes/unload dllib object.
- dlsym: loads a C/Fortran symbol for an dynamic library.
- dlcall: C or Fortran Foreign function call.
- dllibinfo: returns list of available symbols in an shared library.
- dllibisloaded: checks if shared library is loaded.
- libpointer: creates an C pointer object usuable in Nelson.
- getdynlibext : returns the extension of dynamic libraries.
-
#101: allows cell_vertcat_generic & cell_horzcat_generic.
Bug Fixes:
#106: update slicot url references.
#104: mpiexec did not work on some linux.
v0.2.3
0.2.3 (2018-03-22)
Features:
-
'strlength': length of strings in an cell of strings.
-
'strrep' and 'replace' builtin : replace substring in a string.
-
export AUDIODEV=null disables audio module (used for Travis CI)
-
'xmldoctomd' : Converts xml Nelson help files to markdown format.
-
'buildhelpmd' : Build help of Nelson's modules for GitBook.
see Nelson's GitBook.
v0.2.2
0.2.2 (2018-02-25)
Features:
- 'count' : computes the number of occurrences of an pattern.
- 'startsWith' : checks if string starts with pattern.
- 'endsWith' : checks if string ends with pattern.
- 'contains' : checks if string contains a pattern.
- audiometadata can modify metadata tags.
- Qt 5.10 used on Windows binaries
Bug Fixes:
#98: jsonencode was slow with a big file (> 60 Mo).
#97: fileread was slow with a big file (> 60 Mo).
#93: playblocking updated to manage range.
#92: play updated to manage range.
#90: factorize handle objects methods.
v0.2.1
0.2.1 (2018-01-30)
Features:
-
pause: pause script execution.
-
keyboard: stop script execution and enter in debug mode.
-
Audio module:
- beep: do a beep sound.
- audiodevinfo: Information about audio device.
- audioplayer: creates an audio player object.
- play: plays audio object.
- playblocking: plays audio object and block execution until finish.
- pause: pauses audio object.
- stop: stops audio object.
- resume: resumes audio object.
- isplaying: returns if audio object is playing.
- audioread: read an audio file.
- audioread: write an audio file.
- audioinfo: get information about audio file.
- audiometadata: get metadata information about audio file.
-
JSON module:
- jsonencode: encodes a Nelson object into a JSON string.
- jsondecode: decodes a JSON string into a Nelson object.
- jsonprettyprint: JSON pretty printer.
-
#89: extends fileread behavior.
-
'filewrite' builtin allows to easily write to file a string array or a cell of strings.
-
'newline' function: returns newline character i.e char(10).
-
ndarraychar_disp was missing.
-
NIG slicot uses json files.
Bug Fixes:
Regenerates help files index if database is empty or wrong (>= Qt 5.9)
#87: struct did not support sparse matrix.
Compilation:
- Update VS 2017 solution to VS 2017 15.5.4
v0.1.12
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
Nelson 0.1.11 build
0.1.11 alpha (2017-11-26)
Features:
-
#75: Intel Math Kernel Library can be used to replace OpenBLAS and FFTW on Windows.
-
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 file.
-
drag & drop .nls (run), .nlf (open with editor) in gui main window.
-
#72: Add a script to check missing help files.
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
Nelson 0.1.10 build
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).
Nelson 0.1.9 build
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.
Nelson 0.1.8 build
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.