future 128-bit integer data type for high precision, numeric processing

Question

• was curious if there are plans for a "double-LONG" data type in VB.net (or any of the visual studio 20xx components), some high precision calculations cause 64-bit LONG overflow, and use of DEC data type offers up to 2**96 -1 values, however, the calculation and conversion to / from LONG to DECIMAL is time consuming.

operation in particular is high precision multiplication - ie see Donald Knuth, Art of Programming, c1998, section 4.3.3 - how fast can we multiply; the convolution process uses an accumulator that overflows LONG data type when I am using Base=1,000,000,000 instead of base10 operations...

Decimal works for this but is slower...

as of VS 2015 edition, I did not see any new extended data types for numeric processing - am hoping that a 128-bit integer is in future plans,

very respectfully,

rich.beck@sbcglobal.net

see Donald Knuth, 1998, section

'    4.3.3 for a discussion of: "How fast can we multiply ???"

Wednesday, December 09, 2015 7:48 PM

• Hi,

BigInteger?

https://msdn.microsoft.com/en-us/library/system.numerics.biginteger%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

Regards,

Thorsten

Wednesday, December 09, 2015 8:37 PM
• was curious if there are plans for a "double-LONG" data type in VB.net (or any of the visual studio 20xx components), some high precision calculations cause 64-bit LONG overflow, and use of DEC data type offers up to 2**96 -1 values, however, the calculation and conversion to / from LONG to DECIMAL is time consuming.

operation in particular is high precision multiplication - ie see Donald Knuth, Art of Programming, c1998, section 4.3.3 - how fast can we multiply; the convolution process uses an accumulator that overflows LONG data type when I am using Base=1,000,000,000 instead of base10 operations...

Decimal works for this but is slower...

as of VS 2015 edition, I did not see any new extended data types for numeric processing - am hoping that a 128-bit integer is in future plans,

very respectfully,

rich.beck@sbcglobal.net

see Donald Knuth, 1998, section

'    4.3.3 for a discussion of: "How fast can we multiply ???"

I'm curious what application you are using that demands 128 bit integers? Why won't 64 bit integers do?

I should add that if there is a particular computation where you are worried about overflow with two 64 bit integers, there are the Multiply128() and UnsignedMultiply128() functions supported in Windows

Wednesday, December 09, 2015 10:54 PM

All replies

• Hi,

BigInteger?

https://msdn.microsoft.com/en-us/library/system.numerics.biginteger%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

Regards,

Thorsten

Wednesday, December 09, 2015 8:37 PM
• was curious if there are plans for a "double-LONG" data type in VB.net (or any of the visual studio 20xx components), some high precision calculations cause 64-bit LONG overflow, and use of DEC data type offers up to 2**96 -1 values, however, the calculation and conversion to / from LONG to DECIMAL is time consuming.

operation in particular is high precision multiplication - ie see Donald Knuth, Art of Programming, c1998, section 4.3.3 - how fast can we multiply; the convolution process uses an accumulator that overflows LONG data type when I am using Base=1,000,000,000 instead of base10 operations...

Decimal works for this but is slower...

as of VS 2015 edition, I did not see any new extended data types for numeric processing - am hoping that a 128-bit integer is in future plans,

very respectfully,

rich.beck@sbcglobal.net

see Donald Knuth, 1998, section

'    4.3.3 for a discussion of: "How fast can we multiply ???"

I'm curious what application you are using that demands 128 bit integers? Why won't 64 bit integers do?

I should add that if there is a particular computation where you are worried about overflow with two 64 bit integers, there are the Multiply128() and UnsignedMultiply128() functions supported in Windows

Wednesday, December 09, 2015 10:54 PM