Skip to content

Commit 7b45f06

Browse files
Use @static if for compile-time evaluation of isdefined checks
Changed all isdefined checks to @static if for better performance since these conditions can be evaluated at compile time. This ensures the supports_opt_cache_interface compatibility checks are resolved during compilation rather than runtime, providing optimal performance. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 2c93eb4 commit 7b45f06

File tree

20 files changed

+44
-44
lines changed

20 files changed

+44
-44
lines changed

lib/OptimizationBBO/src/OptimizationBBO.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ abstract type BBO end
99

1010
SciMLBase.requiresbounds(::BBO) = true
1111
SciMLBase.allowsbounds(::BBO) = true
12-
if isdefined(SciMLBase, :supports_opt_cache_interface)
12+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1313
SciMLBase.supports_opt_cache_interface(opt::BBO) = true
1414
end
15-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
15+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1616
OptimizationBase.supports_opt_cache_interface(opt::BBO) = true
1717
end
1818

lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ export CMAEvolutionStrategyOpt
99
struct CMAEvolutionStrategyOpt end
1010

1111
SciMLBase.allowsbounds(::CMAEvolutionStrategyOpt) = true
12-
if isdefined(SciMLBase, :supports_opt_cache_interface)
12+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1313
SciMLBase.supports_opt_cache_interface(opt::CMAEvolutionStrategyOpt) = true
1414
end
15-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
15+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1616
OptimizationBase.supports_opt_cache_interface(opt::CMAEvolutionStrategyOpt) = true
1717
end
1818
SciMLBase.requiresgradient(::CMAEvolutionStrategyOpt) = false

lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ using Optimization.SciMLBase
66

77
SciMLBase.allowsbounds(opt::Evolutionary.AbstractOptimizer) = true
88
SciMLBase.allowsconstraints(opt::Evolutionary.AbstractOptimizer) = true
9-
if isdefined(SciMLBase, :supports_opt_cache_interface)
9+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1010
SciMLBase.supports_opt_cache_interface(opt::Evolutionary.AbstractOptimizer) = true
1111
end
12-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
12+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1313
OptimizationBase.supports_opt_cache_interface(opt::Evolutionary.AbstractOptimizer) = true
1414
end
1515
SciMLBase.requiresgradient(opt::Evolutionary.AbstractOptimizer) = false

lib/OptimizationGCMAES/src/OptimizationGCMAES.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ struct GCMAESOpt end
1111
SciMLBase.requiresbounds(::GCMAESOpt) = true
1212
SciMLBase.allowsbounds(::GCMAESOpt) = true
1313
SciMLBase.allowscallback(::GCMAESOpt) = false
14-
if isdefined(SciMLBase, :supports_opt_cache_interface)
14+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1515
SciMLBase.supports_opt_cache_interface(opt::GCMAESOpt) = true
1616
end
17-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
17+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1818
OptimizationBase.supports_opt_cache_interface(opt::GCMAESOpt) = true
1919
end
2020
SciMLBase.requiresgradient(::GCMAESOpt) = true

lib/OptimizationIpopt/src/OptimizationIpopt.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ const DenseOrSparse{T} = Union{Matrix{T}, SparseMatrixCSC{T}}
1313

1414
struct IpoptOptimizer end
1515

16-
if isdefined(SciMLBase, :supports_opt_cache_interface)
16+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1717
function SciMLBase.supports_opt_cache_interface(alg::IpoptOptimizer)
1818
true
1919
end
2020
end
21-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
21+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
2222
function OptimizationBase.supports_opt_cache_interface(alg::IpoptOptimizer)
2323
true
2424
end

lib/OptimizationMOI/src/OptimizationMOI.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,13 +283,13 @@ end
283283
include("nlp.jl")
284284
include("moi.jl")
285285

286-
if isdefined(SciMLBase, :supports_opt_cache_interface)
286+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
287287
function SciMLBase.supports_opt_cache_interface(alg::Union{MOI.AbstractOptimizer,
288288
MOI.OptimizerWithAttributes})
289289
true
290290
end
291291
end
292-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
292+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
293293
function OptimizationBase.supports_opt_cache_interface(alg::Union{MOI.AbstractOptimizer,
294294
MOI.OptimizerWithAttributes})
295295
true

lib/OptimizationManopt/src/OptimizationManopt.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ internal state.
1212
"""
1313
abstract type AbstractManoptOptimizer end
1414

15-
if isdefined(SciMLBase, :supports_opt_cache_interface)
15+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1616
SciMLBase.supports_opt_cache_interface(opt::AbstractManoptOptimizer) = true
1717
end
18-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
18+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1919
OptimizationBase.supports_opt_cache_interface(opt::AbstractManoptOptimizer) = true
2020
end
2121

lib/OptimizationMetaheuristics/src/OptimizationMetaheuristics.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ using Optimization.SciMLBase
77
SciMLBase.requiresbounds(opt::Metaheuristics.AbstractAlgorithm) = true
88
SciMLBase.allowsbounds(opt::Metaheuristics.AbstractAlgorithm) = true
99
SciMLBase.allowscallback(opt::Metaheuristics.AbstractAlgorithm) = false
10-
if isdefined(SciMLBase, :supports_opt_cache_interface)
10+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1111
SciMLBase.supports_opt_cache_interface(opt::Metaheuristics.AbstractAlgorithm) = true
1212
end
13-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
13+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1414
OptimizationBase.supports_opt_cache_interface(opt::Metaheuristics.AbstractAlgorithm) = true
1515
end
1616

lib/OptimizationMultistartOptimization/src/OptimizationMultistartOptimization.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ using Optimization.SciMLBase
77
SciMLBase.requiresbounds(opt::MultistartOptimization.TikTak) = true
88
SciMLBase.allowsbounds(opt::MultistartOptimization.TikTak) = true
99
SciMLBase.allowscallback(opt::MultistartOptimization.TikTak) = false
10-
if isdefined(SciMLBase, :supports_opt_cache_interface)
10+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1111
SciMLBase.supports_opt_cache_interface(opt::MultistartOptimization.TikTak) = true
1212
end
13-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
13+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1414
OptimizationBase.supports_opt_cache_interface(opt::MultistartOptimization.TikTak) = true
1515
end
1616

lib/OptimizationNLopt/src/OptimizationNLopt.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ using Optimization: deduce_retcode
88
(f::NLopt.Algorithm)() = f
99

1010
SciMLBase.allowsbounds(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true
11-
if isdefined(SciMLBase, :supports_opt_cache_interface)
11+
@static if isdefined(SciMLBase, :supports_opt_cache_interface)
1212
SciMLBase.supports_opt_cache_interface(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true
1313
end
14-
if isdefined(OptimizationBase, :supports_opt_cache_interface)
14+
@static if isdefined(OptimizationBase, :supports_opt_cache_interface)
1515
OptimizationBase.supports_opt_cache_interface(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true
1616
end
1717

0 commit comments

Comments
 (0)