Skip to content

Commit 59c2a49

Browse files
update for Julia 1.0
1 parent 954ba1c commit 59c2a49

File tree

9 files changed

+44
-53
lines changed

9 files changed

+44
-53
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*.jl.cov
22
*.jl.*.cov
33
*.jl.mem
4+
Manifest.toml

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ os:
44
- linux
55
- osx
66
julia:
7-
- 0.6
8-
- nightly
7+
- 1
8+
- 1.3
99
notifications:
1010
email: false
1111
git:

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ uuid = "1aa9af3a-2424-508f-bb7e-0626de155470"
44
[deps]
55
Bridge = "2d3116d5-4b8f-5680-861c-71f149790274"
66
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
7+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
78
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
89
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
910

REQUIRE

Lines changed: 0 additions & 5 deletions
This file was deleted.

appveyor.yml

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
environment:
22
matrix:
3-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe"
4-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe"
5-
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
6-
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
7-
8-
## uncomment the following lines to allow failures on nightly julia
9-
## (tests will run but not make your overall status red)
10-
#matrix:
11-
# allow_failures:
12-
# - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
13-
# - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
3+
- julia_version: 1.0
4+
- julia_version: 1
5+
6+
platform:
7+
- x86 # 32-bit
8+
- x64 # 64-bit
9+
10+
# # Uncomment the following lines to allow failures on nightly julia
11+
# # (tests will run but not make your overall status red)
12+
# matrix:
13+
# allow_failures:
14+
# - julia_version: nightly
1415

1516
branches:
1617
only:
@@ -24,24 +25,18 @@ notifications:
2425
on_build_status_changed: false
2526

2627
install:
27-
- ps: "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12"
28-
# If there's a newer build queued for the same PR, cancel this one
29-
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
30-
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
31-
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
32-
throw "There are newer queued builds for this pull request, failing early." }
33-
# Download most recent Julia Windows binary
34-
- ps: (new-object net.webclient).DownloadFile(
35-
$env:JULIA_URL,
36-
"C:\projects\julia-binary.exe")
37-
# Run installer silently, output to C:\projects\julia
38-
- C:\projects\julia-binary.exe /S /D=C:\projects\julia
28+
- ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/JuliaCI/Appveyor.jl/version-1/bin/install.ps1"))
3929

4030
build_script:
41-
# Need to convert from shallow to complete for Pkg.clone to work
42-
- IF EXIST .git\shallow (git fetch --unshallow)
43-
- C:\projects\julia\bin\julia -e "versioninfo();
44-
Pkg.clone(pwd(), \"DiffEqBridge\"); Pkg.build(\"DiffEqBridge\")"
31+
- echo "%JL_BUILD_SCRIPT%"
32+
- C:\julia\bin\julia -e "%JL_BUILD_SCRIPT%"
4533

4634
test_script:
47-
- C:\projects\julia\bin\julia -e "Pkg.test(\"DiffEqBridge\")"
35+
- echo "%JL_TEST_SCRIPT%"
36+
- C:\julia\bin\julia -e "%JL_TEST_SCRIPT%"
37+
38+
# # Uncomment to support code coverage upload. Should only be enabled for packages
39+
# # which would have coverage gaps without running on Windows
40+
# on_success:
41+
# - echo "%JL_CODECOV_SCRIPT%"
42+
# - C:\julia\bin\julia -e "%JL_CODECOV_SCRIPT%"

src/BridgeDiffEq.jl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
__precompile__(true)
2-
31
module BridgeDiffEq
42

53
using Reexport
64
@reexport using DiffEqBase
75

8-
using StaticArrays
6+
using StaticArrays, LinearAlgebra
97
import Bridge
108

119
import DiffEqBase: solve
@@ -19,12 +17,13 @@ const warnkeywords =
1917
:calck, :progress, :tstops, :saveat, :dense)
2018

2119
function __init__()
22-
const global warnlist = Set(warnkeywords)
20+
global warnlist = Set(warnkeywords)
2321
end
2422

2523
include("algorithms.jl")
2624
include("solve.jl")
2725

28-
export BridgeAlgorithm, BridgeEuler, BridgeHeun, BridgeSRK, BridgeR3, BridgeBS3
26+
export BridgeAlgorithm, BridgeEuler, BridgeHeun, BridgeSRK, BridgeR3, BridgeBS3,
27+
BridgeMdb
2928

3029
end # module

