|
3 | 3 |
|
4 | 4 | A collection of all the data required for `OverrideInit`. |
5 | 5 | """ |
6 | | -struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap, M} |
| 6 | +struct OverrideInitData{ |
| 7 | + IProb, UIProb, IProbMap, IProbPmap, M, OOP <: Union{Val{true}, Val{false}}} |
7 | 8 | """ |
8 | 9 | The `AbstractNonlinearProblem` to solve for initialization. |
9 | 10 | """ |
@@ -38,20 +39,20 @@ struct OverrideInitData{IProb, UIProb, IProbMap, IProbPmap, M} |
38 | 39 | If this flag is `Val{true}`, `update_initializeprob!` is treated as an out-of-place |
39 | 40 | function which returns the updated `initializeprob`. |
40 | 41 | """ |
41 | | - is_update_oop::Union{Type{Val{true}}, Type{Val{false}}} |
| 42 | + is_update_oop::OOP |
42 | 43 |
|
43 | 44 | function OverrideInitData(initprob::I, update_initprob!::J, initprobmap::K, |
44 | | - initprobpmap::L, metadata::M, is_update_oop) where {I, J, K, L, M} |
| 45 | + initprobpmap::L, metadata::M, is_update_oop::O) where {I, J, K, L, M, O} |
45 | 46 | @assert initprob isa |
46 | 47 | Union{SCCNonlinearProblem, NonlinearProblem, NonlinearLeastSquaresProblem} |
47 | | - return new{I, J, K, L, M}( |
| 48 | + return new{I, J, K, L, M, O}( |
48 | 49 | initprob, update_initprob!, initprobmap, initprobpmap, metadata, is_update_oop) |
49 | 50 | end |
50 | 51 | end |
51 | 52 |
|
52 | 53 | function OverrideInitData( |
53 | 54 | initprob, update_initprob!, initprobmap, initprobpmap; |
54 | | - metadata = nothing, is_update_oop = Val{false}) |
| 55 | + metadata = nothing, is_update_oop = Val(false)) |
55 | 56 | OverrideInitData( |
56 | 57 | initprob, update_initprob!, initprobmap, initprobpmap, metadata, is_update_oop) |
57 | 58 | end |
@@ -251,7 +252,7 @@ function get_initial_values(prob, valp, f, alg::OverrideInit, |
251 | 252 | initprob = initdata.initializeprob |
252 | 253 |
|
253 | 254 | if initdata.update_initializeprob! !== nothing |
254 | | - if initdata.is_update_oop == Val{true} |
| 255 | + if initdata.is_update_oop === Val(true) |
255 | 256 | initprob = initdata.update_initializeprob!(initprob, valp) |
256 | 257 | else |
257 | 258 | initdata.update_initializeprob!(initprob, valp) |
|
0 commit comments