TYoshimura.DoubleDouble.Integrate 1.3.0

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

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

DoubleDoubleIntegrate

Double-Double Numerical Integration Implements

Requirement

.NET 7.0

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, 
    depth: 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, 
    depth: 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 net7.0 is compatible.  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. 
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.4.5 106 8/10/2024
1.4.4 68 8/7/2024
1.4.3 92 4/29/2024
1.4.2 102 4/19/2024
1.4.1 102 2/20/2024
1.4.0 103 1/20/2024
1.3.1 158 9/9/2023
1.3.0 138 9/4/2023
1.2.0 202 4/5/2023
1.1.2 220 3/18/2023
1.1.1 215 3/13/2023
1.1.0 392 9/4/2022
1.0.0 416 2/5/2022

update .net7