ganc is a Gnome-based Algebraic Notation Calculator.
Just a very very useful and simple algebraic calculator. But then again, not so simple.
Have you ever done some simple calculation like adding a bunch of numbers. Then you made a mistake and all the numbers you'd typed so far got lost. Or maybe you finished, got your result and wondered if you made a mistake typing. Is the result correct? Well, I'm affraid the only way to know is do it again and hope you get the same result.
Or maybe you were programing and wanted to transform that ugly hexadecimal or binary number into something more meaningful. Or viceversa.
That's where ganc comes in.
ganc has a very simple syntax. There's no learning curve. If you want to add two plus two
you just type '2 + 2' and that's it!
It can also handle more complicated stuff involving several expressions in the same line,
functions, implicit product, variables, numbers in different bases, bitwise operations,
logical operations, etc ... It even allows C-style in-line variable definition.
The format for any expression entered in ganc is:
expression [:: format [, format, ...]]
expression is just a regular mathematical expression.
You can use operations such as:
+ - * /
&& || != == > < >= <=
& | ~ ^|
sin cos exp log ...
format is one or more format identifiers separated by commas
So far the only format identifiers supported are:
Some examples of valid ganc expressions are:
2 + 2 * 3 | precedence is handled adequately (= 8) |
sin 45 | trigonometrical functions |
2 sin 45 | implicit product |
a= 2 + 2 * 3 | variable asignment |
2*a + 2a | variable use |
c= 2*b= a + 2a | in-line variable asignment (b=a + 2a and c= 2*(a + 2a)) |
2 + 3; b= 1 - 2; 2b | several expressions at the same time |
1b5_16 | hexadecimal number (base 16) |
3vgt_32; 1001_2 | base 32 and binary |
23 :: _16 | number 23 expressed in base 16 |
f_16 & 1101_2 | bitwise 'and' operation |
ganc also features a keypad so you don't have to type if you don't feel like it. You can achieve the same results just using your mouse.