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.DoubleDouble.Statistic

Double-Double Statistic Implements

TYoshimura.CurveFitting

Curvefitting - linear, polynomial, pade, arbitrary function

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 361 11/22/2024
4.2.5 239 11/22/2024
4.2.4 210 11/21/2024
4.2.3 248 11/18/2024
4.2.2 271 11/17/2024
4.2.1 411 11/14/2024
4.2.0 245 11/13/2024
4.1.0 265 11/13/2024
4.0.3 221 11/8/2024
4.0.2 734 11/7/2024
4.0.1 305 11/1/2024
4.0.0 365 10/31/2024
3.3.4 222 10/23/2024
3.3.3 203 10/21/2024
3.3.2 361 10/14/2024
3.3.1 198 10/13/2024
3.3.0 199 10/13/2024
3.2.9 216 10/11/2024
3.2.8 235 9/18/2024
3.2.7 276 9/10/2024
3.2.6 555 8/22/2024
3.2.5 240 8/22/2024
3.2.4 332 7/12/2024
3.2.3 238 6/9/2024
3.2.2 703 4/26/2024
3.2.1 572 2/22/2024
3.2.0 1,171 1/20/2024
3.1.6 563 11/12/2023
3.1.5 514 11/3/2023
3.1.4 559 11/3/2023
3.1.3 517 10/30/2023
3.1.2 531 10/28/2023
3.1.1 502 10/28/2023
3.1.0 572 10/21/2023
3.0.9 511 10/20/2023
3.0.8 536 10/19/2023
3.0.7 564 10/14/2023
3.0.6 569 10/13/2023
3.0.5 552 10/12/2023
3.0.4 548 10/11/2023
3.0.3 622 10/8/2023
3.0.2 575 10/7/2023
3.0.1 526 9/30/2023
3.0.0 554 9/30/2023
2.9.8 572 9/29/2023
2.9.7 627 9/16/2023
2.9.6 682 9/9/2023
2.9.5 666 9/9/2023
2.9.4 670 9/8/2023
2.9.3 610 9/8/2023
2.9.2 577 9/6/2023
2.9.1 592 9/5/2023
2.9.0 905 9/4/2023
2.8.6 975 3/18/2023
2.8.5 1,408 3/13/2023
2.8.4 834 3/11/2023
2.8.3 782 2/23/2023
2.8.2 800 2/17/2023
2.8.1 867 2/16/2023
2.8.0 771 2/13/2023
2.7.2 1,970 10/30/2022
2.7.1 925 10/28/2022
2.7.0 942 10/25/2022
2.6.1 936 10/14/2022
2.6.0 983 10/13/2022
2.5.6 986 9/18/2022
2.5.5 973 9/17/2022
2.5.4 931 9/16/2022
2.5.3 933 9/15/2022
2.5.2 945 9/7/2022
2.5.1 999 9/5/2022
2.5.0 2,362 9/4/2022
2.4.5 881 9/3/2022
2.4.4 917 9/2/2022
2.4.3 951 8/31/2022
2.4.2 1,033 2/8/2022
2.4.1 1,539 1/26/2022
2.4.0 957 1/25/2022
2.3.1 1,132 1/21/2022
2.3.0 1,101 1/20/2022
2.2.0 992 1/13/2022
2.1.2 1,044 1/12/2022
2.1.1 1,010 1/12/2022
2.1.0 796 1/11/2022
2.0.5 944 1/9/2022
2.0.4 860 1/8/2022
2.0.2 826 1/8/2022
2.0.1 839 1/7/2022
2.0.0 859 1/7/2022
1.9.4 837 1/6/2022
1.9.3 799 1/6/2022
1.9.2 885 1/5/2022
1.9.0 819 1/5/2022
1.8.0 817 1/4/2022
1.7.0 828 1/3/2022
1.6.1 837 12/25/2021
1.6.0 1,407 12/25/2021
1.5.2 796 12/22/2021
1.5.1 874 12/22/2021
1.5.0 857 12/22/2021
1.4.3 994 12/11/2021
1.4.2 962 12/11/2021
1.4.1 867 12/2/2021
1.4.0 1,341 12/1/2021

+ fresnel integral