Skip to content

Commit c1c9cb6

Browse files
committed
DEStats counter
1 parent d525ac1 commit c1c9cb6

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/maketype.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ function maketype(name,param_dict,origex,funcs,syms,fex;
5151
vector_ex::Expr
5252
vector_ex_return::Expr
5353
params::Vector{Symbol}
54+
nf::Ref{Int} # number of function evals
5455
end)
5556

5657
# Make the default constructor
@@ -77,10 +78,10 @@ function maketype(name,param_dict,origex,funcs,syms,fex;
7778
$tgradex_ex,$Jex_ex,$expJex_ex,$param_Jex_ex,
7879
$invJex_ex,$invWex_ex,$invWex_t_ex,
7980
$Hex_ex,$invHex_ex,$fex_ex,$pex_ex,$vector_ex_ex,
80-
$vector_ex_return_ex,$params)) |> esc
81+
$vector_ex_return_ex,$params,Ref(0))) |> esc
8182

82-
callex = :(((f::$name))(args...) = f.f(args...)) |> esc
83-
callex2 = :(((f::$name))(u,p,t::Number) = (du=similar(u);f.f(du,u,p,t);du)) |> esc
83+
callex = :(((f::$name))(args...) = (f.nf[] += 1; f.f(args...))) |> esc
84+
callex2 = :(((f::$name))(u,p,t::Number) = (f.nf[] += 1;du=similar(u);f.f(du,u,p,t);du)) |> esc
8485

8586
# Make the type instance using the default constructor
8687
typeex,constructorex,callex,callex2

0 commit comments

Comments
 (0)