Gigantix — Infinite Size Numbers Module

Done, already sent it! Now I am going to sleep cuz its late here tho.

Hey! so I just started using this module, and I would like to know if there is a way to make it so I can get the 100 decimal (0.1>5<)?

Hey there! So currently the module doesn’t support decimal numbers neither negative numbers.
It is something I might do in the future.

I forgot to say but I got it working. It took some messing around and math.

1 Like

Oh, glad to hear that! If you want to help improve the module, you can make a PR on github :heart:

Module Updated!

You can find the new version on GitHub

Performance Improvements in all Functions

  • Convert Notation to Number (1GP) - Performance improved about 78%

  • Convert Notation to Number (100.000) - Performance improved about 3%

  • Convert String to Array Number - Performance improved about 40%

  • Long Number Notation - Performance improved about 31%

  • Short Number Notation - Performance improved about 41%

  • Add Numbers - Performance improved about 93%

  • Subtract Numbers - Performance improved about 86%

The new Gigantix implementation delivers major performance gains, especially in arithmetic operations. Soon I pretend to add support to Negative Numbers and a conversion system to help you save data while using less memory! :rocket:

Gigantix Module Update Log - Version: 1.0

New Features:

  • Example File Added: An example file has been included to demonstrate the usage of Gigantix functions, aiding developers in integrating the module effectively.

  • Number Encoding and Decoding: Introduced encodeNumber and decodeNumber functions to compress and decompress large numbers, optimizing data storage and transmission.

  • Negative Number Support: Enhanced the module to handle negative numbers seamlessly across all operations.

Improvements:

  • Bug Fixes: Resolved various issues, particularly those related to the previous lack of support for negative numbers, ensuring more reliable computations.

  • Comparison Function: Added a preliminary function for comparing large numbers, laying the groundwork for more advanced comparison features in future updates.

Planned Enhancements:

  • Advanced Comparison Functions: Developing more robust and efficient comparison functions to enhance the module’s versatility.

  • Performance Optimization: Focusing on improving performance and reducing time complexity to ensure faster computations.

  • Encoded Number Compatibility: Planning to allow all functions to accept encoded numbers directly. While this will provide flexibility, it may introduce additional decoding overhead, potentially affecting performance due to the current O(N²) time complexity of the decoding function.

For more details and to access the latest version, visit the Gigantix GitHub repository.

1 Like

Gigantix Module Update Log - Version: 1.1

New Features:

  • Enhanced Comparison Functions:
    Added comprehensive comparison operations, including isEquals, isGreater, isLesser, isGreaterOrEquals, and isLesserOrEquals, to allow precise evaluation of large numbers.

  • Multiplication Function:
    Implemented a new multiply function to support arithmetic operations on large numbers, expanding the module’s mathematical capabilities.

  • Optional Encoding Support:
    Introduced an optional isEncoded argument across multiple functions to facilitate seamless integration with encoded number formats.

  • Negative Number Check:
    Added the isNegative function for reliable detection of negative numbers in any operation.

  • Updated Example Script:
    Enhanced the example script to demonstrate all new features and provide clearer usage guidelines for developers.

Improvements:

  • Quality of Life Enhancements:
    Implemented various QOL improvements throughout the module to streamline functionality and improve overall code clarity.

  • Code Integration:
    Implemented code inspired by the fork Gigantix-Plus.

Planned Enhancements:

  • I do not pretend to add more features or make more updates, only if some feature is really needed, or some bugs are found, however I will try to improve performance of the module from time to time, and also if anyone wants to make a pull request implementing any feature, please do so! Thank you!

For more details and to access the latest version, visit the Gigantix GitHub repository.

1 Like

Gigantix Update Log (again, sorry for the bump) - Version: 1.2

New Features:

  • Multiplication Function Decimal Support:
    Implemented decimals support to the multiply function, so people are able to multiply a big number by a decimal, such as shown on the example script!

  • Updated Example Script:
    Enhanced the example script to demonstrate all new features and provide clearer usage guidelines for developers.

Planned Enhancements:

  • I do not pretend to add more features or make more updates (again lol), only if some feature is really needed, or some bugs are found, however I will try to improve performance of the module from time to time, and also if anyone wants to make a pull request implementing any feature, please do so! Thank you!

For more details and to access the latest version, visit the Gigantix GitHub repository.

1 Like

Im not sure what im doing wrong, but if i encode a rly large number it just decodes into a bunch of random numbers, I copy and paste word for word the example of 1 million being encoded and decoded, and i just copy paste a ton of zeros to it.

1 Like

that is weird, anyways, the encode and decode isnt really that worth it anymore because of the recent datastore changes roblox made, still, I might take a look at it later, but can u verify if it you are encoding and decoding correctly?

local encoded = Gigantix.encodeNumber(“1000000”)
print(“Encoded representation of ‘1000000’:”, encoded)

local decoded = Gigantix.decodeNumber(encoded)
print(“Decoded number from”, encoded, “(this returns a string):”, decoded)

1 Like

This looks pretty cool, and a very good presentation from you.
I will defo use this module in a game and give credits!

2 Likes

Thank you! Tell me when you use it, I will definitely check the game!

Numbers in Roblox are single-precision 32-bit floating point numbers. That being said it’s not “extremely” precise when majority languages support and allow users to have 64-bit FP numbers aka doubles.

1 Like