Skip to content

Commit 2fe6c41

Browse files
authored
Rename mutation_support into twoarg_support (#230)
1 parent cc73842 commit 2fe6c41

12 files changed

Lines changed: 22 additions & 22 deletions

File tree

DifferentiationInterface/docs/src/overloads.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Each cell can have three values:
2424
```@setup overloads
2525
using ADTypes: AbstractADType
2626
using DifferentiationInterface
27-
using DifferentiationInterface: backend_str, mutation_support, MutationSupported
27+
using DifferentiationInterface: backend_str, twoarg_support, TwoArgSupported
2828
using Markdown: Markdown
2929
using Diffractor: Diffractor
3030
using Enzyme: Enzyme
@@ -155,7 +155,7 @@ function print_overloads(backend, ext::Symbol)
155155
156156
println(io, "#### Two-argument functions `f!(y, x)`")
157157
println(io)
158-
if mutation_support(backend) == MutationSupported()
158+
if twoarg_support(backend) == TwoArgSupported()
159159
print_overload_table(io, operators_and_types_f!(backend), ext)
160160
else
161161
println(io, "Backend doesn't support mutating functions.")

DifferentiationInterface/ext/DifferentiationInterfaceChainRulesCoreExt/DifferentiationInterfaceChainRulesCoreExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const AutoForwardChainRules = AutoChainRules{<:RuleConfig{>:HasForwardsMode}}
1818
const AutoReverseChainRules = AutoChainRules{<:RuleConfig{>:HasReverseMode}}
1919

2020
DI.check_available(::AutoChainRules) = true
21-
DI.mutation_support(::AutoChainRules) = DI.MutationNotSupported()
21+
DI.twoarg_support(::AutoChainRules) = DI.TwoArgNotSupported()
2222

2323
include("reverse_onearg.jl")
2424
include("differentiate_with.jl")

DifferentiationInterface/ext/DifferentiationInterfaceDiffractorExt/DifferentiationInterfaceDiffractorExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using DifferentiationInterface: NoPushforwardExtras
66
using Diffractor: DiffractorRuleConfig, TaylorTangentIndex, ZeroBundle, bundle, ∂☆
77

88
DI.check_available(::AutoDiffractor) = true
9-
DI.mutation_support(::AutoDiffractor) = DI.MutationNotSupported()
9+
DI.twoarg_support(::AutoDiffractor) = DI.TwoArgNotSupported()
1010
DI.pullback_performance(::AutoDiffractor) = DI.PullbackSlow()
1111

1212
## Pushforward

DifferentiationInterface/ext/DifferentiationInterfaceFiniteDifferencesExt/DifferentiationInterfaceFiniteDifferencesExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ using FiniteDifferences: FiniteDifferences, grad, jacobian, jvp, j′vp
99
using LinearAlgebra: dot
1010

1111
DI.check_available(::AutoFiniteDifferences) = true
12-
DI.mutation_support(::AutoFiniteDifferences) = DI.MutationNotSupported()
12+
DI.twoarg_support(::AutoFiniteDifferences) = DI.TwoArgNotSupported()
1313

1414
function FiniteDifferences.to_vec(a::OneElement) # TODO: remove type piracy (https://github.com/JuliaDiff/FiniteDifferences.jl/issues/141)
1515
return FiniteDifferences.to_vec(collect(a))

DifferentiationInterface/ext/DifferentiationInterfaceTrackerExt/DifferentiationInterfaceTrackerExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using DifferentiationInterface: NoGradientExtras, NoPullbackExtras
66
using Tracker: Tracker, back, data, forward, gradient, jacobian, param, withgradient
77

88
DI.check_available(::AutoTracker) = true
9-
DI.mutation_support(::AutoTracker) = DI.MutationNotSupported()
9+
DI.twoarg_support(::AutoTracker) = DI.TwoArgNotSupported()
1010

1111
## Pullback
1212

DifferentiationInterface/ext/DifferentiationInterfaceZygoteExt/DifferentiationInterfaceZygoteExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ using Zygote:
99
ZygoteRuleConfig, gradient, hessian, jacobian, pullback, withgradient, withjacobian
1010

1111
DI.check_available(::AutoZygote) = true
12-
DI.mutation_support(::AutoZygote) = DI.MutationNotSupported()
12+
DI.twoarg_support(::AutoZygote) = DI.TwoArgNotSupported()
1313

1414
## Pullback
1515

DifferentiationInterface/src/sparse/fallbacks.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
for trait in (
44
:check_available,
5-
:mutation_support,
5+
:twoarg_support,
66
:pushforward_performance,
77
:pullback_performance,
88
:hvp_mode,

DifferentiationInterface/src/utils/check.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ end
1414
1515
Check whether `backend` supports differentiation of two-argument functions.
1616
"""
17-
check_twoarg(backend::AbstractADType) = Bool(mutation_support(backend))
17+
check_twoarg(backend::AbstractADType) = Bool(twoarg_support(backend))
1818

1919
sqnorm(x::AbstractArray) = sum(abs2, x)
2020

DifferentiationInterface/src/utils/traits.jl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,25 @@
33
abstract type MutationBehavior end
44

55
"""
6-
MutationSupported
6+
TwoArgSupported
77
88
Trait identifying backends that support two-argument functions `f!(y, x)`.
99
"""
10-
struct MutationSupported <: MutationBehavior end
10+
struct TwoArgSupported <: MutationBehavior end
1111

1212
"""
13-
MutationNotSupported
13+
TwoArgNotSupported
1414
1515
Trait identifying backends that do not support two-argument functions `f!(y, x)`.
1616
"""
17-
struct MutationNotSupported <: MutationBehavior end
17+
struct TwoArgNotSupported <: MutationBehavior end
1818

1919
"""
20-
mutation_support(backend)
20+
twoarg_support(backend)
2121
22-
Return [`MutationSupported`](@ref) or [`MutationNotSupported`](@ref) in a statically predictable way.
22+
Return [`TwoArgSupported`](@ref) or [`TwoArgNotSupported`](@ref) in a statically predictable way.
2323
"""
24-
mutation_support(::AbstractADType) = MutationSupported()
24+
twoarg_support(::AbstractADType) = TwoArgSupported()
2525

2626
## Pushforward
2727

@@ -132,8 +132,8 @@ end
132132

133133
## Conversions
134134

135-
Base.Bool(::MutationSupported) = true
136-
Base.Bool(::MutationNotSupported) = false
135+
Base.Bool(::TwoArgSupported) = true
136+
Base.Bool(::TwoArgNotSupported) = false
137137

138138
Base.Bool(::PushforwardFast) = true
139139
Base.Bool(::PushforwardSlow) = false

DifferentiationInterfaceTest/src/DifferentiationInterfaceTest.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ using DifferentiationInterface:
2626
inner,
2727
mode,
2828
outer,
29-
mutation_support,
29+
twoarg_support,
3030
pushforward_performance,
3131
pullback_performance
3232
using DifferentiationInterface:

0 commit comments

Comments
 (0)