I ditched the 'now' keyword because '' is shorter. So, date() now returns the JS representation of the current time.
2021-10-01
date() Bugfix
Dates with negative JS representations would previously mess up certain types of calculations.
2021-09-24
date() Fix and Improvement
The date() function seemed to only work properly for one instance at a time. I've fixed that and added the keyword 'now' to get the current time. I also added some more time conversion functions, although I deliberately excluded months since they vary so much in length.
2021-09-17
Switching from bigInt to BigInt
The old bigInt library I was using has been removed, presumably because the built-in BigInt is better.
This broke my entire calculator but I've changed a bunch of syntax and it seems to work again.
2020-08-25
Important Bugfix
As kindly pointed out in this issue,
'*' was changed to '××' rather than '×'.
2019-12-18
Critical Simplification Bug Fixed
Sums were incorrectly simplified when containing products or quotients of functions of k.
2018-02-11
Stupid Inequality Bug Fixed
I just realized that ≤ calls the greater or equal function while ≥ calls the less or equal function. I
have now reversed them to fix this.
Hash Encoding
Backwards compatibility for sharing links to expressions is now broken since the hash must be encoded
to avoid trouble with special characters. This might also cause problems if you try to write an
expression directly to the hash.
2017-12-10
Syntax Highlighting
Added syntax highlighting to the input box using
Ace.
The highlighting language is currently set to Haskell so it might not make sense for JS code.
However, I
find Haskell more suitable for mathematical expressions since it's a more mathematical language.
2017-12-05
Simplification Update
a^(b/c) is now simplified to (a^b)^(1/c). This might seem stupid and sometimes it is but I think it's
worth it for the times
when a^b turns out to be something nice.
a^b×a^c is now simplified to a^(b+c).
2017-12-03
a/1 Simplified to a
Another weird but not incorrect simplification fixed.
2017-11-25
Another Important Bugfix
Turns out a+0 and 0+a were simplified to 0 for certain non-zero a.
Simplify a×1
Might sound obvious but 1×a and a×1 will now always be simplified to a.
2017-11-10
Important Bugfix
I just found out that a^b, was floored for negative b. This is fixed now.
2017-11-09
Shorter Fractions
If there are zeros at the end of a numerator or a denominator, those can be cut off while moving the
decimal point of the
denominator or the numerator respectively. Turn it on in the preferences and try something like
1751/7900
to see how it works.
Printing Roots
a^(1/2), a^(1/3) and a^(1/4) will now be printed as √a, ∛a and ∜a respectively.
2017-11-08
Product Simplification
As promised yesterday :)
BigInt
I've always been using bigInts but they would usually turn into ordinary JS numbers in the
simplification and were thus quite
useless. This shouldn't be the case anymore.
Working with bigInts means the calculator can handle arbitrarily big numbers and should avoid
certain rounding
errors.
Note that bigInts are used in the parsing and simplification only and still have to be converted to
JS numbers
before the final answer is calculated. Thus, the answer cannot be arbitrarily big, even though the
numbers
in the simplified expression can.
2017-11-07
News Box
Added this news box where I'll tell you about new features and stuff.
Updated Expression Simplification
Sums and powers can now be simplified. I've also fixed a few weird but not really wrong simplifications.
Product simplification coming soon.
Simplification Settings
Added settings so you can decide what happens if simplication seems wrong or takes too long time.
When an expression is simplified, its answer will be compared to that of the raw expression unless
it exceeds
your time limit.
About
>
This is a hobby project that I've been working on for a while. The original idea was to simplify expressions
and use infinite
series to get rid of rounding errors. While it does try to simplify your expression (check it out below the
enter
button), there's no infinite series magic going on behind the scenes... yet...
If you write π, it will simply use a predefined constant with a decent amount of decimal places.
Sooo - when will I do the series stuff? Well, first of all, the expression objects that your text input
is parsed
to kinda suck. Way too many strings and stuff.
Second, I have another project that I'm pretty
excited about. My hope is that that project will provide a foundation for
building a new and more powerful calculator.