Skip to content

Commit ea9b07d

Browse files
committed
Fix #701
1 parent ab53cc6 commit ea9b07d

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ApproxFun"
22
uuid = "28f2ccd6-bb30-5033-b560-165f7b14dc2f"
3-
version = "0.11.12"
3+
version = "0.11.13"
44

55
[deps]
66
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"

src/Extras/autodifferentiation.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ domain(df::DualFun) = domain(df.f)
1212
differentiate(d::DualFun) = DualFun(d.f',Derivative(rangespace(d.J))*d.J)
1313
integrate(d::DualFun) = DualFun(integrate(d.f),Integral(rangespace(d.J))*d.J)
1414
function cumsum(d::DualFun)
15-
Q=Integral(rangespace(d.J))*d.J
16-
DualFun(cumsum(d.f),(I-Evaluation(rangespace(Q),leftendpoint))*Q)
15+
Q = Integral(rangespace(d.J))*d.J
16+
rs = rangespace(Q)
17+
DualFun(cumsum(d.f),Q-ones(rs)*Evaluation(rs,leftendpoint)*Q)
1718
end
1819

1920
# total definite integral of a function

test/ExtrasTest.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using ApproxFun, Test, DualNumbers
2-
import ApproxFun: eigs
2+
import ApproxFun: eigs
33

44
@testset "Extras" begin
55
@testset "Dual numbers" begin
@@ -123,6 +123,10 @@ using ApproxFun, Test, DualNumbers
123123
u = 0.5*one(x)
124124
u = newton(N_single, [u])
125125
@test norm(u - u1) < 1e-15
126+
end
126127

128+
@testset "cumsum (#701)" begin
129+
d = ApproxFun.DualFun(Fun())
130+
@test cumsum(d).J*Fun() Fun(x -> (x^2-1)/2)
127131
end
128132
end

0 commit comments

Comments
 (0)