Hyper
This x64 .NET library holds algorithms for performing basic calculations upon the
Hyper data type.
Currently only available in
Framework 4.8 flavour.
Change log:
v4.4.0(in preview)
- division performance optimized
- added ability to divide by negative numbers directly.
v4.3.0
- another adjustment: zero remainder returned by a negative dividend instead of
-divisor
v4.2.1
- correction to division of a negative dividend which contains leading zeroes.
v4.2.0
- corrected division of a negative number by an UInt64 as well as the remainder output
- adjusted operators "/", "\" and Mod
v4.1.0
- another correction to division by an Int64 (this was the issue, instead of multiplication). Now, only positive divisors are supported. The previous procedure crashed when dividing certain numbers by 7.
v4.0.0
- correction to division by an Int64 (this was the issue, instead of multiplication). Procedure completely rewritten.
v3.0.0
- correction to multiplication by an Int64 (multiplications produced wrong results in rare cases,from the last update to v2.4, most likely, due to code rearrangement)
- added BitShift(Int64) procedure, for left and right arithmetic shifts (experimental)
- nicer decimal string output; corrections and removing leading zeroes
v2.4.0
- optimized multiplication by another Hyper; it was calling the below mentioned routine before each Add operation
- removed unnecessary buffer-resizing statements called in a procedure prior to actual Add and Subtract operations.
- slightly optimized Add and Subtract procedures themselves
- added option to skip boundary check altogether, e.g.
hyp1.Add(hyp2, False),
hyp2 must lie within
hyp1's exponent boudaries
- removed obsolete functions
v2.3.0
- re-corrected
Add(Int64, Exp) procedure
- added fast conversion to Double
ExtractDouble
v2.2.0
-
Decr and
Incr were switched
- corrected
Add(Int64, Exp) procedure
- conversion from decimal with a negative exponent fixed (e.g. "1e-1000")
v2.1.0
- Access to write in
Precision64 property (formerly
PartSize
v2.0.0
- correction: When inputting from string, one decimal digit was being cut.
- Integral part of input string is no longer limited to 18 digits
- Some other small fixes.
v1.1.0
- A bug in the Add procedure has been found and squashed :)
- Decimal exponent now supported in the input string, i.e. New Hyper("123.221e-5510")
- Add(Int64, Exp64) function added to perform addition on a single Digit.
- Incr, Decr operations added
- Intellisense descriptions now (finally) work
v1.0.5 - Added the missing Intellisense method descriptions, a small correction in
New(String)
v1.0.4 - Fixed potential issues in the
Divide procedure, fixed the installer/uninstaller
v1.0.3 - minor corrections, granted access to native methods (in case you want to append some of your own magic to it 🙂)
v1.0.2 - Removed unusable exposed methods, added a functional
NewFromString method (i.e. now you can use the
New Hyper("-123.77768...") initializer with any number of digits)
Published:
October 2023
Last page update:
June 16th 2026