TYoshimura.DoubleDouble 1.7.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package TYoshimura.DoubleDouble --version 1.7.0
                    
NuGet\Install-Package TYoshimura.DoubleDouble -Version 1.7.0
                    
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="TYoshimura.DoubleDouble" Version="1.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TYoshimura.DoubleDouble" Version="1.7.0" />
                    
Directory.Packages.props
<PackageReference Include="TYoshimura.DoubleDouble" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TYoshimura.DoubleDouble --version 1.7.0
                    
#r "nuget: TYoshimura.DoubleDouble, 1.7.0"
                    
#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.
#:package TYoshimura.DoubleDouble@1.7.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TYoshimura.DoubleDouble&version=1.7.0
                    
Install as a Cake Addin
#tool nuget:?package=TYoshimura.DoubleDouble&version=1.7.0
                    
Install as a Cake Tool

DoubleDouble

double-double arithmetic implements

Requirement

.NET 5.0

Install

Download DLL
Download Nuget

  • To install, just import the DLL.
  • This library does not change the environment at all.

More Precision ?

MultiPrecision

Types

type mantissa bits significant digits
ddouble 104 30

Functions

function domain mantissa error bits note usage
sqrt [0,+inf) 2 ddouble.Sqrt(x)
cbrt (-inf,+inf) 2 ddouble.Cbrt(x)
log2 (0,+inf) 2 ddouble.Log2(x)
log (0,+inf) 3 ddouble.Log(x)
log10 (0,+inf) 3 ddouble.Log10(x)
log1p (-1,+inf) 3 log(1+x) ddouble.Log1p(x)
pow2 (-inf,+inf) 1 ddouble.Pow2(x)
pow (-inf,+inf) 4 ddouble.Pow(x, y)
pow10 (-inf,+inf) 4 ddouble.Pow10(x)
exp (-inf,+inf) 4 ddouble.Exp(x)
expm1 (-inf,+inf) 4 exp(x)-1 ddouble.Expm1(x)
sin (-inf,+inf) 2 ddouble.Sin(x)
cos (-inf,+inf) 2 ddouble.Cos(x)
tan (-inf,+inf) 3 ddouble.Tan(x)
sinpi (-inf,+inf) 1 sin(πx) ddouble.SinPI(x)
cospi (-inf,+inf) 1 cos(πx) ddouble.CosPI(x)
tanpi (-inf,+inf) 2 tan(πx) ddouble.TanPI(x)
sinh (-inf,+inf) 2 ddouble.Sinh(x)
cosh (-inf,+inf) 2 ddouble.Cosh(x)
tanh (-inf,+inf) 2 ddouble.Tanh(x)
asin [-1,1] 2 Accuracy deteriorates near x=-1,1. ddouble.Asin(x)
acos [-1,1] 2 Accuracy deteriorates near x=-1,1. ddouble.Acos(x)
atan (-inf,+inf) 2 ddouble.Atan(x)
atan2 (-inf,+inf) 2 ddouble.Atan2(y, x)
arsinh (-inf,+inf) 2 ddouble.Arsinh(x)
arcosh [1,+inf) 2 ddouble.Arcosh(x)
artanh (-1,1) 4 Accuracy deteriorates near x=-1,1. ddouble.Artanh(x)
gamma (-inf,+inf) 5 Accuracy deteriorates near non-positive intergers. <br/> If x is Natual number lass than 35, an exact integer value is returned. ddouble.Gamma(x)
loggamma (0,+inf) 5 Near the positive zero point, polynomial interpolation is used. ddouble.LogGamma(x)
digamma (-inf,+inf) 5 Near the positive zero point, polynomial interpolation is used. ddouble.Digamma(x)
erf (-inf,+inf) 5 ddouble.Erf(x)
erfc (-inf,+inf) 5 ddouble.Erfc(x)
inverse_erf (-1,1) 8 ddouble.InverseErf(x)
inverse_erfc (0,2) 8 ddouble.InverseErfc(x)
bessel_j [0,+inf) 16 Accuracy deteriorates near zero points.<br/>abs(nu) ≤ 8 ddouble.BesselJ(nu, x)
bessel_y [0,+inf) 16 Accuracy deteriorates near zero points.<br/>abs(nu) ≤ 8 ddouble.BesselY(nu, x)
bessel_i [0,+inf) 16 abs(nu) ≤ 8 ddouble.BesselI(nu, x)
bessel_k [0,+inf) 16 abs(nu) ≤ 8 ddouble.BesselK(nu, x)
elliptic_k [0,1] 1 ddouble.EllipticK(k)
elliptic_e [0,1] 1 ddouble.EllipticE(k)
elliptic_pi [0,1] 1 ddouble.EllipticPi(n, k)
fresnel_c (-inf,+inf) 8 ddouble.FresnelC(x)
fresnel_s (-inf,+inf) 8 ddouble.FresnelS(x)
ei (-inf,+inf) 8 exponential integral ddouble.Ei(x)
li [0,+inf) 10 logarithmic integral li(x)=ei(log(x)) ddouble.Li(x)
lambertw [-1/e,+inf) 8 ddouble.LambertW(x)
airy_ai (-inf,+inf) 10 Accuracy deteriorates near zero points. ddouble.AiryAi(x)
airy_bi (-inf,+inf) 10 Accuracy deteriorates near zero points. ddouble.AiryBi(x)
ldexp (-inf,+inf) N/A ddouble.Ldexp(x, y)
min N/A N/A ddouble.Min(x, y)
max N/A N/A ddouble.Max(x, y)
floor N/A N/A ddouble.Floor(x)
ceiling N/A N/A ddouble.Ceiling(x)
round N/A N/A ddouble.Round(x)
truncate N/A N/A ddouble.Truncate(x)
array sum N/A N/A IEnumerable<ddouble>.Sum()
array average N/A N/A IEnumerable<ddouble>.Average()
array min N/A N/A IEnumerable<ddouble>.Min()
array max N/A N/A IEnumerable<ddouble>.Max()

