@@ -19,6 +19,7 @@ Base.broadcastable(ad::AbstractADType) = Ref(ad)
19
19
@inline _unwrap_val (:: Val{T} ) where {T} = T
20
20
@inline _unwrap_val (x) = x
21
21
22
+ include (" compat.jl" ) # @public macro
22
23
include (" mode.jl" )
23
24
include (" dense.jl" )
24
25
include (" sparse.jl" )
@@ -46,42 +47,29 @@ export AutoChainRules,
46
47
AutoTapir,
47
48
AutoTracker,
48
49
AutoZygote
50
+ @public AbstractMode
51
+ @public ForwardMode, ReverseMode, ForwardOrReverseMode, SymbolicMode
52
+ @public mode
53
+ @public Auto
49
54
50
55
# Sparse Automatic Differentiation
51
56
export AutoSparse
57
+ @public dense_ad
52
58
53
59
# Sparsity detection
54
60
export AbstractSparsityDetector
55
61
export jacobian_sparsity, hessian_sparsity
62
+ @public sparsity_detector
63
+ @public NoSparsityDetector
64
+ @public KnownJacobianSparsityDetector
65
+ @public KnownHessianSparsityDetector
56
66
57
67
# Matrix coloring
58
68
export AbstractColoringAlgorithm
59
69
export column_coloring, row_coloring, symmetric_coloring
70
+ @public coloring_algorithm
71
+ @public NoColoringAlgorithm
60
72
61
73
# legacy exports are taken care of by @deprecated
62
74
63
- # Define public interface
64
- # To avoid a dependency on Compat.jl, this uses a trick suggested by Lilith Hafner:
65
- # https://discourse.julialang.org/t/is-compat-jl-worth-it-for-the-public-keyword/119041/2
66
- if VERSION >= v " 1.11.0-DEV.469"
67
- # Automatic Differentiation
68
- eval (Meta. parse (" public AbstractMode" ))
69
- eval (Meta. parse (" public ForwardMode, ReverseMode, ForwardOrReverseMode, SymbolicMode" ))
70
- eval (Meta. parse (" public mode" ))
71
- eval (Meta. parse (" public Auto" ))
72
-
73
- # Sparse Automatic Differentiation
74
- eval (Meta. parse (" public dense_ad" ))
75
-
76
- # Sparsity detection
77
- eval (Meta. parse (" public sparsity_detector" ))
78
- eval (Meta. parse (" public NoSparsityDetector" ))
79
- eval (Meta. parse (" public KnownJacobianSparsityDetector" ))
80
- eval (Meta. parse (" public KnownHessianSparsityDetector" ))
81
-
82
- # Matrix coloring
83
- eval (Meta. parse (" public NoColoringAlgorithm" ))
84
- eval (Meta. parse (" public coloring_algorithm" ))
85
- end
86
-
87
75
end
0 commit comments