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:
- Enhanced formatting of history
- Make keypad in number bases dialog hidable
- Omit characters in the middle (ellipsize) of very long results (> 500 000 characters) instead of just showing an ellipsis, and show matrix dimension instead of result for very large matrices
- Iconify activated window first to bring it to the front with input focus
- Fix copy result when calculate-as-you-type result is not automatically added to history
- Fix output of a ≤ x ≤ b (on Windows, and possibly other platforms)
- Fix loading of keyboard shortcuts and custom buttons with space in value or label
- Fix segfault with extremely long results
- New matrix syntax (column separated by space or comma, rows separated by semicolon, as in matlab)
- Option to disable "simplified" percentage calculations (e.g. interpret 100 + 20% as 100 + 0.2 instead of 100 × 120%)
- Option to truncate numbers (instead of round to nearest) in result
- Fix Unicode handling on platforms where char is not signed
- Do not make any difference between a vector and a matrix with a single row, or between a scalar and matrix with a single element (libqalculate)
- Support input of functions, units, and variables with underscores omitted in names (e.g. µ0 = µ_0, FermiCoupling = fermi_coupling), with some exceptions (libqalculate)
- Convert K, Hz, and 1/m to J (and derived units) using conversion factor constants (e.g. 1/(550nm) to eV ≈ 2.25 eV) (libqalculate)
- Allow use of M as 10^6 without unit (libqalculate)
- New ksi unit (libqalculate)
- New functions: divisors(), rate(), vertcat(), horzcat() (libqalculate)
- New plastic number (ρ) constant, and new "hbar" name for reduced Planck constant, and add second Unicode codepoint for µ-sign in constants (libqalculate)
- Allow zero (1st and/or 2nd argument) in comb() and perm(), and return zero if second argument (k) is greater than the first (n) (libqalculate)
- Calculate statistical functions (e.g. mode(), min(), max(), percentile()) separately for each column of matrix (libqalculate)
- Return the lowest value if there are multiple values with equal frequency in mode() (libqalculate)
- Parse text argument as expression if concatenate function name is found in text string, and fix concatenate returning date (libqalculate)
- Fix bitrot() (libqalculate)
- Fix segfault in multisolve() when initial order of equations is not optimal (libqalculate)
- Fix segfault with empty sqrt inside sqrt, e.g. sqrt(1+sqrt()) (libqalculate)
- Fix incompletely calculated nounit(), e.g. in unit conversion (libqalculate)
- Minor bug fixes and feature improvements (see the ChangeLog for more details)
Download the source code here:
qalculate-gtk-4.0.0.tar.gz
Download the source code of libqalculate here:
libqalculate-4.0.0.tar.gz
Download Windows binaries here:
64-bit installer
32-bit installer (use compatibility mode to avoid keyboard input issues)
64-bit zip (unpack and run without further installation; no application data are read or written outside of the unpacked directory)
32-bit zip
The 64-bit binaries can now also be installed using the Windows Package Manager (winget). The new Qt GUI requires Windows 10 or later.
GNU/Linux binaries:
A flatpak package is available at https://flathub.org/apps/details/io.github.Qalculate.
A snap package is available at https://snapcraft.io/qalculate.
64-bit (x86) self-contained binaries (extract and run from anywhere on most GNU/Linux distributions; no translations included)
For more information visit the website at http://qalculate.github.io/.