TYoshimura.DoubleDouble.Integrate 1.5.1

dotnet add package TYoshimura.DoubleDouble.Integrate --version 1.5.1                
NuGet\Install-Package TYoshimura.DoubleDouble.Integrate -Version 1.5.1                
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.Integrate" Version="1.5.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TYoshimura.DoubleDouble.Integrate --version 1.5.1                
#r "nuget: TYoshimura.DoubleDouble.Integrate, 1.5.1"                
#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 TYoshimura.DoubleDouble.Integrate as a Cake Addin
#addin nuget:?package=TYoshimura.DoubleDouble.Integrate&version=1.5.1

// Install TYoshimura.DoubleDouble.Integrate as a Cake Tool
#tool nuget:?package=TYoshimura.DoubleDouble.Integrate&version=1.5.1                

DoubleDoubleIntegrate

Double-Double Numerical Integration Implements

Requirement

.NET 8.0
DoubleDouble

Install

Download DLL
Download Nuget

Usage

// Gauss-Legendre Integrate 32 Points: sin(t) t=0 to pi
GaussLegendreIntegral.Integrate(
    ddouble.Sin, 
    ddouble.Zero, ddouble.Pi, 
    n: 32
);

// Gauss-Kronrod Adaptive Integrate 7-15: exp(t) t=1 to 4
GaussKronrodIntegral.AdaptiveIntegrate(
    ddouble.Exp, 
    1, 4, 
    eps: 1e-25, 
    order: GaussKronrodOrder.G7K15, 
    maxdepth: 10
);

// Gauss-Kronrod Adaptive Integrate 32-65: exp(-t^2) t=-inf to +inf
GaussKronrodIntegral.AdaptiveIntegrate(
    x => ddouble.Exp(-x * x), 
    ddouble.NegativeInfinity, ddouble.PositiveInfinity, 
    eps: 1e-25, 
    order: GaussKronrodOrder.G32K65, 
    maxdepth: 10
);

// Gauss-Kronrod Adaptive Integrate 32-65: exp(-t^2) t=-inf to +inf
GaussKronrodIntegral.AdaptiveIntegrate(
    x => ddouble.Exp(-x * x), 
    ddouble.NegativeInfinity, ddouble.PositiveInfinity, 
    eps: 0, // Auto epsilon
    order: GaussKronrodOrder.G32K65, 
    maxdepth: 10
);

// Romberg Integrate: sqrt(1 - t^2) t=0 to sqrt(2)/2
RombergIntegral.Integrate(
    x => ddouble.Sqrt(1 - x * x), 
    0, ddouble.Sqrt(2) / 2, 
    level: 20
);

Licence

MIT

Author

T.Yoshimura

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

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

Package Downloads
TYoshimura.DoubleDouble.AdvancedIntegrate

Double-Double Numerical Advanced Integration Implements

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.5.1 91 11/14/2024
1.5.0 93 10/31/2024
1.4.5 151 8/10/2024
1.4.4 102 8/7/2024
1.4.3 134 4/29/2024
1.4.2 131 4/19/2024
1.4.1 122 2/20/2024
1.4.0 129 1/20/2024
1.3.1 178 9/9/2023
1.3.0 161 9/4/2023
1.2.0 221 4/5/2023
1.1.2 243 3/18/2023
1.1.1 246 3/13/2023
1.1.0 417 9/4/2022
1.0.0 442 2/5/2022

fix: thread safe