LongCalc 0.3.22

There is a newer version of this package available.
See the version list below for details.
dotnet add package LongCalc --version 0.3.22
NuGet\Install-Package LongCalc -Version 0.3.22
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LongCalc" Version="0.3.22" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LongCalc --version 0.3.22
#r "nuget: LongCalc, 0.3.22"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LongCalc as a Cake Addin
#addin nuget:?package=LongCalc&version=0.3.22

// Install LongCalc as a Cake Tool
#tool nuget:?package=LongCalc&version=0.3.22

LongCalc Arbitrary Precision Float and Complex Number Library

Product Compatible and additional computed target framework versions.
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.5.34 1,072 2/10/2023
0.5.33 1,112 12/28/2021
0.5.32 1,199 10/2/2021
0.5.31 1,047 8/1/2021
0.5.30 1,070 3/25/2021
0.5.29 1,241 10/15/2020
0.5.28 1,170 9/24/2020
0.5.27 1,211 9/18/2020
0.5.26 1,324 9/17/2020
0.5.25 1,221 9/6/2020
0.5.24 1,160 8/25/2020
0.5.23 1,220 8/5/2020
0.5.22 1,593 7/31/2020
0.5.21 1,600 7/30/2020
0.5.20 1,223 7/29/2020
0.5.19 1,220 7/28/2020
0.5.18 1,248 5/22/2020
0.5.17 1,217 5/19/2020
0.5.16 1,264 5/17/2020
0.5.15 1,251 5/17/2020
0.5.14 1,258 5/11/2020
0.5.13 1,339 5/3/2020
0.5.12 1,342 4/4/2020
0.5.11 1,225 3/31/2020
0.5.10 1,268 2/13/2020
0.5.9 1,313 2/8/2020
0.5.8 1,281 2/5/2020
0.5.7 1,390 1/21/2020
0.5.6 1,277 11/27/2019
0.5.5 1,254 11/16/2019
0.5.4 1,247 11/7/2019
0.5.3 1,260 11/2/2019
0.5.2 1,281 10/21/2019
0.5.1 1,493 7/29/2019
0.4.12 1,491 6/15/2019
0.4.11 1,487 6/10/2019
0.4.10 1,508 5/13/2019
0.4.9 1,580 4/15/2019
0.4.8 1,472 4/7/2019
0.4.7 1,485 3/23/2019
0.4.6 1,464 3/4/2019
0.4.5 1,506 3/4/2019
0.4.4 1,584 2/10/2019
0.4.3 1,791 1/30/2019
0.4.2 1,739 1/29/2019
0.4.1 1,764 1/29/2019
0.3.25 1,492 3/25/2019
0.3.24 1,490 3/4/2019
0.3.23 1,750 1/25/2019
0.3.22 1,805 1/23/2019
0.3.21 1,818 1/12/2019
0.3.20 1,797 1/4/2019
0.3.19 1,776 1/3/2019
0.3.18 1,786 12/30/2018
0.1.25 1,509 3/25/2019
0.1.24 1,511 3/4/2019
0.1.23 1,846 1/12/2019
0.1.22 1,758 12/24/2018
0.1.21 2,069 4/20/2018
0.1.16 1,931 9/2/2017
0.1.15 1,894 8/23/2017
0.1.11 1,799 8/4/2017
0.1.10 1,922 8/1/2017
0.1.8 1,801 7/27/2017
0.1.7 1,855 6/14/2017
0.1.6 1,891 6/14/2017
0.1.5 1,913 6/10/2017
0.1.2 2,176 11/22/2016
0.1.1 1,876 11/12/2016

Unsigned Assembly

Some further investigation was done into the curious output of Mpir.NET functions such as .BitLength, .IndexOfOne, etc which could return negative results. Eventually (like about now), an understanding arose as to what those values represented and how to interpret them. In previous versions my interpretation was flat-out wrong. As a results, inaccurate results for most any of the LongCalc functions were bound to happen if the Precision setting was high enough or the output values were of high enough order of magnitude.

With this version, those errors have hopefully been resolved. I have included my own x.Bitlength property function which returns a long data type whose value might be more understandable to me. The GlobalAllowAddTruncates parameter is now gone since the x.Add function problems have been resolved. bf mantissa widths up to 2 ^ long.MaxValue bits should work, and the problem of x.Floor() function failures should be over and the x.Normalize1() function problems resolved.

In addition, functions 'public static long LongVal(mpz_t x)' and 'public static mpz_t Mpz_tVal(long x)' have been added to facilitate changes between mpz_t and long data types, as Mpir.NET version 0.4.0 has difficulties with long input data for mpz_t type initialization, casts from mpz_t to long, and comparison operators or functions between mpz_t and long values.

Also, the x.Round and x.toString functions are much faster now for the most part.

In this version also: the bf, bcr, and bcp data type intializer functions which had a boolean CloneMant parameter are gone as a bad idea in the first place.

The bad news: In this version, any attempts at x.Exp for x larger than about 1.E+9 will likely bring this software to a slow-motion crash, while x.Exp in previous versions for x even as large as 6.E+18 might quickly produce results, but they are quite possibly wrong results.

Checks for arithmetic overflow or underflow are again compiler-included in this release.