Releases: nelson-lang/nelson
v0.2.12
0.2.12 (2018-12-31)
Features:
HDF5 high-level functions:
- h5dump: Dump the content of hdf5 file as text.
- h5ls: List the content of an hdf5.
- h5writeatt: Writes HDF5 attribute.
- h5readatt: Read HDF5 attribute.
- h5write: Writes HDF5 data set.
- h5readatt: Read HDF5 data set.
- h5create: Creates a data set.
Bug Fixes:
Compilation:
- BOOST 1.68 on Windows
- Eigen 3.3.7
v0.2.11
Features:
-
Nelson in the cloud:
- easy way to deploy (npm package and docker)
- add 'sioemit' builtin. Send data from Nelson to client.
- add 'siogetvariable' function. Send variable value to client.
- add nelson_sio_client executable used by Nelson in the cloud framework.
-
addition, substration, mtimes, times, power with integers reworked.
-
integer cast optimized.
-
modernize/optimize C++ with LLVM tools.
v0.2.10
0.2.10 (2018-10-20)
Features:
-
string array type added:
- strings, string builtin: string array constructor.
- isstring: Return true if variable var is a string array.
- parser updated to manage string array:
A = ["Nelson" "manages"; "string" "array"]
- isequal, isequaln, isequalto extended to manage string array.
- transpose, ctranspose extended to manage string array.
- horzcat, vertcat extended to manage string array.
- cell extended to manage string array.
- double extended to manage string array.
- tolower, toupper extended to manage string array.
- strtrim extended to manage string array.
- strlength extended to manage string array.
- count extended to manage string array.
- contains extended to manage string array.
- startsWith, endsWith extended to manage string array.
- replace, strrep extended to manage string array.
- str2double extended to manage string array.
- fprintf, sprintf extended to manage string array.
- strfind extended to manage string array.
- strcmp, strcmpi, strncmp, strncmpi extended to manage string array.
- fileread, filewrite extended to manage string array.
- operators ==, ~=, <, >, >=, <= extended to manage string array.
- operator plus extended to manage string array.
- loadbin, savebin extended to manage string array.
- MPI interface extended to manage string array.
-
deblank builtin: removes trailing whitespace from a cell of strings, a string array or a character vectors.
-
ismissing builtin: search missing values.
-
cellstr function: converts to cell array of character vectors.
-
operators ==, ~=, <, >, >=, <= reworked (Compatiblity Array Sizes increased).
-
==, ~=, isequal: speed optimization.
-
internal API C++ methods renamed:
- "stringConstructor" --> "characterArrayConstructor".
- "isString" --> "isCharacterArray"
- "isSingleString" --> "isRowVectorCharacterArray"
-
#164: operators ==, ~=, <, >, >=, <= code factorized.
-
#159: addpath must return an warning and not an error for an non existing path.
-
#157: fix warnings detected by LGTM.com.
-
#156: Moves dbstack in 'debugger' module.
v0.2.9
0.2.9 (2018-09-23)
Features:
-
Overload and speed optimization:
- all operators use by default predefined functions. Nelson will search if operators are missing for a specific type.
- add overloadbasictypes function to change default behavior.
- gamma function speed x4 (overloading)
-
power element-wise operator reworked (overloading and mixed types).
-
colon operator reworked (overloading and mixed types).
-
ndarray subclass no more exists. class merged with basic type (speed optimization).
-
isequalto builtin added (returns true if all arguments x1, x2, ... , xn are equal i.e same type, same dimensions, same values or NaNs).
-
tanm, sinm builtin added.
-
strtrim builtin: removes leading and trailing whitespace from a cell of strings or a string.
-
cell & struct managed for complex transpose & transpose.
-
for, index column or matrix: behavior changed.
Warning: It is a breaking feature.
// Please replace: A = [1:4]'; for i = A, x = i + 1, end // by: A = [1:4]'; for i = A(:)', x = i + 1, end
Bug Fixes:
-
#133: Replaced uncommon term "trinary" by "ternary".
-
#119: Execution of simple expression "1+2+3" was rather slow.
-
#115:code about single & double operators was factorized
-
#114: Move gamma function in a dedicated module "special_functions".
Compilation:
- Enable LGTM.com analysis for C/C++ code.
v0.2.8
0.2.8 (2018-08-26)
Features:
-
error manager reworked.
- internal C++ function did no more require reference to evaluator.
- error and warning internally managed as exceptions.
-
'dbstack' builtin get current instruction calling tree.
-
#16: lastwarn builtin (Last recorded warning message).
-
#15: warning builtin was extended (state and identifier added).
Bug Fixes:
-
#152: insertion did not return expected result for empty matrix.
-
#138: colon operator did not return expected for non scalar element.
Compilation:
- Qt 5.11.1 on Windows
v0.2.7
0.2.7 (2018-07-29)
Features:
-
sqrt builtin (Square root)
-
log builtin (Natural logarithm)
-
angle function (Phase angle)
-
atan2 builtin (four-quadrant inverse tangent)
-
exp builtin (exponential)
-
#142: clear('functionName') clears all persistent variables of functionName function.
-
addition, substraction reworked (Compatiblity Array Sizes increased, code factorized).
-
&, |, &&, || operators reworked (Compatiblity Array Sizes increased).
-
havecompiler uses a persistent variable to speedup result.
Bug Fixes:
v0.2.6
0.2.6 (2018-06-26)
Features:
-
Nelson provides a cross-platform command-line tool written in Nelson for compiling native addon modules for Nelson. It takes away the pain of dealing with the various differences in build platforms:
-
helper's functions to build C/C++ code easily on Windows, Linux, MacOS X:
- dlgeneratemake: generates a makefile for building a dynamic library.
- dlgeneratecleaner: generates cleaner.nls file for C++ gateway.
- dlgenerateloader: generates loader.nls file for C++ gateway.
- dlgenerateunloader: generates unloader.nls file for C++ gateway.
- dlgenerategateway: generates C++ gateway.
- findcmake: find CMake path.
- cmake function: call CMake tool.
- dlmake: call make or nmake tool.
-
detect and configure C/C++ compilers on Windows, Linux, MacosX:
-
On Windows:
- VS 2017 Professional, Entreprise, Community supported.
- MinGW-W64 for 32 and 64 bit supported.
- By default, Nelson does not try to detect a C/C++ compiler on Windows.
Do not forget to run 'configuremsvc' or 'configuremingw' once.
-
On Linux:
- GNU C/C++ Compilers, Clang.
-
MacOS X:
- Xcode or GNU compiler available via Homebrew .
-
-
havecompiler function: returns if a compiler is configured.
-
configuremingw function: select and configure Mingw-w64 compilers.
-
configuremsvc function: select and configure Microsoft compilers.
-
loadcompilerconf function: load compiler configuration
-
removecompilerconf function: remove compiler configuration
-
vswhere function: detects easily modern Microsoft compilers.
-
-
module skeleton updated to build an example with C++ function (cpp_sum).
-
sprintf, fprintf functions: format data into a string or a file.
-
add "<--C/C++ COMPILER REQUIRED-->" tag managed by test engine.
-
add "<--INDEX 64 BIT REQUIRED-->" tag managed by test engine.
-
norm function: matrix and vectors norms.
-
#128: code indented with clang-format (webkit coding style)
Bug Fixes:
-
#139: fix(1e10) returned a wrong value.
-
#136: Corrected predecence of Colon ":" operator.
-
#134: Evaluation of Non-Scalar If-Condition Expression was not managed.
-
#116: fix display size of big sparse matrix.
Compilation:
- libffi 3.2.1 dll on Windows 32 & 64 bit
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.