Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to use but provides power and versatility normally reserved for complicated math packages, as well as useful tools for everyday needs (such as currency conversion and percent calculation). Features include a large library of customizable functions, unit calculations and conversion, symbolic calculations (including integrals and equations), arbitrary precision, uncertainty propagation, interval arithmetic, plotting, and a user-friendly interface (Gtk, Qt, and CLI).
Changes:
- Toggle state of checkboxes in lists (e.g. precalculate checkbox, and in names edit dialog) when clicking anywhere in the column
- Fix parse status and calculate-as-you-type when "where" expression defines a new symbol
- Do not show calculate-as-you-type result with undefined value (including division by zero), with adaptive delay enabled
- Suggest conversion to time format for results with time unit
- Georgian translation
- Add set functions (union, intersect, setdiff, setxor, isMember, isSubset) and operators (∪, ∩, ∖, ⊖, ∈, ⊆, etc.) (libqalculate)
- Add characters(), count(), digitSum(), and digitalRoot(), find(), popCount(), string(), and while() functions (libqalculate)
- Support negative row and column values in element(), row(), and column() functions (libqalculate)
- Support matrix[row][column] syntax (libqalculate)
- Fix support for vector in argument of many functions (erf, mod, exp, etc.) (libqalculate)
- Support text objects in sort() function (libqalculate)
- Add third optional argument to interval() function to allow exclusion of exact endpoints (libqalculate)
- Ignore "to" and "where" (and equivalent symbols) inside quotation marks (libqalculate)
- Ignore dot in front of plus or minus (for consistent behavior in line with entrywise operators) (libqalculate)
- Show "Division by zero" warning for all divisions by zero (libqalculate)
- Make display of expressions with time units in time format more consistent (libqalculate)
- Fix explicit conversion to mixed units for year variants (libqalculate)
- Fix first digit missing in return value of integerDigits() in some cases (libqalculate)
- Fix segfault when Calculator object is destroyed with uninitialized random state (libqalculate)
- Fix infinite loop when referencing subfunction in another subfunction (libqalculate)
- Fix segfault in replace() with variable specified using where expression, e.g. "replace(v, x, 1) where v = x" (libqalculate)
- Fix segfault when data set function name is followed immediately by a single dot (libqalculate)
- Fix v[i]=a syntax for vector element assignment (libqalculate)
- Minor bug fixes and feature enhancements
Download the source code here:
qalculate-qt-5.11.0.tar.gz
Download the source code of libqalculate here:
libqalculate-5.11.0.tar.gz
Windows binaries:
64-bit installer
64-bit zip (unpack and run without further installation; no application data are read or written outside of the unpacked directory)
The binaries requires Windows 10 (1809) or later. They can also be installed using the Windows Package Manager (winget) or Chocolatey.
GNU/Linux binaries:
A flatpak package is available at https://flathub.org/apps/details/io.github.Qalculate.qalculate-qt.
For more information visit the website at http://qalculate.github.io/.