Constants

constant value note usage
Pi 3.141592653589793238462... ddouble.PI
Napier's E 2.718281828459045235360... ddouble.E
Euler's Gamma 0.577215664901532860606... ddouble.EulerGamma
ζ(3) 1.202056903159594285399... Apery const. ddouble.Zeta3
ζ(5) 1.036927755143369926331... ddouble.Zeta5
ζ(7) 1.008349277381922826839... ddouble.Zeta7
ζ(9) 1.002008392826082214418... ddouble.Zeta9

Sequence

sequence note usage
Taylor 1/n! ddouble.TaylorSequence
Bernoulli B(2k) ddouble.BernoulliSequence
HarmonicNumber H_n ddouble.HarmonicNumber

Casts

  • long (accurately)

    ddouble v0 = 123;

    long n0 = (long)v0;

  • double (accurately)

    ddouble v1 = 0.5;

    double n1 = (double)v1;

  • decimal (approximately)

    ddouble v1 = 0.1m;

    decimal n1 = (decimal)v1;

  • string (approximately)

    ddouble v2 = "3.14e0";

    string s0 = v2.ToString();

    string s1 = v2.ToString("E8");

    string s2 = $"{v2:E8}";

I/O

BinaryWriter, BinaryReader

Licence

MIT

Author

T.Yoshimura

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages (12)

Showing the top 5 NuGet packages that depend on TYoshimura.DoubleDouble:

Package Downloads
TYoshimura.Algebra

Linear Algebra

TYoshimura.DoubleDouble.Complex

Double-Double Complex and Quaternion Implements

TYoshimura.CurveFitting

Curvefitting - linear, polynomial, pade, arbitrary function

TYoshimura.DoubleDouble.Statistic

Double-Double Statistic Implements

TYoshimura.DoubleDouble.Integrate

