Multiprecision calculator

The multi-precision calculator was born from my fascination with numerical methods, and the challenge of doing calculations with more or less complex expressions in configurable precision.

Description

With the application, you can:

  • Define the accuracy of calculations.
  • Define user constants.
  • Define user functions in one or more variables.
  • Calculate the expression of the derivative function and assign it to another function.
  • Carry out calculations with configurable precision and allow for arbitrarily complex mathematical expressions, incorporating the following elements:
    • Precedence parentheses
    • Numbers
    • Mathematical constants:
      • e
      • pi
      • ln2
    • Constants defined by the user
    • Functions definied by the user
    • Mathematical operations:
      • addition (+)
      • subtraction / inverse (-)
      • Multiplication (*)
      • Division (/)
      • Power (^)
    • Mathematical functions:
      • abs( argument )
      • absolute( argument )
      • acos( argument )
      • acosh( argument )
      • add( summing1, summing 2 )
      • arccos( argument )
      • arccosh( argument )
      • arcsin( argument )
      • arcsinh( argument )
      • arctan( argument )
      • arctanh( argument )
      • asin( argument )
      • asinh( argument )
      • atan( argument )
      • atanh( argument )
      • ceil( n, argument )
      • ceiling( n, argument )
      • cos( argument )
      • cosh( argument )
      • divide( dividend, divisor )
      • down( n, argument )
      • exp( argument )
      • floor( n, argument )
      • gcd( argument1, ..., argumentN )
      • ln( argument )
      • log( base, argument )
      • max( argument1, ..., argumentN )
      • min( argument1, ..., argumentN )
      • multiply( factor1, factor2 )
      • power( base, exponent )
      • quotient( dividend, divisor )
      • root( n, argument )
      • round( n, argument )
      • sgn( argument )
      • sin( argument )
      • sinh( argument )
      • sqrt( argument )
      • subtract( minuend, substrahend )
      • sum( summing1, summing2 )
      • tan( argument )
      • tanh( argument )
      • up( n, argument )
      • value( argument )

General features:

  • Multi-language
  • Configurable multi-resolution zoom
  • Dark mode option
  • New version notification
  • User manual

Code description

Application programmed in Java, with a command interface version, or with a graphical user interface in Java Swing.

The main library, libBigMathEngine, includes the following features:

  • Classes with the calculations of the most common mathematical functions in configurable precision with BigDecimal arguments.
  • Expression parser returns a tree with the parsed expression.
  • Package for the calculation of the derivative function expression.
  • Package for the basic expression simplifier.
  • Module to calculate the expression result (with a multiprocess option).
  • On-the-fly text formatter while editing expressions.
  • Autocomplete will assist the user when inputting expressions.

It is implemented on the platform library v1.4, which includes much functionality that is common to all applications

Windows

Multi-precision calculator v1.0.2 (2009)

Download

Multi-precision calculator v1.1 (2019)

Download

Multi-precision calculator v1.2 (2021) (1/2)

Watch vídeo
Download

Multi-precision calculator v1.2(2021) (2/2)

Watch vídeo
Download

Versions

image

This is one of my first large applications programmed in Java.

A library was developed for this application to perform configurable precision calculations using the BigDecimal class. Specifically, the library implements the main mathematical functions by accepting the BigDecimal numbers and the desired precision.

The final application has a text box where you can enter the operations you want to calculate. It also allows you to store functions and variables.

The user interface is straightforward, with some bugs that make it a bit tedious to use the application. I plan on preparing a new version that will slightly improve this lack.

The application analyzes the entered operation and stores it in memory as a tree structure. Formulas can be stored this way, as the tree can be stored based on one or more variables. Once the operations tree is obtained, the result is evaluated recursively. After this process is complete, the total result is displayed.

image

It is a new version of the multi-precision calculator.

Objectives:

  • Improve the application's class structure..
  • Ability to calculate derivative functions.
  • Improve the user interface.
  • Improve help.

The main motive of this new version is to implement an algebraic derivation.

The idea for this capability originated in high school when one of the teachers suggested that the class participate in the annual software contest by presenting an application that could derive.

At that time, we didn't make much progress on the project, but almost 30 years later, an application that can derive has finally arrived :-).


A comprehensive manual exists that explains how the application works.

image

New version of the multi-precision calculator.

Objectives:

  • Add the new version of the consult during startup to have a count of how many people use the application.
  • Dark mood option

A comprehensive manual exists that explains how the application works.

Videos

Downloads