LongCalc Arbitrary Precision Float and Complex Number Library
See the version list below for details.
Install-Package LongCalc -Version 0.4.7
dotnet add package LongCalc --version 0.4.7
<PackageReference Include="LongCalc" Version="0.4.7" />
paket add LongCalc --version 0.4.7
Revisited the decision to implement x.Add(y, Precision) for all occurrances of x.Add:
That decision was ill-advised. For most occurrances of x.Add within the code, no truncation would occur anyway, and the function x.Add is less efficient with the Precision parameter than is the precise x.Add without the Precision parameter. For these situations, the precise x.Add without the Precision parameter is used.
For other situations (such as the hyperbolic functions) x.Add(1, Precision) is used to permit a calculation in which there is some confidence in the results returned, even for very large x.
However, for the situation of the inverse hyperbolic functions, use of x.Add(1, Precision) returned inaccurate results for very large x, and the use of x.Add(1) would have brought most machines to an impasse if x were very large.
In this version 0.4.7, a third variation of x.Add (internal use only) is employed in which the precise Add would occur if no truncation were needed and an error is thrown in those cases where the use of x.Add(1) would otherwise result in an impasse.
This third version is employed where appropriate in the inverse hyperbolic functions, Gamma, and Zeta.
Also in this version, the x.NormalizeAngle function is permitted to error-out if x is very large. This handles the situation of inaccurate results which were returned for large real x or complex-valued hyperbolic functions in which x.imaginary was very large.
Also in this version, there is a return to an earlier approach for x.Sin, x.Cos, x.Tan which was more efficient than that used in earlier versions 0.4.x.
Also in this version, there is a return to an approach for x.ArcTan which existed as early as version 0.1.5 and was rather more efficient than the corrupted code that occurred in later versions, especially for larger Precision.
There are also some other simple changes to improve the efficiency of functions x.toString, x.Round, x.Zeta, x.Euler, x.Bernoulli, x.Exp, and the trigonometric functions. Changes in which there is confidence.
Also some other simple changes to address possible inaccuracies in the hyperbolic functions, among others. Changes in which there is confidence.
Checks for arithmetic overflow or underflow are again compiler-included in this release.
- Mpir.NET (>= 0.4.0)
This package is not used by any popular GitHub repositories.