Double-Double Numerical Integration Implements

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.2.6 256 11/22/2024
4.2.5 182 11/22/2024
4.2.4 163 11/21/2024
4.2.3 184 11/18/2024
4.2.2 211 11/17/2024
4.2.1 340 11/14/2024
4.2.0 180 11/13/2024
4.1.0 200 11/13/2024
4.0.3 167 11/8/2024
4.0.2 655 11/7/2024
4.0.1 220 11/1/2024
4.0.0 243 10/31/2024
3.3.4 170 10/23/2024
3.3.3 148 10/21/2024
3.3.2 242 10/14/2024
3.3.1 149 10/13/2024
3.3.0 162 10/13/2024
3.2.9 169 10/11/2024
3.2.8 181 9/18/2024
3.2.7 202 9/10/2024
3.2.6 378 8/22/2024
3.2.5 201 8/22/2024
3.2.4 235 7/12/2024
3.2.3 189 6/9/2024
3.2.2 446 4/26/2024
3.2.1 445 2/22/2024
3.2.0 853 1/20/2024
3.1.6 524 11/12/2023
3.1.5 473 11/3/2023
3.1.4 510 11/3/2023
3.1.3 478 10/30/2023
3.1.2 494 10/28/2023
3.1.1 454 10/28/2023
3.1.0 533 10/21/2023
3.0.9 474 10/20/2023
3.0.8 506 10/19/2023
3.0.7 517 10/14/2023
3.0.6 527 10/13/2023
3.0.5 513 10/12/2023
3.0.4 505 10/11/2023
3.0.3 570 10/8/2023
3.0.2 541 10/7/2023
3.0.1 487 9/30/2023
3.0.0 526 9/30/2023
2.9.8 536 9/29/2023
2.9.7 543 9/16/2023
2.9.6 617 9/9/2023
2.9.5 607 9/9/2023
2.9.4 627 9/8/2023
2.9.3 580 9/8/2023
2.9.2 522 9/6/2023
2.9.1 552 9/5/2023
2.9.0 804 9/4/2023
2.8.6 890 3/18/2023
2.8.5 1,272 3/13/2023
2.8.4 785 3/11/2023
2.8.3 741 2/23/2023
2.8.2 747 2/17/2023
2.8.1 819 2/16/2023
2.8.0 732 2/13/2023
2.7.2 1,862 10/30/2022
2.7.1 869 10/28/2022
2.7.0 892 10/25/2022
2.6.1 887 10/14/2022
2.6.0 926 10/13/2022
2.5.6 931 9/18/2022
2.5.5 933 9/17/2022
2.5.4 886 9/16/2022
2.5.3 893 9/15/2022
2.5.2 881 9/7/2022
2.5.1 937 9/5/2022
2.5.0 2,189 9/4/2022
2.4.5 832 9/3/2022
2.4.4 866 9/2/2022
2.4.3 887 8/31/2022
2.4.2 976 2/8/2022
2.4.1 1,441 1/26/2022
2.4.0 915 1/25/2022
2.3.1 1,070 1/21/2022
2.3.0 1,042 1/20/2022
2.2.0 935 1/13/2022
2.1.2 981 1/12/2022
2.1.1 957 1/12/2022
2.1.0 744 1/11/2022
2.0.5 878 1/9/2022
2.0.4 808 1/8/2022
2.0.2 769 1/8/2022
2.0.1 789 1/7/2022
2.0.0 797 1/7/2022
1.9.4 783 1/6/2022
1.9.3 758 1/6/2022
1.9.2 828 1/5/2022
1.9.0 767 1/5/2022
1.8.0 760 1/4/2022
1.7.0 765 1/3/2022
1.6.1 776 12/25/2021
1.6.0 1,311 12/25/2021
1.5.2 739 12/22/2021
1.5.1 818 12/22/2021
1.5.0 801 12/22/2021
1.4.3 934 12/11/2021
1.4.2 906 12/11/2021
1.4.1 805 12/2/2021
1.4.0 1,286 12/1/2021

+ fresnel integral