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:
- Click on binary digit in result to flip bit
- Selection of default number of bits for binary and hexadecimal numbers in programming keypad
- Always show binary position numbers in result if numbers of bits are higher than 16, and improve appearance
- Improvements/fixes to conversion completion and menus
- Add retry and cancel buttons to error dialog after failure to save preferences, definitions, or workspace
- Add last result to stack when pressing Enter with empty expression (was unintentionally disabled)
- Selection of default number of bits for binary and hexadecimal numbers in programming keypad
- Always show binary position numbers in result if numbers of bits are higher than 16, and improve appearance
- More rounding methods
- Support for hexadecimal floating-point literals using 0x...p... notation (0x1.4p3 = 0x1.4 * 2^3 = 10)
- Use parentheses for number with scientific notation in more cases
- Fix x and y reversed for paired matrix when using plot dialog
- Detection of potential spelling mistakes (a warning will be shown) (libqalculate)
- Add support for n...m, j:k, and j:i:k syntax, for sequence of numbers, e.g. 1...3 = (1:3) = (1:1:3) = [1 2 3] (note that brackets may be required for colon syntax to avoid conflict with time format) (libqalculate)
- Improved "where" operator, including improved output of parsed expression, support for previously undefined variable names, and assignments before expression (e.g. "a=2, b=2, a^b") (libqalculate)
- New units: LightSecond, LightMinute, and LightHour (libqalculate)
- New functions: bitget(), bitset(), setbits(), integerDigits(), digitGet(), digitSet(), flip(), colon(), and foreach() (libqalculate)
- Add support for "decimals" "to"-conversion (display as decimal fraction) (libqalculate)
- Allow plot grid values higher than 1 (true) to specify line width (libqalculate)
- Improve handling of zero solution and initial guess in newtonsolve() and secantsolve(), and check validity of solution (libqalculate)
- Change handling a vectors in multiple function arguments (of non-vector type) - return vector instead of matrix, require equal number of elements, and use the same vector index for all arguments for each function instance (e.g. atan2([1 2], [3 4]) = [atan2(1, 3) atan(2 4)] (libqalculate)
- Set handle vector property by default, for text, date, and boolean arguments, and for arguments, in global non-builtin functions, without specified type, and enable parsing of vectors for text arguments (libqalculate)
- Do not apply "read precision" setting to integer exponents for values with units (libqalculate)
- Change from line to point (or dot) plot style for data with many discontinuous points (libqalculate)
- lambertw(x*e^x, 0)=x if x>=-1 (libqalculate)
- Fix dsolve(diff(y, x) = y), and similar (libqalculate)
- Fix log(1, 1) (undefined) (libqalculate)
- Fix "to"-conversion to prefix and add "prefix" conversion option (for optimal prefix) (libqalculate)
- Fix segfault in newtonsolve() and secantsolve() when equation does not contain variable (libqalculate)
- Fix conversion to angle unit for complex angle, cis and polar forms (libqalculate)
- Exchange rates fixes (libqalculate)
- Minor bug fixes and feature enhancements
Download the source code here:
qalculate-gtk-5.0.0.tar.gz
Download the source code of libqalculate here:
libqalculate-5.0.0.tar.gz
Download Windows binaries here:
64-bit installer
64-bit zip (unpack and run without further installation; no application data are read or written outside of the unpacked directory)
32-bit installer (without Qt GUI)
32-bit zip (without Qt GUI)
The binaries can 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/.