Skip to content

Commit a584988

Browse files
Merge pull request #341 from JuliaDiffEq/callback
allow for arbitrary array types in CallbackCache
2 parents 64efe5b + dddbc40 commit a584988

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/callbacks.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,15 @@ mutable struct CallbackCache{conditionType,signType}
637637
prev_sign::signType
638638
end
639639

640-
function CallbackCache(max_len,conditionType::Type,signType::Type)
640+
function CallbackCache(u,max_len,::Type{conditionType},::Type{signType}) where {conditionType,signType}
641+
tmp_condition = similar(u, conditionType, max_len)
642+
previous_condition = similar(u, conditionType, max_len)
643+
next_sign = similar(u, signType, max_len)
644+
prev_sign = similar(u, signType, max_len)
645+
CallbackCache{typeof(tmp_condition),typeof(next_sign)}(tmp_condition,previous_condition,next_sign,prev_sign)
646+
end
647+
648+
function CallbackCache(max_len,::Type{conditionType},::Type{signType}) where {conditionType,signType}
641649
tmp_condition = zeros(conditionType, max_len)
642650
previous_condition = zeros(conditionType, max_len)
643651
next_sign = zeros(signType, max_len)

0 commit comments

Comments
 (0)