Jump to content


Member Since 14 Feb 2012
Offline Last Active May 18 2017 01:19 PM

Topics I've Started


25 March 2017 - 03:26 PM

This is a project I've been working on for a while.


I've never liked the calculators that come by default with operating systems, I don't like the forcefully linear way you enter your expression.


Out of my dislike from such things, I've introduced a new kid on the block: Mathulator.


It is essentially an expression calculator. You can type in an expression, formatted in just the way you would when writing code, and get a result. It has support for arbitrary precision numbers (up to 5000 significant digits), variables and macros. It also supports a wide range of math functions - it uses Decimal.js for the arbitrary precision numbers, so any math functions available to Decimal can be used in Mathulator.


I wrote the expression parser in JavaScript (Node, ES6) independently of the calculator initially. But I wanted to make something more useful with it, rather than just a JS expression parser library. I created a wrapper application using the Electron framework, which adds some extra functionality, like persistent storage of history, variables and macros across sessions.


Currently, I only have access to my MBP, so I've only uploaded the compiled binary for Mac. Though it's easy to setup on Windows if you have Node and NPM, but if you can't be arsed to do that, wait until Monday or something and I'll compile it on my work PC and upload it to the release on GitHub.


Although there is a previous release I'd compiled not long ago for Windows, it exhibits a bug with the order of operations that can cause complex expressions to be evaluated incorrectly.


Take a look at it here.


Let me know what you think of it!