Version 1.6


Last updated 24. October 2020



Downloads

Version 1.6 for Windows 7, 8 and 10

Version 1.0 for Mac OS X

Version for Linux GTK

About Mathika

Mathika is a calculator, which can be used as a replacement for the Windows Calculator and is easy to use. Available on multiple platforms. It is free and can be downloaded here.

Advantages of Mathika are:

Shows the entire input calculation in a graphical display, to make it easier to check if numbers were typed correctly.

Previously typed formulas or results can be fetched from the output window and edited. Use the 4 cursor keys to navigate.

Realtime updating of the result while typing. This means it is not neccesary to press return, when one wants to see an intermediate result.

Works for both Mac OS-X and Windows XP! Both version are available for download.


If you got the time please be free to drop me a note and tell how you like the program.



Thanks to David Filskov for feedback and suggestions and thanks to Jonas Raagaard for the new Mathika icon.

User Guide

In general, type in the formula in the bottom edit box, and press "enter". The result will then be displayed it the result box above.
As the formula is typed Mathika will try to compute the result which is shown as the bottom most result in the result box. If the formula is parsed correctly it will be written in black, else the last valid result will be written in grey, to indicate something is wrong.
One can edit earlier typed in formulas, by using the cursor arrow keys to select either an earlier result or an earlier formula. When the desired result or formula is highlighted, press "enter" the put the highlighted expression into the edit box.

Numbers:
Numbers can be typed as integers or numbers with comma. 10 base exponent can be given using the symbol e in the number (only decimal numbers). Numbers can at any time be typed in either decimal, hexadecimal or binary.

Below are examples of valid numbers:
36
2.58
.5
110.
3.42e3
3.42e-3
0x65F1CD
0x9F.9BD3
0b1010
0b10000.001

Supported functions:

 sin("expression")

Computes the sine of the expression. Input must be in radians
example: sin(45*3.14/180)

 cos("expression")

Computes the cosine of the expression. Input must be in radians
example: cos(45*3.14/180)

 tan("expression")

Computes the tangent of the expression. Input must be in radians
example: tan(45*3.14/180)

 sind("expression")

Computes the sine of the expression. Input must be in degrees
example: sind(45)

 cosd("expression")

Computes the cosine of the expression. Input must be in degrees
example: cosd(45)

 tand("expression")

Computes the tangent of the expression. Input must be in degrees
example: tand(45)

 sqrt("expression")

Computes the squareroot of the expression.
example: sqrt(10*10)

 asin("expression")

Computes the arcsine of the expression.

 acos("expression")

Computes the arccosine of the expression.

 atan("expression")

Computes the arctangent of the expression.

 log("expression")

Computes the base 10 logarithm of the expression.
example: log(1000)

 log2("expression")

Computes the base 2 logarithm of the expression.
example: log(1000)

 log16("expression")

Computes the base 16 logarithm of the expression.
example: log(1000)

 ln("expression")

Computes the natural logarithm (base e) of the expression.
example: ln(45)

 "expression1"^"expression2"

Computes the expression1 to the power of expression2
example: 2^3

 floor("expression")

Rounds the number down to the nearest integer
example: floor(2.6) returns 2

 ceil("expression")

Rounds the number up to the nearest integer
example: ceil(2.6) returns 3

 ("expression")//("expression")

Floor division. Performs a division and rounds result down to nearest integer
example: 100 % 3 returns 33

 ("expression")%("expression")

Modulo operator computes the remainder of the division
example: 10 // 4 returns 2


Function keys:

 F5
Select normal decimal output mode

 F6
Select hexadecimal output mode

 F7
Select binary output mode

 F8
Select mixed output mode

 CTRL+N
Select normal decimal output mode

 CTRL+H
Select hexadecimal output mode

 CTRL+B
Select binary output mode

 CTRL+1
Decrease Text Size

 CTRL+2
Increase Text Size

 CTRL+ENTER
Embrace text left of the cursor in paranthesis
example: 4+5 [CTRL+ENTER]
(4+5)

Planned Features

Mathika is under constant development and a number of new features is already planned. If you have any ideas for changes or new features please write me.

Below a list of planned features to come. The list is in prioritized order.

 Copy of formula into clipboard as bitmap

 Selection of previous formulas with mousecursor

 Graphical rendering of paranthesis

 Analytical differentiation

 Save and load of history

History

Version 1.6 - 24. October 2020

(Currently only available in Windows version)
Added support for // and % operators.
(Thanks to Rolf Asmund).

Version 1.5 - 7. August 2017

(Currently only available in Windows version)
Added scrollbar when formulas and calculations exceeds the height of the window.
Supports scrolling using cursor keys and mouse.

Version 1.4 - 6. February 2017

(Currently only available in Windows version)
Ignoring underscore '_' in hexadecimal and binary input to help user.
Example: 0b1111_1010 and 0x45a3_1234_cc34 are now legal inputs.

Version 1.3 - 28. February 2016

(Currently only available in Windows version)
Implemented Stay On Top feature. Setting is saved if pressing File->Save Settings
Implemented functions: example f(x)=2*x
Implemented thousands separator (thin space).

Version 1.2 - 13. November 2012

