diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 700707ced..1e8a051e2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,6 @@ updates: directory: "/" # Location of package manifests schedule: interval: "weekly" + ignore: + - dependency-name: "crate-ci/typos" + update-types: ["version-update:semver-patch"] diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml new file mode 100644 index 000000000..599253c8c --- /dev/null +++ b/.github/workflows/SpellCheck.yml @@ -0,0 +1,13 @@ +name: Spell Check + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - name: Checkout Actions Repository + uses: actions/checkout@v3 + - name: Check spelling + uses: crate-ci/typos@v1.16.23 \ No newline at end of file diff --git a/.typos.toml b/.typos.toml new file mode 100644 index 000000000..16cbfee31 --- /dev/null +++ b/.typos.toml @@ -0,0 +1,8 @@ +[default.extend-words] +IIF = "IIF" +extrapolant = "extrapolant" +currate = "currate" +SIE = "SIE" +Numer = "Numer" +resetted = "resetted" +strat = "strat" \ No newline at end of file diff --git a/Project.toml b/Project.toml index 03463f625..25edda534 100644 --- a/Project.toml +++ b/Project.toml @@ -32,9 +32,12 @@ UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" [compat] Adapt = "3" +Aqua = "0.8" ArrayInterface = "6, 7" DataStructures = "0.18" DiffEqBase = "6.130.1" +DiffEqCallbacks = "2" +DiffEqDevTools = "2" DiffEqNoiseProcess = "5.13" DocStringExtensions = "0.8, 0.9" FiniteDiff = "2" @@ -42,23 +45,31 @@ ForwardDiff = "0.10.3" JumpProcesses = "9" LevyArea = "1.0.0" LinearAlgebra = "1.6" +LinearSolve = "2" Logging = "1.6" +ModelingToolkit = "8" MuladdMacro = "0.2.1" NLsolve = "4" OrdinaryDiffEq = "6.52" +Pkg = "1" Random = "1.6" RandomNumbers = "1.5.3" RecursiveArrayTools = "2, 3" Reexport = "0.2, 1.0" +SDEProblemLibrary = "0.1" +SafeTestsets = "0.1" SciMLBase = "2.0.6" SciMLOperators = "0.2.9, 0.3" SparseArrays = "1.6" SparseDiffTools = "2" StaticArrays = "0.11, 0.12, 1.0" +Statistics = "1" +Test = "1" UnPack = "0.1, 1.0" julia = "1.6" [extras] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def" DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d" LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" @@ -71,4 +82,4 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["DiffEqCallbacks", "DiffEqDevTools", "SDEProblemLibrary", "LinearSolve", "ModelingToolkit", "Pkg", "SafeTestsets", "SparseArrays", "Statistics", "Test"] +test = ["Aqua", "DiffEqCallbacks", "DiffEqDevTools", "SDEProblemLibrary", "LinearSolve", "ModelingToolkit", "Pkg", "SafeTestsets", "SparseArrays", "Statistics", "Test"] diff --git a/src/algorithms.jl b/src/algorithms.jl index b38800595..6415654c4 100644 --- a/src/algorithms.jl +++ b/src/algorithms.jl @@ -208,7 +208,7 @@ end SKSROCK(;post_processing=false,eigen_est=nothing) = SKSROCK(post_processing,eigen_est) """ TangXiaoSROCK2: S-ROCK Method -Is a fixed step size stabilized expicit method for stiff problems. +Is a fixed step size stabilized explicit method for stiff problems. Only for Ito problems. Weak order of 2 and strog order of 1. Has 5 versions with different stability domains which can be used as TangXiaoSROCK2(version_num=i) where i is 1-5. Under Development. """ diff --git a/src/perform_step/implicit_split_step.jl b/src/perform_step/implicit_split_step.jl index fb6c2e22d..ea6763da0 100644 --- a/src/perform_step/implicit_split_step.jl +++ b/src/perform_step/implicit_split_step.jl @@ -136,7 +136,7 @@ end integrator.g(gtmp, uprev, p, t) if alg.symplectic - @.. z = zero(eltype(u)) # Justified by ODE solvers, constrant extrapolation when IM + @.. z = zero(eltype(u)) # Justified by ODE solvers, constant extrapolation when IM else @.. z = dt * tmp # linear extrapolation end diff --git a/src/perform_step/sdirk.jl b/src/perform_step/sdirk.jl index 00f346b23..f46e23901 100644 --- a/src/perform_step/sdirk.jl +++ b/src/perform_step/sdirk.jl @@ -176,7 +176,7 @@ end ############################################################################## if alg.symplectic - @.. z = zero(eltype(u)) # Justified by ODE solvers, constrant extrapolation when IM + @.. z = zero(eltype(u)) # Justified by ODE solvers, constant extrapolation when IM else @.. z = dt*tmp # linear extrapolation end diff --git a/test/events_test.jl b/test/events_test.jl index 35412336a..10a5bc056 100644 --- a/test/events_test.jl +++ b/test/events_test.jl @@ -8,7 +8,7 @@ function g(du,u,p,t) nothing end -function condtion(u,t,integrator) # Event when event_f(u,p,t,k) == 0 +function condition(u,t,integrator) # Event when event_f(u,p,t,k) == 0 u[1] end @@ -18,7 +18,7 @@ function affect_neg!(integrator) end # Continuous callback -callback = ContinuousCallback(condtion,affect!,affect_neg!) +callback = ContinuousCallback(condition,affect!,affect_neg!) u0 = [50.0,0.0] tspan = (0.0,15.0) diff --git a/test/qa.jl b/test/qa.jl new file mode 100644 index 000000000..65ee669eb --- /dev/null +++ b/test/qa.jl @@ -0,0 +1,13 @@ +using StochasticDiffEq, Aqua +@testset "Aqua" begin + Aqua.find_persistent_tasks_deps(StochasticDiffEq) + Aqua.test_ambiguities(StochasticDiffEq, recursive = false) + Aqua.test_deps_compat(StochasticDiffEq) + Aqua.test_piracies(StochasticDiffEq, + treat_as_own = [StochasticDiffEq.JumpProcesses.JumpProblem, + StochasticDiffEq.SciMLBase.AbstractRODEProblem]) + Aqua.test_project_extras(StochasticDiffEq) + Aqua.test_stale_deps(StochasticDiffEq) + Aqua.test_unbound_args(StochasticDiffEq) + Aqua.test_undefined_exports(StochasticDiffEq) +end diff --git a/test/runtests.jl b/test/runtests.jl index abe68baa4..7af53e028 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -15,6 +15,7 @@ const is_APPVEYOR = Sys.iswindows() && haskey(ENV,"APPVEYOR") @time begin if GROUP == "All" || GROUP == "Interface1" + @time @safetestset "Quality Assurance" begin include("qa.jl") end @time @safetestset "First Rand Tests" begin include("first_rand_test.jl") end @time @safetestset "Inference Tests" begin include("inference_test.jl") end @time @safetestset "Linear RODE Tests" begin include("rode_linear_tests.jl") end diff --git a/test/sde/sde_additive_tests.jl b/test/sde/sde_additive_tests.jl index 3a64b8c32..23fae0d6c 100644 --- a/test/sde/sde_additive_tests.jl +++ b/test/sde/sde_additive_tests.jl @@ -17,7 +17,7 @@ sol3 = solve(prob,SKenCarp(),dt=1/2^(3),adaptive=false) prob = prob_sde_additive -# Test error in stepping and seeding simultaniously +# Test error in stepping and seeding simultaneously sol = solve(prob,SRA(StochasticDiffEq.constructSOSRA()),dt=1/2^(3),seed=1) sol2 = solve(prob,SOSRA(),dt=1/2^(3),seed=1) @test sol.t ≈ sol2.t