8 December 2021
New version (v.2.5) of MathGL is released.
Add functions ‘sum’, ‘prod’ at formula evaluation, like ‘sum(_i^2,5)’ will produce 30=0+1^2+2^2+3^2+4^2, and ‘prod(1+_i,5)’ will produce 120=5!. You can nest them for variables ‘_i’,‘_j’,...,‘_z’, like ‘sum(sum(_j+_i^2,5),5)’ will give 200.
Add user-defined functions ‘fn1()’...‘fn9()’ at formula evaluation, like ‘fn1(3)\x^_1’ will produce x^3.
Add functions ‘value’, ‘spline’ at formula evaluation, like ‘value(a,5)’ will give value of 6-th element of a, i.e. a[5].
Add keep for keeping the data phase/sign or value along line i and j in given direction
Add mglODEs() (i.e. extend ode) for solving PDE, cascades and etc.
Add dcont to draw a set of curves, which are intersection of two isosurfaces at given level.
Add lines to draw a set of lines with arrows between points.
Add first, last to get array of first/last indexes of values larger specified one along given direction.
Add mgl_dual_save_hdf(), mgl_real_save_hdf(), mgl_int_save_hdf() for saving single number in HDF5 file. Correspondingly, commands save and savehdf can save single value now.
Add mgl_formula_calc(), mgl_formula_calc_c() for evaluating textual formulas of arbitrary set of data arrays.
Add mglDataList – global mglDataA* collection for viewing/changing in GUI data from external languages (like, Python, ...).
Add Armadillo interface for mglData and mglDataC.
If nsub parameter of command hist is negative (nsub<0) then the linear interpolation is used instead of spline one.
Add dark text colors for mgllab.
Minor bugfixes.
OBSOLETE: Qt4 interface will be disabled in the next release.
OBSOLETE: Functions colorbar will have extra argument opt for options, similarly to axis and other plotting functions. In C++ and SWIG-based interfaces this change "masked" by providing the default value for the argument.
8 July 2019
New version (v.2.4.4) of MathGL is released.
Add minmax for positions of local maximums and minimums.
Add ContGen() and ContFGen() to draw contour lines manually. Correspondingly cont and contf commands are extended.
Extend put for partial filling if data size(s) are smaller as destination.
Classes mglFormula and mglFormulaC now can read file with given sizes if string have the format ":fname:x1:x2:y1:y2:z1:z2". Here data is supposed in range [x1,x2]*[y1,y2]*[z1,z2] (by default [0,1]*[0,1]*[0,1]). Calc() in this case return the interpolated values.
mglData now have operator() which work as SubData() function.
Minor bugfixes.
14 March 2019
New version (v.2.4.3) of MathGL is released.
Add clabel command for drawing colorbar labels. Should be used after drawing colorbar!
Boxes around text (style ‘@’) now use actual height and position of the text.
Add mask to EPS export. Note, mask angles are reduced to 45*(0,1,...7) degrees for decreasing pattern size in the EPS.
Update default masks: ‘*’ become dot, ‘^’ become bricks, ‘d’ become plus, ‘D’ become tacks, ‘;’ and ‘j’ change lengths. Note, you can use brush.ods to prepare user-defined masks.
Add styles ‘^’ and ‘_’ for command smooth to find upper/lower bound of the data.
Improve FlowP() to draw both branches (in positive and negative time direction).
Improve CGI interface and update website.
Introduce struct mdual as interface for C and C++ complex numbers. It is implicitly converted to std::complex<> in C++. And need to call c2mdual() and mdual2c() in pure C. However mdual is binary compatible with C _Complex numbers.
Add flag in CMake to manually disable support of C99 complex numbers.
Bypass user-specified extension in base font family name.
Improve hints in mgllab and udav.
Add utility mgltask for making output file with a set of copies of mask-file. It useful for making set of initial conditions with a few parameters varied in specified range.
Compatibility fixes for new versions of CMake, compilers and libraries.
INCOMPATIBLE:
Formally pure C interface handle complex numbers by new way due to strict following of C/C++ standards. However, the MathGL library is binary compatible with previous version(s).
31 March 2018.
Bugfix version (v.2.4.2.1) of MathGL is released.
21 March 2018.
New version (v.2.4.2) of MathGL is released.
Add custom dialog for FLTK widgets. This can be constructed from C/C++ code, or from MGL script using Special comments.
Add progress for displaying the progress of execution (by ’#’ symbols in console, or by progress-bar widget).
Add contp for contour lines on parametrically specified surface.
Add flow3 for flow threads of 3D vector field, which start from the plain.
Add variant of flow for drawing a flow thread, starting from specified point.
Add new section All samples of documentation with large set of samples for most of MathGL features.
Samples in documentation are generated automatically now (from sample.cpp).
INCOMPATIBLE: Make obsolete MGL command setsizescl. At this, the similar C/C++/Fortran/... functions still working.
Bugfixes.
20 July 2017.
New version (v.2.4.1) of MathGL is released.
Add beltc plot, which is belt with manual coloring.
Add style ‘~’ for plot and tens to omit some points at output.
Add style ‘:’ for axis to draw lines through point (0,0,0).
Bugfixes.
17 May 2017.
New version (v.2.4) of MathGL is released. There are mgllab executable, string manipulation in MGL, new functions, plot types and styles, translation to Russian using gettext and bugfixes:
Add mgllab executable, which is FLTK based version of UDAV. So, most things mgllab do faster.
Add string manipulation in MGL language:
’str’[n] – get string of only n-th symbol;
’str’+v – add value v to the last character of the string;
’str’,val or ’str’,!val – append numeric value to the string (as before).
Add time value to MGL language in format: ‘hh-mm-ss_DD.MM.YYYY’ or ‘hh-mm-ss’ or ‘DD.MM.YYYY’.
Add iris plot to show cross-dependencies of several data arrays.