@@ -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