TYoshimura.DoubleDouble.Integrate 1.4.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package TYoshimura.DoubleDouble.Integrate --version 1.4.4                
NuGet\Install-Package TYoshimura.DoubleDouble.Integrate -Version 1.4.4                
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.4.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TYoshimura.DoubleDouble.Integrate --version 1.4.4                
#r "nuget: TYoshimura.DoubleDouble.Integrate, 1.4.4"                
#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.4.4

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

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 69 11/14/2024
1.5.0 81 10/31/2024
1.4.5 144 8/10/2024
1.4.4 96 8/7/2024
1.4.3 130 4/29/2024
1.4.2 125 4/19/2024
1.4.1 118 2/20/2024
1.4.0 125 1/20/2024
1.3.1 173 9/9/2023
1.3.0 157 9/4/2023
1.2.0 217 4/5/2023
1.1.2 239 3/18/2023
1.1.1 242 3/13/2023
1.1.0 411 9/4/2022
1.0.0 435 2/5/2022

add: auto eps