Skip to content

Releases: nelson-lang/nelson

v0.2.5

23 May 17:13
Compare
Choose a tag to compare
v0.2.5 Pre-release
Pre-release

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

29 Apr 18:36
Compare
Choose a tag to compare
v0.2.4 Pre-release
Pre-release

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

22 Mar 20:25
Compare
Choose a tag to compare
v0.2.3 Pre-release
Pre-release

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

25 Feb 17:32
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

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

30 Jan 18:56
Compare
Choose a tag to compare
v0.2.1 Pre-release
Pre-release

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

24 Dec 15:36
Compare
Choose a tag to compare
v0.1.12 Pre-release
Pre-release

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

26 Nov 16:21
Compare
Choose a tag to compare
Nelson 0.1.11 build Pre-release
Pre-release

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

28 Oct 17:52
Compare
Choose a tag to compare
Nelson 0.1.10 build Pre-release
Pre-release

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

03 Sep 09:48
Compare
Choose a tag to compare
Nelson 0.1.9 build Pre-release
Pre-release

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

15 Aug 11:04
Compare
Choose a tag to compare
Nelson 0.1.8 build Pre-release
Pre-release

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.