(Currently only available in Windows version)
Implemented bitwise and, or and xor (numbers are converted to integers first)
Implemented delete of selected entries using Delete button.

Version 1.0 - 21. July 2008

Mostly internal updates of code. OS-X version now fully up to date.
Version 0.2.1 - 4. Feb 2008

Added sind, cosd and tand functions for evaluating trigonometric functions with degrees as input instead of radians.

Fixed bug in visualization of paranthesis in subtractions. Result were correct but view on screen would lack paranthesis in some cases. Example 3-(2+1) would be viewed as 3-2+1, but result was correctly computed as 0.

Added mixed view. Which displays numbers in the base (decimal, hex or binary) as they were input by user.
Version 0.1.14 - 30. May 2006

Made a "Save Settings" menu item, instead of saving automatically when closing Mathika. This fixes a problem that caused position and size to be abnormal if Mathika was closed while minimized.
Fixed an emberrassing bug that caused negative results to be displayed as positive numbers in binary and hexadecimal mode.
Added colour settings to ini file. To edit colours this has to be edited manually in the ini file though.
Version 0.1.13 - 31. March 2006

Fixed problem with storage of position in ini file, when position is negative (can happen when using dual monitor).
Fixed bug that caused the edit line to be deactivated when clicking on history window. The edit line is now always active.
Implemented graphical rendering (pretty print) of squareroots.
Adjusted graphical parameters to make graphical rendering look nicer and to make elements be better positioned.
Changed multiply from * to dot (more mathematical like).
Version 0.1.12 - 15. March 2006

Text size can now be modified using Ctrl+1 and Ctrl+2. Size is stored in ini file.
Added view menu item changing text size.
Version 0.1.11 - 14. March 2006

Added number menu for showing different rounding functions.
Added rounding functions; ceil, floor and round.
Improved pretty print, so eg. powers and ratios align better on each line.
Fixed ratio printing such that eg. 1/2/3 is distinguisable from 1/(2/3).
Version 0.1.10 - 5. February 2006

Added view menu for selecting between decimal/hex/binary
Added log2 and log16
Fixed bug where 'z' was interpreted as Undo.
Version 0.1.9.2 - 23. November 2005

Added math menu showing various math functions
Added export function which saves an ASCII text file of the output windows
Added about box
Version 0.1.9.1 - 18. September 2005

Fixed problem with infinity and NaN (Not a number), in hexadecimal and binary output mode. Values like 1/0 was previously outputted wrong i hex and binary mode but are now written as "+infinity".
Version 0.1.9.0 - 13. September 2005

Added binary and hexadecimal output-modes.
Select Normal decimal mode with either F5 or CTRL+N.
Select Hexadecimal mode with either F6 or CTRL+H.
Select Binary mode with either F7 or CTRL+B.
Version 0.1.8.2 - 4. September 2005

Fixed bug that caused already typed formulas like 2/(3*5) to be reinterpreted wrong when inserted back into edit box.
Version 0.1.8.1 - 10. August 2005

Removed dependency on msvcp71.dll which caused some users not to be able to run Mathika.
Added new icon from Jonas Raagaard.

Version 0.1.8 - 8. August 2005

Support for input in hexadecimal and binary. Output is still decimal though. The hexadecimal and binary format can have a fraction part as well, as in this example:

0x4F3B.A3 + 0b10101 + 0b0101.10101 [enter]
Version 0.1.7.2 - 8. July 2005

Added constant e (the natural number).
Fixed minor problem with height of empty expr field.
Added variables. The user can now store results in a variable and use that variable as a number in the calculations.
eg.
a = 2+5 [enter]
10 + a [enter]
Version 0.1.7.1 - 21. June 2005

Implemented insert function, so previous results now are inserted into the edit-text instead of replacing it.
Version 0.1.7 - 21. June 2005

Removed annoying flicker on screen, when window was updated or resized.
Version 0.1.6.6 - 15. June 2005

Fixed bug that caused Mathika to crash if the ini file did exist but had size zero.
Disabled tab to avoid tabbing focus away from edit window.
Fixed problem with result/formula cursor so it now always starts in the result side. When going from the edit window to the log window
Version 0.1.6.5 - 14. June 2005

Mathika will now remember its window size also.
Fixed bug that caused Mathika to crash if the ini file was write protected.
Version 0.1.6.4 - 14. June 2005

Mathika will now remember its last screen position IF a file named mathika.ini is placed together with the Mathika .exe file. The file may be empty, it will be overwritten next time Mathika is closed.
Version 0.1.6.3 - 13. June 2005

Shift + Enter will now set paranthesis around the previous text.
Major changes internal in the makefiles and project settings, but irrelevant for the user.
Version 0.1.6 - 12. June 2005

Holding ctrl down and pressing either * or / on the numeric keyboard, will now set paranthesis around the previous text.
Version 0.1.5 - 7. June 2005

If current result is invalid it will now be colored grey, to indicate this.
Version 0.1.4 - 29. May 2005

Komma , and dot . now both acts as decimal seperator
Version 0.1.3 - 27. May 2005

Visually rendering of powers.

Links

Other projects by me:
Gray Raytracer

Family Homepage:
www.greiner.dk