src/algorithms.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
abstract type BridgeAlgorithm <: DEAlgorithm end
1+
abstract type BridgeAlgorithm <: DiffEqBase.DEAlgorithm end
22
struct BridgeEuler <: BridgeAlgorithm end
33
struct BridgeHeun <: BridgeAlgorithm end
4+
struct BridgeMdb <: BridgeAlgorithm end
45
struct BridgeSRK <: BridgeAlgorithm end
56
struct BridgeR3 <: BridgeAlgorithm end
67
struct BridgeBS3 <: BridgeAlgorithm end

src/solve.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
function solve{uType,tType,isinplace,AlgType<:BridgeAlgorithm}(
2-
prob::Union{AbstractODEProblem{uType,tType,isinplace},
3-
AbstractSDEProblem{uType,tType,isinplace}},
1+
function solve(
2+
prob::Union{DiffEqBase.AbstractODEProblem{uType,tType,isinplace},
3+
DiffEqBase.AbstractSDEProblem{uType,tType,isinplace}},
44
alg::AlgType,
55
timeseries=[],ts=[],ks=[];
66
verbose=true,
77
dt = nothing,
88
timeseries_errors=true,
9-
callback=nothing,kwargs...)
9+
callback=nothing,kwargs...) where {uType,tType,isinplace,AlgType<:BridgeAlgorithm}
1010

1111
if dt == nothing
1212
error("dt required for fixed timestep methods.")
@@ -17,7 +17,7 @@ function solve{uType,tType,isinplace,AlgType<:BridgeAlgorithm}(
1717
warned && warn_compat()
1818
end
1919

20-
if prob.callback != nothing || callback != nothing
20+
if callback != nothing || :callback in keys(prob.kwargs)
2121
error("Bridge is not compatible with callbacks.")
2222
end
2323

@@ -26,12 +26,12 @@ function solve{uType,tType,isinplace,AlgType<:BridgeAlgorithm}(
2626

2727
if isinplace
2828
f = (t,u) -> (du = similar(u); prob.f(du,u,p,t); Diagonal(du))
29-
if typeof(prob) <: AbstractSDEProblem
29+
if typeof(prob) <: DiffEqBase.AbstractSDEProblem
3030
g = (t,u) -> (du = similar(u); prob.g(du,u,p,t,u); Diagonal(du))
3131
end
3232
else
3333
f = (t,u) -> prob.f(u,p,t)
34-
if typeof(prob) <: AbstractSDEProblem
34+
if typeof(prob) <: DiffEqBase.AbstractSDEProblem
3535
if typeof(u0) <: Number
3636
g = (t,u) -> prob.g(u,p,t)
3737
else
@@ -41,7 +41,7 @@ function solve{uType,tType,isinplace,AlgType<:BridgeAlgorithm}(
4141
end
4242

4343
t = prob.tspan[1]:dt:prob.tspan[2]
44-
if typeof(prob) <: AbstractSDEProblem
44+
if typeof(prob) <: DiffEqBase.AbstractSDEProblem
4545
W = Bridge.samplepath(t, zero(u0))
4646
samp = Bridge.sample(t, Bridge.Wiener{typeof(u0)}())
4747
if typeof(alg) <: BridgeEuler
@@ -54,7 +54,7 @@ function solve{uType,tType,isinplace,AlgType<:BridgeAlgorithm}(
5454
error("BridgeSRK is not compatible with non Number types")
5555
end
5656
else # ODE
57-
samp = Bridge.SamplePath(t,Vector{typeof(u0)}(length(t)))
57+
samp = Bridge.SamplePath(t,Vector{typeof(u0)}(undef,length(t)))
5858
W = nothing
5959
if typeof(alg) <: BridgeR3
6060
u = Bridge.solve!(Bridge.R3(),samp,u0,f)
@@ -63,7 +63,7 @@ function solve{uType,tType,isinplace,AlgType<:BridgeAlgorithm}(
6363
end
6464
end
6565

66-
build_solution(prob, alg, u.tt, u.yy,
66+
DiffEqBase.build_solution(prob, alg, u.tt, u.yy,
6767
W = W,
6868
timeseries_errors = timeseries_errors,
6969
retcode = :Success)

test/runtests.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using BridgeDiffEq, StaticArrays
2-
using Base.Test
2+
using Test
33

44
α=1
55
β=1
@@ -19,7 +19,6 @@ sol = solve(prob,BridgeHeun(),dt=dt)
1919
sol = solve(prob,BridgeSRK(),dt=dt)
2020

2121

22-
2322
u0 = @SVector [2.0,3.0]
2423
prob = ODEProblem(f,u0,(0.0,1.0))
2524
sol = solve(prob,BridgeR3(),dt=dt)

0 commit comments

Comments
 (0)