Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
488 commits
Select commit Hold shift + click to select a range
0ac7f4c
Ask for interpretation of comma (when comma is not default decimal se…
hanna-kn Jul 17, 2025
1d9bcd0
Fix description (phonewords digits) for base function; Fix missing cl…
hanna-kn Jul 17, 2025
448b8f4
Fix calculate as you type and indentation in readline vi mode when th…
hanna-kn Jul 17, 2025
b56d623
Fix segfault with text argument containing potential text returning f…
hanna-kn Jul 17, 2025
cd5d31b
Fixes for input of second argument of log() function with a number be…
hanna-kn Jul 19, 2025
4076907
Fix segfault during calculation of (in)equality with root() function …
hanna-kn Jul 19, 2025
2a84198
Only check show-mode-in-prompt once, and do not update vi/emacs-mode …
hanna-kn Jul 22, 2025
fe693b6
Fix input of inverse trigonometric function using Unicode power (e.g.…
hanna-kn Jul 24, 2025
007c43f
Fix completion of text string ending with capital E (issue #814); Min…
hanna-kn Jul 26, 2025
ecaa8b4
Fix qError() function (issue #815)
hanna-kn Jul 29, 2025
180a749
Add support for input of functions with more than one argument using …
hanna-kn Aug 2, 2025
2fe22d7
Load exchange rates even if exchange rates updates is not enabled (co…
hanna-kn Aug 3, 2025
97db5e1
Remove duplicate statement
hanna-kn Aug 4, 2025
b7bd939
sync Russian translations with GUI and add TeX point unit (#817)
idamir Aug 9, 2025
82d271a
Update pt unit title, add description, and remove recently added name…
hanna-kn Aug 9, 2025
d53f583
Add symbols/abbreviations with variant name (US, UK) as suffix (shown…
hanna-kn Aug 11, 2025
b124403
Fix names/symbols for imperial pint; Use plural in descriptions for r…
hanna-kn Aug 14, 2025
b5dbc69
Add "save config" option (if disabled qalc.cfg is never automatically…
hanna-kn Aug 16, 2025
ed349ff
Fix calculate as you type and indentation with prompt string containi…
hanna-kn Aug 16, 2025
6d9a9d0
Fix poolvar() and ttest() functions; Simplify weighmean() function; C…
hanna-kn Aug 20, 2025
89986dd
Fix cor() function; cor() and pearson() are the same function; Simpli…
hanna-kn Aug 20, 2025
57ba4b7
Parse 'p' in hexadecimal number as an operator (raise and multiply af…
hanna-kn Aug 20, 2025
4456b80
Allow use of non-existing variables, without using quotation marks or…
hanna-kn Aug 22, 2025
15f1d70
Fix dollarde() and dollarfr() functions (issue #826) Update title of …
hanna-kn Aug 27, 2025
3f75abf
Add output in scientific (sci), or engineering (eng), notation as "to…
hanna-kn Aug 29, 2025
544bd47
Update calculation of fraction of year (with day counting basis 0 and…
hanna-kn Aug 30, 2025
a64599d
Fix segfault with very small numbers (when floatValue() should return…
hanna-kn Aug 31, 2025
fcd2f1b
Show warning the first time an equation is solved, in qalc (issue #83…
hanna-kn Sep 1, 2025
57f131d
Fix dof() with fourth argument "APS-CN" or "4/3" (issue #831); Fix tb…
hanna-kn Sep 4, 2025
e085c40
Add "simple" to-operator option for non-scientific notation and apply…
hanna-kn Sep 4, 2025
1f5c60e
Update README and README.md; Update ChangeLog; Update translations; A…
hanna-kn Sep 5, 2025
50ae680
add function translation (traditional chinese)
howaboutuser Sep 6, 2025
faacc07
Merge pull request #833 from howaboutuser/master
hanna-kn Sep 7, 2025
e105571
Update README and README.md
hanna-kn Sep 7, 2025
59d267d
Relocate qalc.history to $XDG_STATE_HOME (~/.local/state) (issue #808…
hanna-kn Sep 8, 2025
a9f5f9d
Fix value of planck unit (was rounded to 7 decimals) (issue #834)
hanna-kn Sep 11, 2025
fd34ad1
Fix segfault (infinite loop) in Calculator::findMatchingUnit() with "…
hanna-kn Sep 12, 2025
d579a97
Fix segfault when plot data generation is aborted
hanna-kn Sep 14, 2025
9457a66
More efficient reducing of vector size (fixes segfault when aborting …
hanna-kn Sep 17, 2025
1c83cf0
Fix search term with more than one word and search for word preceded …
hanna-kn Sep 17, 2025
4a94b35
Fix inequality with 1/f(x) on one side, e.g. "1/(x-2) <= 2" (issue #837)
hanna-kn Sep 18, 2025
fc646dc
Fix find/list with search term with multiple words (first word were i…
hanna-kn Sep 19, 2025
9f11f34
Move (micro)einstein/(m²⋅s) to new category (molar flux) and add corr…
hanna-kn Sep 20, 2025
55c6747
Automatically update calculate-as-you-type calculations every second …
hanna-kn Sep 22, 2025
c16e2f2
Add Kayser, Lambert, Foot-Lambert, Darcy, and Millidarcy units; "foot…
hanna-kn Sep 22, 2025
c5b95bd
Fix uninitialized struct tm causing date/time functions to fail (issu…
aib Sep 23, 2025
ee4a370
Merge pull request #841 from aib/fix-bad-local-timezone
hanna-kn Sep 24, 2025
325a2e6
Fix language option without encoding (without ".utf8" at end); Fix LA…
hanna-kn Sep 24, 2025
649273b
Fix segfault when calculating log(a^n, a) function when interval arth…
hanna-kn Sep 25, 2025
32947a9
Add cubic centimeter and cc (hidden) units (issue #843)
hanna-kn Sep 27, 2025
e552fd9
Improve handling of equations when calculating interval using interva…
hanna-kn Sep 30, 2025
9e722cf
Show warning and ask for confirmation when decativating interval arit…
hanna-kn Sep 30, 2025
39a7f0a
add unit translation (traditional chinese)
howaboutuser Oct 5, 2025
5881b44
update traditional chinese translation
howaboutuser Oct 5, 2025
1ae62ab
update traditional chinese translation
howaboutuser Oct 5, 2025
16e8ac0
Improve handling of equations when calculating interval using interva…
hanna-kn Oct 5, 2025
9ab921e
Merge pull request #849 from howaboutuser/master
hanna-kn Oct 6, 2025
e5d52ab
Fix reference names not used for reference of base units in some case…
hanna-kn Oct 7, 2025
78aa3fa
Allow any separator before time in date/time value if colon is used, …
hanna-kn Oct 8, 2025
bb26ba0
Improve speed when performing many multiple calculations read from fi…
hanna-kn Oct 9, 2025
40a68e1
Improve calculation timer accuracy and add workaround for low time re…
hanna-kn Oct 10, 2025
782bdf5
Fix saving of variables with extremely large numbers and use scientif…
hanna-kn Oct 13, 2025
c081977
Fix compilation with readline < 8.2
hanna-kn Oct 13, 2025
113f444
Fix compilation with -fsanitize=undefined (issue #853)
hanna-kn Oct 13, 2025
70ac0c4
Fix matching of multiple words in title (issue #836)
hanna-kn Oct 13, 2025
9370610
Fix "make test" (unittest) when compiled with --disable-insecure (iss…
hanna-kn Oct 13, 2025
df8cefd
Show error when function or variable disabled by "--disable-insecure"…
hanna-kn Oct 13, 2025
bbcfa58
New completion method which presents a numbered list of matches and l…
hanna-kn Oct 16, 2025
ae0a561
Improve completion; Improve support for character encodings other tha…
hanna-kn Oct 17, 2025
c95fe84
Fix crash after factorization with calculate-as-you-type enabled (iss…
hanna-kn Oct 17, 2025
40862f4
Improve completion
hanna-kn Oct 18, 2025
3d2973f
Improve completion
hanna-kn Oct 19, 2025
ddc2d9a
Avoid "Did you mean..." warning with same original text string as sug…
hanna-kn Oct 21, 2025
f05bd69
Fix unable to write preferences because of missing configuration dire…
hanna-kn Oct 21, 2025
39a37fc
update traditional chinese translation
howaboutuser Oct 22, 2025
e771bb8
Merge pull request #857 from howaboutuser/master
hanna-kn Oct 22, 2025
eb358eb
Fix infinite loop during factorization (e.g. when calculating "base(1…
hanna-kn Oct 22, 2025
f757e3b
Improve interpretation of function expressions with x, y, and/or z in…
hanna-kn Oct 26, 2025
6c114cc
Limit the range of supported arguments in bessely and besselj functio…
hanna-kn Oct 29, 2025
a5040e6
Add default currency option in qalc
hanna-kn Oct 30, 2025
7de39ee
Add circshift and replacePart functions; v[i, ...]=... syntax for ass…
hanna-kn Nov 1, 2025
723ebe9
Fix compilation without readline (issue #861)
hanna-kn Nov 1, 2025
13274af
Add reshape() function; Update matrix/vector tests; Add warning when …
hanna-kn Nov 6, 2025
84d7e78
Show error when plot function is used when Gnuplot is not found or is…
hanna-kn Nov 8, 2025
288065b
Fix segfault with entrywise operation on a column vector and an empty…
hanna-kn Nov 8, 2025
d3e2269
Fix handling of single quotation marks; Fix segfaults with "{" or "}"…
hanna-kn Nov 8, 2025
6f98fee
Limit the range of supported arguments in igamma function to avoid se…
hanna-kn Nov 9, 2025
334d54b
Fix use of options "ignore locale" and "language" in command line arg…
hanna-kn Nov 9, 2025
24d4a22
Add abortion point in bernoulli function with non-zero second argumen…
hanna-kn Nov 11, 2025
9942462
Show vector, with many elements, in result using colon function when …
hanna-kn Nov 15, 2025
4a4c32c
Show colon function in result using [a:b:c] syntax; Revert "avoid cal…
hanna-kn Nov 17, 2025
c1d574c
build: drop intltool requirement (#869)
sgn Nov 21, 2025
0248829
Fix definitions translations; Fix untranslatable text strings in defi…
hanna-kn Nov 21, 2025
ab5a481
Translation fixes
hanna-kn Nov 21, 2025
0819ad0
Fix compatibility with gettext 0.19.7; Remove copied files (e.g. in m…
hanna-kn Nov 22, 2025
4b6e5bf
Fix (almost) endless loop with increasingly complex equations in x+x^…
hanna-kn Nov 24, 2025
2719545
Add missing Makefile.am (issue #871) and remove obsolete patch
hanna-kn Nov 25, 2025
307d10c
Fix floating point conversion when comma is used as decimal separator
hanna-kn Nov 26, 2025
e5b6941
update traditional chinese translation (#874)
howaboutuser Nov 30, 2025
73a5d84
Fix lost line breaks in text strings (descriptions) for translation o…
hanna-kn Nov 30, 2025
5bcff6d
Add ax_prog_cxx_for_build.m4 to remove dependency on autoconf-archive…
hanna-kn Nov 30, 2025
7f2ec91
Improve speed of vector sort; Improve efficieny of MathStructure chil…
hanna-kn Dec 11, 2025
22b4beb
Fix exchange rates marked as used (and subsequently updated) after ca…
hanna-kn Dec 16, 2025
ab11e42
Improve speed of vector rank and mode; Improve vector sort; Reduce un…
hanna-kn Dec 16, 2025
1aa0be6
Do not remove duplicate whitespace characters from text strings (in q…
hanna-kn Dec 16, 2025
a5e4d1b
Ellipsize large matrices and vectors when a subset of output (e.g. in…
hanna-kn Dec 18, 2025
ae042be
Do not show result for variable assignment when -t and -f command lin…
hanna-kn Dec 18, 2025
1bb09cc
Simplify (x = a || x >= a+1) and (x = a || x <= a - 1) when x is an u…
hanna-kn Dec 20, 2025
dd7726c
Always consider x^(a+b) equivalent to x^a * x^b (fixes "x^(y+z) - x^y…
hanna-kn Dec 22, 2025
8d03f5a
Fix abortion of matrix resize in some cases; Improved avoidance of pl…
hanna-kn Dec 29, 2025
2201a4f
Parse +/- before implicit multiplication when not preceded by number …
hanna-kn Dec 30, 2025
c96cdb4
Completion for commands and options; Calculate-as-you-type improvemen…
hanna-kn Dec 31, 2025
4ee767b
Add example and support for x, y, and z without preceding backslash i…
hanna-kn Jan 3, 2026
851c3e1
Fix support for vector as only argument to function in function() fun…
hanna-kn Jan 3, 2026
8e9d58f
Fix conversion to non-unit expression beginning with zero (when not b…
hanna-kn Jan 5, 2026
3c4e107
Add exact values for multiples of pi/12 (15°) in sin() and cos(), and…
hanna-kn Jan 8, 2026
6f75564
Clean up code for reading default values from function expression and…
hanna-kn Jan 13, 2026
4c3c8b9
Improve/fix simplification of n=a||n>=a+1 and n<=a||n>=a+1 where n an…
hanna-kn Jan 14, 2026
c161135
Fix segfault in some corner cases when converting approximate units b…
hanna-kn Jan 19, 2026
706bfb1
Set initial random seed using /dev/random (issue #894)
hanna-kn Jan 26, 2026
5c844d9
Use BCryptGenRandom for random seed on Windows (issue #894); Do not i…
hanna-kn Jan 26, 2026
43e0013
Improve handling of "to mixed" after previous conversion statement (e…
hanna-kn Jan 27, 2026
414333f
Delay simplification of integer inequalities (e.g. from n>0 to n>=1) …
hanna-kn Feb 6, 2026
f237c4f
Normalize sign of argument of abs function using |-a|=|a| property (i…
hanna-kn Feb 8, 2026
4c1b6ce
Improve solving of abs(f(x))=0, abs(f(x))<=a, and abs(f(x))>=a
hanna-kn Feb 8, 2026
ee21afa
sgn(x^a)=sgn(x)^a if a is real; Normalize sign of argument in sgn, er…
hanna-kn Feb 9, 2026
2631356
Fix limit with cube root of negative number (fixes test expression br…
hanna-kn Feb 9, 2026
3290ebc
Do not return 1 when limit results in 0^0 (the limit function will in…
hanna-kn Feb 9, 2026
4ee3afd
Use L'Hôpital's rule for 0^0 and infinity^0 (in addition to 1^infinit…
hanna-kn Feb 16, 2026
2e5e97e
Fix (x-y)/(y-x)+1 not simplified (issue #901); Do not show expression…
hanna-kn Feb 17, 2026
fc26a2c
Do not show negative exponents (if "negexp" is deactivated) when expr…
hanna-kn Feb 18, 2026
43e940f
Improve check for division by zero in factor when solving f(x)*g(x)=0…
hanna-kn Feb 18, 2026
f92e113
Do not prefer no exponent in factor over exponent < 1, thus avoiding …
hanna-kn Feb 19, 2026
260cea7
Complete the square when first exponent equals second exponent times …
hanna-kn Feb 19, 2026
cf927c1
Simplify a^(b/ln(a)) to e^b (issue #905); Partial fix for 0^(1/ln(0))
hanna-kn Feb 19, 2026
e5cbac4
Improve factorization and simplification with radicals (issue #909, i…
hanna-kn Feb 20, 2026
069c732
Factorize a+2*sqrt(c) to (sqrt(n)+sqrt(m))^2 (and similar) and simpli…
hanna-kn Feb 21, 2026
03930f8
abs(x+a*abs(x)) equals x+a*abs(x) if a>=1, or abs(x)-x if a=-1 (issue…
hanna-kn Feb 22, 2026
9deeda8
Simplification and factorization fixes
hanna-kn Feb 24, 2026
ee346f2
Add XAG, XAU, XPD, and XPT currencies (precious metals) (issue #913)
hanna-kn Feb 24, 2026
ab9a0ba
Fix recursive variable in where expression (issue #914)
hanna-kn Feb 26, 2026
e80b12a
Improve simplification; root(x, n)=z when z is a complex number (shou…
hanna-kn Feb 27, 2026
3fd17fb
Improve simplification
hanna-kn Mar 3, 2026
5d757a3
Add lakh and crore
hanna-kn Mar 3, 2026
2e69c38
Improve interval calculation (avoid "interval potentially calculated …
hanna-kn Mar 10, 2026
fe735cb
Add slug unit; Add pcm, ppm, ppb, ppt, and ppq (parts per ...) as var…
hanna-kn Mar 13, 2026
57fedeb
Use max 4 decimals, and min 2 decimals, by default (with less decimal…
hanna-kn Mar 14, 2026
8a165b2
Fix some issue with completion and help for options (issue #920)
hanna-kn Mar 15, 2026
ff0410c
Treat 0^0 as undefined (but assume that base is non-zero by default, …
hanna-kn Mar 17, 2026
1261451
Assume that plot function is not discontinuous if values are so close…
hanna-kn Mar 17, 2026
36ea1b0
Fix loading of history on Windows
hanna-kn Mar 18, 2026
e737d7e
Add esu as alias for statcoulomb
Everything2067 Mar 18, 2026
f3ce849
Merge pull request #921 from Everything2067/master
hanna-kn Mar 18, 2026
d116007
Add mol/dm³, mol/L, and molar units (issue #922); Mark "esu" as abbre…
hanna-kn Mar 19, 2026
115bd2e
Add gcf and hcf as alias to gcd
Everything2067 Mar 19, 2026
b5a2e38
Merge pull request #924 from Everything2067/master
hanna-kn Mar 19, 2026
2e76cd1
Fix make check when compiled in a separate build directory (issue #923)
hanna-kn Mar 19, 2026
ed0a323
Fix segfault in some cases when argument in det() contains only a sin…
hanna-kn Mar 20, 2026
2d2d2e5
Fix wrong simplification of "sin(2-cosh(x)^2/x+x)"
hanna-kn Mar 21, 2026
ac05075
Add ton of refrigeration unit (issue #925)
hanna-kn Mar 24, 2026
cb86b6b
Allow use of apostrophe as thousands separator in input, when specifi…
hanna-kn Mar 26, 2026
81f4fbf
Do not attempt to solve equations with five or more abs() or sgn(); L…
hanna-kn Mar 26, 2026
1ec0ca6
update traditional chinese translation (#928)
howaboutuser Mar 28, 2026
a1d4ea6
Reduce risk of counterproductive polynomial division during simplific…
hanna-kn Mar 28, 2026
9438746
Fix typo in function description
goelzma Mar 28, 2026
2366a21
Merge pull request #929 from goelzma/patch-1
hanna-kn Mar 29, 2026
76a783e
Initial support for comparison of vectors and matrices (e.g. "[1 2 3]…
hanna-kn Mar 29, 2026
06cfa55
Update zh_TW.po
howaboutuser Mar 29, 2026
b3c340e
Merge pull request #932 from howaboutuser/patch-1
hanna-kn Mar 29, 2026
a1181d8
Fix compiler warning; Remove fuzzy from translation
hanna-kn Mar 29, 2026
2fcb360
po: Update Georgian translation
NorwayFun Apr 3, 2026
b725b54
Merge pull request #934 from NorwayFun/master
hanna-kn Apr 4, 2026
9536727
Fix use of matrix/vector functions with code() function as argument (…
hanna-kn Apr 4, 2026
52260ee
Support vectors as arguments in data set functions (return multiple o…
hanna-kn Apr 5, 2026
138cbb1
Fix input of vector with elements separated by space in text argument…
hanna-kn Apr 5, 2026
134fc03
Add third optional argument to interval() function to allow exlusion …
hanna-kn Apr 9, 2026
ab85535
Concate all strings in vector together in concatenate() function (e.g…
hanna-kn Apr 9, 2026
9a4f2a2
Do not bind escape key (fixes bad behaviour with keys which generates…
hanna-kn Apr 9, 2026
1e0ddc9
Fix segfault in concatenate() (issue #945)
hanna-kn Apr 9, 2026
510a999
Update behaviour of concatenate() with vector in argument, and add st…
hanna-kn Apr 10, 2026
b6b3b71
Show "Division by zero" message for all divisions by zero (not only w…
hanna-kn Apr 11, 2026
931c2aa
Fix segfault when Calculator is destroyed with uninitialized randstate
LordMZTE Apr 12, 2026
acd3cba
Merge pull request #951 from LordMZTE/randstate-fix
hanna-kn Apr 12, 2026
8883b70
Support matrix[row][column] syntax (in addition to vector[index]) (#952)
hanna-kn Apr 14, 2026
4fa0221
Fix infinite loop when referencing subfunction in another subfunction…
hanna-kn Apr 15, 2026
d9467a8
Fix first digit 1 missing in return value of integerDigits(), with au…
hanna-kn Apr 22, 2026
ad049b8
Add intersect(), union(), setdiff(), and setxor() functions for basic…
hanna-kn Apr 28, 2026
851c79c
Add support text objects in sort() and the new set functions
hanna-kn Apr 28, 2026
080ccdb
Add third boolean argument to set functions to treat vectors as multi…
hanna-kn Apr 30, 2026
3e0c614
Add support for set operators "∪", "∩", "∖", "⊖", "∉", and "∈" (issue…
hanna-kn May 1, 2026
19e05b7
Fix segfault in replace() with variable specified using where express…
hanna-kn May 2, 2026
e51bd1a
Initial support for infinite sets ("ℤ", "ℝ", and "ℚ"); Fix "∉"; Chang…
hanna-kn May 2, 2026
734197c
Add support for "∋", "∌", "⊆", "⊇", "⊊", and "⊋" set operators (#964)…
hanna-kn May 2, 2026
1a124f0
Fix support for vectors in (first) argument of mod, rem, Ci, Shi, and…
hanna-kn May 2, 2026
cf9a0ea
Ignore "to" and "where" (and equivalent symbols) inside quoation mark…
hanna-kn May 2, 2026
1b895b4
Fix ℝ∋x and similar; Subfunction parsing tweaks; Minor division by ze…
hanna-kn May 2, 2026
6fc2e6f
Fix strict isSubset() (#964); Fix "where" (issue #967, broken in fix …
hanna-kn May 2, 2026
07b9409
Add string() function (convert value to text string, issue #969); Add…
hanna-kn May 2, 2026
7b9eac1
Support negative row and column values in element(), row(), and colum…
hanna-kn May 3, 2026
ae92493
Add support for value variable in condition of for() function and add…
hanna-kn May 3, 2026
7be8547
Fix explicit conversion to mixed units of year; Support non-text as f…
hanna-kn May 7, 2026
ea39e82
Update README.translate
hanna-kn May 7, 2026
0ecdf26
Move "Division by zero" warning to avoid reporting of the warning for…
hanna-kn May 12, 2026
f3d9fbb
Add link to ancient units (issue #927)
hanna-kn May 13, 2026
87b0bfa
Fix keyboard shortcurs and calculate-as-you-type after result is stor…
hanna-kn May 17, 2026
740747c
Fix segfault when dataset function name is followed immediately by a …
hanna-kn May 19, 2026
a09d2fe
Make conversion of expression with time unit to time format more cons…
hanna-kn May 20, 2026
a3bbbfa
update traditional chinese translation
howaboutuser May 20, 2026
0373715
Merge pull request #982 from howaboutuser/master
hanna-kn May 20, 2026
87b6ea2
Fix use of x, y, z, without backslash, for function arguments when us…
hanna-kn May 25, 2026
c1ca2da
Add support for LaTeX output (use --latex or "to latex" in qalc) (iss…
hanna-kn Jun 3, 2026
59d7336
Apply logical and bitwise operation entrywise to vectors and matrices…
hanna-kn Jun 5, 2026
d62e995
LaTeX input (using latex() function or "$\...$") and improved LaTeX o…
hanna-kn Jun 8, 2026
6713a51
Add argument for reserve conversion to roman(), bijective(), and bcd(…
hanna-kn Jun 9, 2026
7176cba
Improve LaTeX input and output (issue #978)
hanna-kn Jun 9, 2026
480be08
Solve a*x^b+c*d^x=0 for real x (issue #989)
hanna-kn Jun 10, 2026
3a3f97e
Refine handling of a*x^b+c*d^x=0; Improve LaTeX input/ouput; Remove c…
hanna-kn Jun 11, 2026
5a0d665
Add tsp and tbsp abbreviations, change cup to exactly 240 mL (U.S. le…
hanna-kn Jun 11, 2026
71f9593
Only ignore "to" after quotation mark if followed by another quotatio…
hanna-kn Jun 12, 2026
b0b39fb
Solve a*x^2+b*abs(x)=c for complex x (issue #987)
hanna-kn Jun 12, 2026
39dda0b
Improve and expand, to cases where x can be assumed real (e.g. x+abs(…
hanna-kn Jun 13, 2026
e929c60
Added max history option to configure length of history file
Jun 14, 2026
b2387d1
Merge pull request #992 from E1k3/master
hanna-kn Jun 14, 2026
9173d6e
Update description for max history option, change max_history_size to…
hanna-kn Jun 14, 2026
7039930
Interpret the character after underscore, when immediately after back…
hanna-kn Jun 16, 2026
6edd542
Do not stop mixed unit conversion to specified unit when value < 1, u…
hanna-kn Jun 19, 2026
dc10e9f
Fixes for a*x^b+c*d^x=0 and complex ax^2+b*abs(x)=c; Fixes for logica…
hanna-kn Jun 21, 2026
24a089a
Solve x*abs(x)=a and x^2*abs(x)=a for complex x; Fix segfault indtrod…
hanna-kn Jun 22, 2026
89e4c87
Make extremely slow (possibly not returning unless aborted) calculati…
hanna-kn Jun 23, 2026
cb1e1d4
Fix a*x+b*ln(x)=c where sgn(a)!=sgn(b) (only one solution were found)…
hanna-kn Jun 26, 2026
95b9c8a
Simplify a^c/b^c to (a/b)^c if a is integer divisible by b (issue #995)
hanna-kn Jun 28, 2026
a8f7627
Follow vspace option in non interactive mode when specified on comman…
hanna-kn Jul 5, 2026
e2fa153
Update behaviour of "vspace" (issue #998)
hanna-kn Jul 6, 2026
70fd8f6
Fix parentheses in output of parsed vector; Simplify a^c/b^c to (a/gc…
hanna-kn Jul 6, 2026
96879fe
Fix segfault when calculating limit for expression with sinh or cosh …
hanna-kn Jul 8, 2026
dc3af97
Fix RPN syntax parsing of expression with multiple functions (issue #…
hanna-kn Jul 9, 2026
87c7640
Do not automatically calculate integral with only lower limit defined…
hanna-kn Jul 10, 2026
1cfb105
Fix output of unit with power higher than 3 in LaTeX format (issue #1…
hanna-kn Jul 10, 2026
9ebe19c
update traditional chinese translation
howaboutuser Jul 11, 2026
dba5c5c
update traditional chinese translation
howaboutuser Jul 11, 2026
d01cfda
Merge pull request #1003 from howaboutuser/master
hanna-kn Jul 11, 2026
4198369
Integrate x^-1*sqrt(ax+b) and x^-1*sqrt(ax+b)^-1 (issue #1004)
hanna-kn Jul 23, 2026
ba632af
Integrate x^-1*sqrt(ax^2+bx+c)^-1; Fix integral of x^-1*sqrt(ax+b); …
hanna-kn Jul 24, 2026
763ef2a
Avoid inheritance of approximate/precision property when (in)equality…
hanna-kn Jul 24, 2026
6e67af9
Do not use same "n" variable (append index) for different unknown int…
hanna-kn Jul 27, 2026
e4110c9
Simplify lambertw(a*ln(a), b) to ln(a), when b=0 and a>=1/e, or b=-1 …
hanna-kn Aug 1, 2026
7695693
Simplify lambertw(-pi/2) to (i*pi)/2 (issue #1008); Simplify lambertw…
hanna-kn Aug 1, 2026
52ba80a
lambertw(x)*e^lambertw(x)=x (issue #1008)
hanna-kn Aug 1, 2026
fe2fe57
Fix uncertainty propagation with duplicate equal data set functions; …
hanna-kn Aug 2, 2026
65ef2aa
Do return x=-infinity as solution for a^x=0 (issue #1007); Fix a=1 &&…
hanna-kn Aug 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,380 changes: 1 addition & 1,379 deletions ABOUT-NLS

Large diffs are not rendered by default.

9 changes: 4 additions & 5 deletions COPYING
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -304,8 +304,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
with this program; if not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

Expand All @@ -329,8 +328,8 @@ necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
<signature of Moe Ghoul>, 1 April 1989
Moe Ghoul, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
Expand Down
1,408 changes: 1,408 additions & 0 deletions ChangeLog

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@

ACLOCAL_AMFLAGS = -I m4

SUBDIRS = po-defs po-defs/fixed data libqalculate src man po docs
SUBDIRS = po-defs po-defs-fixed po-defs-fixed/fixed data libqalculate src man po docs tests

EXTRA_DIST = config.rpath \
autogen.sh \
README.translate \
tests/* \
libqalculate.pc.in

pkgconfigdir = $(libdir)/pkgconfig
Expand Down
102 changes: 43 additions & 59 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Qt, and CLI).
* libcurl, icu, gettext (recommended)
* iconv, readline (recommended for CLI)
* Gnuplot 1.7 (optional)
* doxygen (for compilation of git version)
* doxygen (optional)

For Linux distributions which provide separate development packages, these must
be installed for all the required libraries (e.g. libmpfr-dev) before
Expand Down Expand Up @@ -59,7 +59,8 @@ completion, manipulate the result and change settings.

Type "help" in interactive mode for more information.

A man page is also available (shown using the command "man qalc", or online at https://qalculate.github.io/manual/qalc.html).
A man page is also available (shown using the command "man qalc", or online at
https://qalculate.github.io/manual/qalc.html).

5. Other Applications

Expand All @@ -68,75 +69,58 @@ qalculate-gtk (https://github.com/Qalculate/qalculate-gtk) and
qalculate-qt (https://github.com/Qalculate/qalculate-qt).

Other software using libqalculate include
* Qalculator web app (https://qalculator.xyz/) (also available as apps for Android, iOS, and Windows)
* Qalculate for Android (https://github.com/jherkenhoff/qalculate-android)
* KDE Plasma Workspace (https://www.kde.org/workspaces/plasmadesktop/)
* Cantor (http://kde.org/applications/education/cantor/)
* Step (http://kde.org/applications/education/step/)
* Qalculate widget for KDE Plasma (https://store.kde.org/p/1155946/)


6. Features

* Calculation and parsing:
* Basic operations and operators:
+ - * / mod ^ E () && || ! < > >= <= != ~ & | << >> xor
* Fault-tolerant parsing of strings:
log 5 / 2 .5 (3) + (2( 3 +5 = ln(5) / (2.5 * 3) + 2 * (3 + 5)
* Expressions may contain any combination of numbers, functions, units,
variables, vectors and matrices, and dates
* Supports complex and infinite numbers
* Propagation of uncertainty
* Interval arithmetic (for determination of the number of significant digits
or direct calculation with intervals of numbers)
* Supports all common number bases, as well as negative and non-integer
radices, sexagesimal numbers, time format, and roman numerals
* Ability to disable functions, variables, units or unknown variables for
less confusion: e.g. when you do not want (a+b)^2 to mean (are+barn)^2 but
("a"+"b")^2
* Controllable implicit multiplication
* Matrices and vectors, and related operations (determinants etc.)
* Verbose error messages
* Arbitrary precision
General
* All common operators — arithmetic, logical, bitwise, element-wise, (in)equalities
* Expressions may contain any combination of numbers, constants, functions, units, variables, matrices, vectors, and time/dates
* Fault-tolerant and flexible input parsing with verbose error/warning messages
* Calculate as you type
* Arbitrary precision with both rational and floating point numbers
* Complex and infinite numbers
* Propagation of uncertainty and interval arithmetic
* Both exact and approximate output (sqrt(32) = 4 * sqrt(2) ≈ 5.657)
* Simple and mixed fractions (4 / 6 * 2 = 1.333... = 4/3 = 1 + 1/3)
* All common number bases, as well as negative and non-integer radices, roman numerals, etc.
* RPN mode
* Result display:
* Supports all common number bases, as well as negative and non-integer
radices, sexagesimal numbers, time format, and roman numerals
* Many customization options: precision, max/min decimals, complex form,
multiplication sign, etc.
* Exact or approximate: sqrt(32) returns 4 * sqrt(2) or 5.66
* Simple and mixed fractions: 4 / 6 * 2 = 1.333... = 4/3 = 1 + 1/3
* Symbolic calculation:
* E.g. (x + y)^2 = x^2 + 2xy + y^2; 4 "apples" + 3 "oranges"
* Highly customizable with a myriad of options for every aspect of the calculator

Symbolic calculations
* Factorization and simplification
* Differentiation and integration
* Can solve most equations and inequalities
* Customizable assumptions give different results
(e.g. ln(2x) = ln(2) + ln(x) if x is assumed positive)
* Functions:
* Hundreds of flexible functions: trigonometry, exponents and logarithms,
combinatorics, geometry, calculus, statistics, finance, time and date,
etc.
* Can easily be created, edited and saved to a standard XML file
* Units:
* Supports all SI units and prefixes (including binary), as well as imperial
and other unit systems
* Automatic conversion: ft + yd + m = 2.2192 m
* Explicit conversion: 5 m/s to mi/h = 11.18 miles/hour
* Smart conversion: automatically converts 5 kg*m/s^2 to 5 N
* Currency conversion with retrieval of daily exchange rates
* Different name forms: abbreviation, singular, plural (m, meter, meters)
* Can easily be created, edited and saved to a standard XML file
* Variables and constants:
* Basic constants: pi, e, etc.
* Lots of physical constants (with or without units) and properties of
chemical element
* Customizable assumptions (e.g. ln(2x) where x > 0 = ln(2) + ln(x))

Functions
* Over 400 flexible and diverse functions (trigonometry, exponents and logarithms, combinatorics, geometry, calculus, statistics, finance, time and date, etc.)
* Easily created and edited from the user interfaces, with support for different argument types, subfunctions, and custom conditions

Units
* Over 400 diverse units and all standard decimal and binary prefixes
* Includes all SI units, as well as imperial, CGS, and atomic units, and more...
* Automatic and explicit conversion (e.g. ft + yd + m = 2.2192 m, 5 kg * m/s^2 = 5 N, 5 m/s to mph = 11.18 mph)
* Currency conversion with daily updated exchange rates
* Easily created and edited from the user interfaces

Variables and constants
* All common basic constants (pi, e, etc.)
* Fundamental physical constants with 2022 CODATA values (including standard uncertainy and optional units)
* CSV file import and export
* Can easily be created, edited and saved to a standard XML file
* Flexible - may contain simple numbers, units, or whole expressions
* Data sets with objects and associated properties in database-like
structure
* Plotting:
* Easily created and edited from the user interfaces (including by direct assignment, e.g. x = 2 s)
* Data sets with objects and associated properties in database-like structure (data set with chemical elements is included)

Plots and graphs
* Uses Gnuplot
* Can plot functions or data (matrices and vectors)
* Ability to save plot to PNG image, postscript, etc.
* Several customization options
* and more...
* Can be customized using several options, and saved as image files

...and more...

Loading