Skip to content

Commit

Permalink
add .gitattributes to ignore changes in Manifest.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
aviatesk committed Jul 13, 2023
1 parent efbb0f4 commit 2462184
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Manifest.toml linguist-generated=true
40 changes: 40 additions & 0 deletions test/rules.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
module rules

using Test, Diffractor, ChainRulesCore
using Diffractor: var"'"

# invalidation for rrule
rrule_demo(x) = sin(x)
function rrule_demo_pullback(x)
return function (Δx)
return NoTangent(), Δx*cos(x)
end
end
function ChainRulesCore.rrule(::typeof(rrule_demo), x)
return rrule_demo(x), rrule_demo_pullback(x)
end
@test cos(42) == rrule_demo'(42)
function rrule_demo_pullback(x)
return function (Δx)
return NoTangent(), Δx*sin(x)
end
end
@test sin(42) == rrule_demo'(42)

# invalidation for frule
frule_demo(x) = sin(x)
function frule_demo_impl(Δx, x)
sinx, cosx = sincos(x)
return (sinx, sinx * Δx)
end
function ChainRulesCore.frule((_, Δx), ::typeof(frule_demo), x)
return frule_demo_impl(Δx, x)
end
@test cos(42) == frule_demo'(42)
function frule_demo_impl(Δx, x)
sinx, cosx = sincos(x)
return (sinx, sinx * Δx)
end
@test sin(42) == frule_demo'(42)

end # module rules

0 comments on commit 2462184

Please sign in to comment.