Changelog
Last updated
Was this helpful?
Last updated
Was this helpful?
All notable changes to this project will be documented in this file.
The format is based on .
Graphics module:
First big step to do plot 2D and 3D with Nelson. Some features are missing and will come in next releases. Current version is usable and show plots possibilities of Nelson.
Do not hesitate to create features requests or bug reports. Contributions are welcome.
Implemented features:
figure
creates an figure window.
cla
clears figure.
axes
creates cartesian axes.
axis
set axis limits and aspect ratios.
cla
clears axes.
zlim
set or get z-axis limits.
ylim
set or get y-axis limits.
xlim
set or get x-axis limits.
clim
set colormap limits.
line
creates primitive line.
plot
2-D line plot.
plot3
3-D line plot.
rgbplot
Plot colormap.
subplot
Create axes in tiled positions.
newplot
Prepare to produce a new plot.
semilogx
Semilog plot (x-axis has log scale).
semilogy
Semilog plot (y-axis has log scale).s
quiver
Quiver or vector plot.
surf
creates surface plot.
text
creates text descriptions to data points.
title
adds title.
legend
adds legend to axes.
xlabel
Label x-axis.
ylabel
Label y-axis.
zlabel
Label z-axis.
grid
Display or hide axes grid lines.
spy
Visualize sparsity pattern of matrix.
image
displays image from array.
imagesc
displays image from array with scaled colors.
cylinder
creates cylinder.
sphere
creates sphere.
close
close one or more figures.
gcf
get current figure graphics object.
gca
get current axes graphics object.
groot
return graphic root object.
refresh
redraws current figure.
ishold
get current hold state.
hold
retain current plot when adding new plots.
view
Camera line of sigh.
saveas
Save figure to specific file format.
copygraphics
Copy plot to clipboard.
isValidGraphicsProperty
check property name is valid for a graphics object type name.
isprop
, properties
, isequal
, eq
, display
, set
, get
for Graphics Object type.
isgraphics
Check if it is an graphics object handles.
colstyle
Parse color and style from string.
is2D
Checks if ax is a 2-D Polar or Cartesian axes.
colorbar
Colorbar showing color scale.
colormap
View and set current colormap.
colormaps:
autumn
: Autumn colormap array.
gray
: Gray colormap array.
parula
: Parula colormap array.
spring
: Spring colormap array.
summer
: Summer colormap array.
winter
: Winter colormap array.
normest
2-norm estimate.
logical operators &
, |
, &&
, ||
for sparses matrix managed.
doxygen documentation generated by Github CI for each release.
--noaudio
CLI argument disable audio (module) in Nelson.
an example to build mexFunction using Rust.
geometry module:
rotx
: 3x3 transformation matrix for rotations around x-axis
roty
: 3x3 transformation matrix for rotations around y-axis
rotz
: 3x3 transformation matrix for rotations around z-axis
spones
replaces non zero sparse matrix elements with ones.
rot90
faster for 2D matrix.
timeout --timeout
CLI argument and system
with timeout return error code 258
on Windows and 134
others platforms.
test_run
catchs error code about test aborted (timeout).
exit
does not allow value > 255 on Linux and MacOS.
Uses MKL or OpenBlas if detected on linux and MacOs (Nelson is faster on Linux and MacOs).
basic terminal was closed immediately if stdin was null.
Github Actions CI warnings.
buildhelp did not return some errors.
Path functions returns sensitive path on Windows. cd ('c:/program files')
returns true path C:/Program Files
.
fileparts builtin updated to be more compatible.
normalizePath internal function reworked.
internal files functions reworked and factorized.
linear algebra module:
rref
: Gauss-Jordan elimination.
orth
: Range space of a matrix.
subspace
: Angle between two subspaces.
planerot
: Givens plane rotation.
condeig
: Condition number with respect to eigenvalues.
bandwidth
: Lower and upper matrix bandwidth.
isbanded
: Determine if matrix is within specific bandwidth.
audio module:
sound
: Convert matrix of signal data to sound and play it.
soundsc
: Scale data and play as sound.
mu2lin
: Convert audio data from mu-law to linear signal.
lin2mu
: Convert audio data from linear singal to mu-law.
elementary functions module:
toeplitz
: Toeplitz matrix.
hadamard
: Hadamard matrix.
wilkinson
: Wilkinson's eigenvalue test matrix.
vander
: Vandermonde matrix.
rosser
: Classic symmetric eigenvalue test problem.
nextpow2
: Next higher power of 2.
permute
: Permute array dimensions.
ipermute
: Inverse permute array dimensions.
rot90
: Rotate array 90 degrees.
special functions module:
dot
: Dot product.
cross
: Cross product.
string module:
isletter
: Determine which characters are letters.
data analysis module:
cumsum
: Cumulative sum.
cumprod
: Cumulative product.
shorcuts &&
and ||
reworked.
assign behavior with empty matrix.
Remove definitively Appveyor CI.
C++ API: getContentAsDoubleScalar
, getContentAsSingleScalar
, getContentAsInteger8Scalar
, ... , getContentAsInteger64Scalar
can check if it is an integer value.
addgateway
, removegateway
, gatewayinfo
builtin moved in modules_manager
module (reduces dependency)
peaks
: peaks function.
parallel module:
fetchNext
: Retrieve next unread outputs from FevalFuture array.
afterAll
: Run function after all functions finish running in the background.
afterEach
: Run function after each functions finish running in the background.
signal processing module:
hann
: Hann window.
hamming
: Hamming window.
bartlett
: Bartlett window.
blackman
: Blackman window.
sinc
: sinc function.
filter2
: 2-D digital filter.
fft2
: Two-dimensional discrete Fourier Transform.
time functions:
weekday
: Day of week.
eomday
: Last day of month.
etime
: Time elapsed between date vectors.
date
: Current date as character vector.
timeit
: Measure time required to run function.
addtodate
: Modify date number by field.
trigonometric functions:
rad2deg
: Convert angle from radians to degrees.
deg2rad
: Convert angle from degrees to radians.
cart2pol
: Transforms Cartesian coordinates to polar or cylindrical.
pol2cart
: Transforms polar or cylindrical coordinates to Cartesian.
cart2sph
: Transforms Cartesian to spherical coordinates.
sph2cart
: Transform spherical coordinates to Cartesian.
sech
: Hyperbolic secant.
secd
: Secant of argument in degrees.
sec
: Secant of angle in radians.
csch
: Hyperbolic cosecant.
cscd
: Cosecant of argument in degrees.
csc
: Cosecant of argument in radians.
coth
: Hyperbolic cotangent.
cot
: Cotangent of argument in radians.
cotd
: Cotangent of argument in degrees.
atand
: Inverse tangent in degrees.
atan2d
: Four-quadrant inverse tangent in degrees.
sinpi
: Computes sin(X * pi) accurately.
cospi
: Computes cos(X * pi) accurately.
asind
: Inverse sine in degrees.
asinh
: Inverse hyperbolic sine.
acosh
: Inverse hyperbolic cosine.
acosd
: Inverse cosine in degrees.
acoth
: Inverse hyperbolic cotangent.
acsc
: Inverse cosecant in radians.
acscd
: Inverse cosecant in degrees.
acsch
: Inverse hyperbolic cosecant.
asec
: Inverse secant in radians.
asecd
: Inverse secant in degrees.
asech
: Inverse hyperbolic secant.
acot
: Inverse cotangent in radians.
acotd
: Inverse cotangent in degrees.
prettier is used to format .xml, .md files.
Code format (.xml, .md, c++) checker added to Github CI.
system
builtin:
returns time execution
timeout input argument can be set to kill process after n seconds.
Windows 32 bits threads support: due to threading limitations with MKL, openMP and others threads computation threads are limited to 4 threads on Windows 32 bits.
Help chapter titles all start with a capital letter.
or
, and
do not manage matrix operator scalar case.
str2func
manages anonymous function.
Parallel functions (part 2):
cancelAll
: Stop all functions running in the background.
cancel
: Stop function running in the background.
wait
: Wait for futures to be completed.
Diary
property for FevalFuture
object.
CITATION.cff with human- and machine-readable citation information for software.
localization files .pot
, .po
updated.
Parallel functions (part 1):
parfeval
: Run function on parallel background thread pool worker.
backgroundPool
: Environment for running code in the background.
fetchOutputs
: Retrieve results from function running in the background.
LGTM replaced by CodeQL (Thanks to Github for their support)
matrix of handles supported.
audioread
, audiowrite
supports new file formats .mp3
, .flac
, .caf
(Thanks to libsndfile).
MacOs 12 Monterey Github CI.
For backport compatibility only Qt5.15.x and Qt6.3 (or more) are supported.
Windows 64 bits: Qt6.3
Windows 32 bits: Qt5.15.x
Ubuntu 22.04: Qt6.3
Ubuntu 20.04, 18.04: Qt5.15.x
MacOs Monterey: Qt6.3
MacOs BigSur, Catalina: Qt5.15.x
Others OS platforms: Qt version based on distributed Qt version.
system
builtin: multithread rework.
Windows build uses /permissive-
option.
Dark theme detection with Gnome.
Linux 64 bits and 32 bits uses same main script.
'sscanf' reworked to manage unicode characters and speed optimization.
French translations imported from Weblate (Thanks to contributors)
Dark theme detected and applied on Linux, MacOS and Windows.
Better detection Qt6 or Qt5 with CMake.
Main Nelson's font was not applied on some OS platforms (ex: MacOS Catalina)
Nelson's help indexing is faster (x100).
Packaging:
add information for Software Center (Linux desktop, icons).
nelson
Main script to start Nelson (superceed others scripts).
isunicodesupported
function: Detect whether the current terminal supports Unicode.
dlsym
function: search nearest symbol name if value entry is not found.
terminal_size
function:Query the size of the terminal window.
Visual studio 2022 solution upgraded,
Github CI and Appveyor use VS 2022 image,
boost 1.78 (VS 2022 x86, x64 build),
Eigen 3.4 stable branch (Feb 06/22),
MSVC 2022 support added to build C/C++ code easily "on fly" on Windows,
slicot 5.0 (VS 2022 x86, x64 build),
libffi (VS 2022 x86, x64 build),
taglib 1.12 (VS 2022 x86, x64 build),
hdf5 1.12.1 (VS 2022 x86, x64 build),
matio 1.5.21 (VS 2022 x86, x64 build),
all others windows dependencies rebuilt with VS 2022.
Nelson uses JuliaMono-Regular
font as default.
scale factor for integer values did not display as expected.
cmake WITH_SLICOT
, WITH_FFTW
, ENABLE_CLANG_TIDY_FIX
were not documented.
display of all types reworked to be pixel perfect
. (a small sentence but a big rework)
format
extended to manage: compact
, loose
, longE
, longG
, hex
, bank
, rational
.
CHANGELOG
0.6.x family.
: Fedora 37 support.
: internal dependencies between modules reworked.
: ArchLinux Github CI was broken.
: Qt 6.4.0 support (win64 release embed Qt6.4.0).
: minimal build and optional installation on MacOs, Linux and Windows.
: MacOs CI was broken (libomp no more detected).
: CodeQL Analyze was broken.
: special case with empty cell.
: Boost 1.80 support (default on Windows)
: move from boost::filesystem to std::filesystem. (It should have no impact for users ...)
: update {fmt}
to 9.1.0.
Nelson uses library to convert characters encoding faster.
: Ubuntu 18.04 CI removed on Github.
: MS MPI runtime v10.1.2.
: MacOS CI was broken.
: profiler failed with sind
example.
: special case with empty cell.
: ones
and zeros
do not manager logical as typename.
: diff
differences and discret derivatives.
: Uses BS thread pool 3.3.0.
: MacOS Catalina removed on Github CI (no more officially supported).
: Fedora 36 Github CI replaces Fedora 35 Github CI.
: c = computer
returns an error.
: help generation crashs if copyright tag is empty.
: datenum does not support vectorization.
: uniformize path for includes and libraries.
: ls
function: List folder contents.
: help viewer embedded (available on all platforms).
: Snap uses Core22 and Qt6 (all dependencies are up-to-date).
: maxNumCompThreads
detects numbers of physical cores on Windows.
: use fmtlib 9.0
: qhelpgenerator on macOs after brew Qt6.3.0 update.
: CodeQL warnings.
: pow2
: Base 2 exponentiation.
: Ubuntu 22.04 CI.
: Qt6 used as default distribution on some OS platforms.
: docker image uses bullseye image.
: libsndfile 1.1.0 used.
: warndlg
, questdlg
, errordlg
, helpdlg
reworked to better Qt6 support.
: rand
was not thread safe.
: Ubuntu 18.04 CI failed.
: MacOs monterey crashs at exit with mpi module.
: Nelson's license moved to LGPL v3.0 and GPL v3.0 and uses SPDX format.
Nelson uses font.
: .pot
used to generate en_US.
: formattedDisplayText
function: Capture display output as string.
: isreal(sqrt(i^4))
did not return true.
: Tests results display use emoji if terminal supports Unicode.
: Nelson as snap package for Linux.
: [Package request] Chocolatey package manager for Windows.
: Nelson available as Portable apps.
: sscanf
function read formatted data from strings.
: make install
step in CI for linux and MacOs.
: embed all tests on linux and macos install.
: C++17 Compiler required to build Nelson.
: Github CI platforms list extended (ArchLinux, Fedora, Ubuntu 18.04, MacOs BigSur).
: Visual studio 2022 build on Windows
: libCurl 7.81 on Windows.
: oneApi 2022.1 on Windows.
: ...
in cells if character vector is too long.
: implicit cast to string array for horzcat and vertcat operators.
: format long
complex do not display expected precision.
: 0^0
did not return expected value.
: many warnings fixed (Thanks to new PVS-Studio and cppcheck).
: docker files updated to support C++17 and new libraries.
: Innosetup display glitch with Nelson's website
button.
: celldisp
: Display cell array contents.
: hypot
builtin: Square root of sum of squares.
: rsf2csf
function: Convert real Schur form to complex Schur form.