It is very often necessary to use integers bigger than the operational system allows. In cryptography, for example, it is imprecindible to have a big key. In general, any numerical method that uses numbers without an upper bound will need such functionality.

This package contains the structure and functionality to manipulate "big numbers". It basically includes the functions to add, subtract, add, multiply, divide, find GCD, powers and roots of these numbers. To learn more about each function, click on the links on the left.

For those who are familiar with LUA structures, the implemention of the "big numbers" will seam quite simple. Each bignumber is a table of NUMBERs and the functions to manipulate them are all meta-methods of the table.

After loading the packages the mathematical operations will have automatically been changed. You will be able to add, subtract, multiply, divide and raise a bignumber to a power using the conventional symbols ( + , - , * , / , ^ ). The only disvantage of doing this is that a bignumber will be created to hold the value before it is atributed to the result, therefore leading to many avoidable calls of the garbage collector.