# Complex Expression Calculator

This is a small expression calculator. It also supports complex numbers and has some simple functions and saving of temporary variables.

### Corrections:

11-Nov-2019 | vs 2.3 | Redesign of GUI |

20-Apr-2018 | vs 2.2 | Fixed several issues in handling infinity. Also replaced POSITIVE_INFINITY and NEGATIVE_INFINITY with just INFINITY. Fix and overflow for the power function e.g. 2^2^2^2^2^2 yield 1 instead of Infinity and restore the precedence compare to other operators. |

14-Apr-2018 | vs 2.1 | Fixed several issues in regards to both pre and post increments operators ++,-- when used with vectors. Added constant POSITIVE_INFINITY and NEGATIVE_INFINITY |

31-Mar-2018 | vs 2.0 | Change the layout and added Panels. Added support for Vector and Matrix expression. Also added the following functions gcd(), lcd(), diagonal(), determinant(), and solveAxb(), see the Help tab for details. |

16-Mar-2018 | vs 1.11 | More improvements. Now when you hit enter that is the same as pressing the Evaluate button. Also in the operation of x^y if y is >=0 and an integer then an integer version of the function pow(x,y) eliminates rounding errors. |

11-Mar-2018 | vs 1.10 | More bugs were fixed again thanks to the input from Paul Schlyter. Also, the conditional expression has been added through the expr ? expr : expr; (borrow for the C language) and support of boolean expression with >,<,<=,>=,==,!=,||,&&,|,&, xor operators |

4-Mar-2018 | vs 1.9 | More bugs were fixed again thanks to the input from Paul Schlyter. Also additional assignment operations like +=, -=, *=, /=, and %= have been added to mimic the same assignment operators available in C |

23-Feb-2018 | vs 1.8 | Major bugs were fixed thanks to the input from Paul Schlyter. A new built-in function is added for Asinh(), Acosh(), and Atanh() taking both real and complex numbers. Better error message and general improvement of the application. Also, ^ was incorrectly implemented as left-associative making the calculation wrong when cascading the ^ operator. e.g. 2^3^4 was incorrectly calculated as 4096 instead of 2.4178...E+24. Now the & operator is correctly implemented as right-associative. Also, the restriction that the ^ operator could only be an integer has been lifted. Now the ^ operator accepts a complex number as well as a real number. |

28-Nov-2015 | vs 1.7 | Minor problem corrected |

28-Oct-2013 | vs 1.6 | Minor problem corrected |

28-Oct-2009 | vs 1.5 | Minor Exponent parsing problem corrected |

18-Jul-2008 | vs 1.4 | Works with IE7, Firefox 2 & 3 |

18-Jun-2008 | vs 1.3 | Added Comma expressions, Statements, and compound statements |

11-Jun-2008 | vs 1.2 | Added support for defining and calling user-defined functions with zero or more parameters |

10-Jun-2008 | vs 1.1 | Added support for the assignment of variables |