diff --git a/Project.toml b/Project.toml index bdd43329..ab8ca3a4 100644 --- a/Project.toml +++ b/Project.toml @@ -68,7 +68,7 @@ Reexport = "1.2" SafeTestsets = "0.1, 1" SciMLBase = "2.104, 3.0" SciMLLogging = "1.10.1, 2" -SciMLTesting = "2.1" +SciMLTesting = "2.4" StaticArrays = "1.9.8" Test = "1.10" Unitful = "1" diff --git a/docs/Project.toml b/docs/Project.toml index e13c6271..02a151cd 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -8,9 +8,6 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" Integrals = "de52edbc-65ea-441a-8357-d3a637375a31" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" -[sources] -Integrals = {path = ".."} - [compat] Cuba = "2" Cubature = "1" diff --git a/docs/make.jl b/docs/make.jl index 61d04bb2..9a9afa2d 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -8,9 +8,8 @@ include("pages.jl") makedocs( sitename = "Integrals.jl", authors = "Chris Rackauckas", - modules = [Integrals, Integrals.SciMLBase], - clean = true, doctest = false, linkcheck = true, - warnonly = [:missing_docs], + modules = [Integrals], + clean = true, doctest = true, linkcheck = true, checkdocs = :exports, format = Documenter.HTML( assets = ["assets/favicon.ico"], canonical = "https://docs.sciml.ai/Integrals/stable/" diff --git a/docs/src/basics/FAQ.md b/docs/src/basics/FAQ.md index 56c5dc4d..d05a290d 100644 --- a/docs/src/basics/FAQ.md +++ b/docs/src/basics/FAQ.md @@ -48,7 +48,7 @@ precision arithmetic may help. ## How can I integrate arbitrarily-spaced data? -See [`SampledIntegralProblem`](@ref). +See the Integrating pre-sampled data page. ## How can I integrate on arbitrary geometries? diff --git a/docs/src/basics/IntegralFunction.md b/docs/src/basics/IntegralFunction.md index 58a67dba..757f99d5 100644 --- a/docs/src/basics/IntegralFunction.md +++ b/docs/src/basics/IntegralFunction.md @@ -1,6 +1,5 @@ # [Integral Functions](@id func) -```@docs -SciMLBase.IntegralFunction -SciMLBase.BatchIntegralFunction -``` +`IntegralFunction` and `BatchIntegralFunction` are SciMLBase problem-interface +wrappers reexported by Integrals.jl for convenience. Their API is documented by +SciMLBase; Integrals.jl supplies algorithms that solve problems built with them. diff --git a/docs/src/basics/IntegralProblem.md b/docs/src/basics/IntegralProblem.md index 9a907d86..db9085d1 100644 --- a/docs/src/basics/IntegralProblem.md +++ b/docs/src/basics/IntegralProblem.md @@ -1,8 +1,8 @@ # [Integral Problems](@id prob) -```@docs -SciMLBase.IntegralProblem -``` +`IntegralProblem` is a SciMLBase problem type reexported by Integrals.jl for +convenience. Its construction API is documented by SciMLBase; this page describes the +integrand shapes accepted by Integrals.jl algorithms. The correct shape of the variables (inputs) `u` and the values (outputs) `y` of the integrand `f` depends on whether batching is used. Batching is enabled by using diff --git a/docs/src/basics/SampledIntegralProblem.md b/docs/src/basics/SampledIntegralProblem.md index 52847b21..2016690c 100644 --- a/docs/src/basics/SampledIntegralProblem.md +++ b/docs/src/basics/SampledIntegralProblem.md @@ -28,10 +28,9 @@ The exact answer is of course ``1/3``. ## Details -```@docs -SciMLBase.SampledIntegralProblem -solve(::SampledIntegralProblem, ::SciMLBase.AbstractIntegralAlgorithm) -``` +`SampledIntegralProblem` and the generic `solve` interface are provided by SciMLBase +and reexported by Integrals.jl for convenience. The following sections describe how +Integrals.jl algorithms use sampled data. ### Non-equidistant grids diff --git a/docs/src/basics/solve.md b/docs/src/basics/solve.md index 6b1030b0..0c35c3c7 100644 --- a/docs/src/basics/solve.md +++ b/docs/src/basics/solve.md @@ -1,16 +1,22 @@ # Common Solver Options (Solve Keyword Arguments) +`solve` is the generic SciMLBase interface reexported by Integrals.jl. Integrals.jl +implements it for integral problems and the algorithms documented on this site. + ```@docs solve(prob::IntegralProblem, alg::SciMLBase.AbstractIntegralAlgorithm) +solve(prob::SampledIntegralProblem, alg::SciMLBase.AbstractIntegralAlgorithm) ``` ## Related SciML interface utilities +`init`, `solve!`, `isinplace`, `remake`, and `ReturnCode` are SciMLBase interface +utilities reexported by Integrals.jl. Their API is documented by SciMLBase. + ```@docs init(prob::IntegralProblem, alg::SciMLBase.AbstractIntegralAlgorithm) init(prob::SampledIntegralProblem, alg::SciMLBase.AbstractIntegralAlgorithm) solve!(cache::Integrals.IntegralCache) solve!(cache::Integrals.SampledIntegralCache) isinplace(cache::Integrals.IntegralCache) -ReturnCode ``` diff --git a/test/AD/Project.toml b/test/AD/Project.toml index dbd4aed1..49e4cd4e 100644 --- a/test/AD/Project.toml +++ b/test/AD/Project.toml @@ -20,7 +20,7 @@ ForwardDiff = "0.10.36, 1" Integrals = "5" Mooncake = "0.5.6" SafeTestsets = "0.1, 1" -SciMLTesting = "2.1" +SciMLTesting = "2.4" Test = "1.10" Zygote = "0.7.10" julia = "1.10" diff --git a/test/qa/Project.toml b/test/qa/Project.toml index 16406997..412833d1 100644 --- a/test/qa/Project.toml +++ b/test/qa/Project.toml @@ -11,6 +11,6 @@ Aqua = "0.8" Integrals = "5" JET = "0.9, 0.10, 0.11.3" SafeTestsets = "0.1, 1" -SciMLTesting = "2.1" +SciMLTesting = "2.4" Test = "1.10" julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl index af8ac94e..1ad1d2dd 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -3,6 +3,10 @@ using JET run_qa( Integrals; + reexports_allow = ( + :BatchIntegralFunction, :IntegralFunction, :IntegralProblem, :ReturnCode, + :SampledIntegralProblem, :SciMLBase, :init, :isinplace, :remake, :solve, :solve!, + ), aqua_kwargs = (; # IntegralProblem / SampledIntegralProblem are SciMLBase types this package # owns the integral-solver methods for, so dispatching on them is not piracy.