@@ -244,19 +244,15 @@ function fit!(
244
244
optsum. final = copy (optsum. initial)
245
245
end
246
246
setpar! = fast ? setθ! : setβθ!
247
- feval = 0
248
247
function obj (x, g)
249
- isempty (g) || error (" gradient not defined for this model" )
250
- feval += 1
248
+ isempty (g) || throw (ArgumentError (" g should be empty for this objective" ))
251
249
val = deviance (pirls! (setpar! (m, x), fast, verbose), nAGQ)
252
- feval == 1 && (optsum. finitial = val)
253
- if verbose
254
- println (" f_" , feval, " : " , val, " " , x)
255
- end
250
+ verbose && println (round (val, digits = 5 ), " " , x)
256
251
val
257
252
end
258
253
opt = Opt (optsum)
259
254
NLopt. min_objective! (opt, obj)
255
+ optsum. finitial = obj (optsum. initial, T[])
260
256
fmin, xmin, ret = NLopt. optimize (opt, copyto! (optsum. final, optsum. initial))
261
257
# # check if very small parameter values bounded below by zero can be set to zero
262
258
xmin_ = copy (xmin)
@@ -274,7 +270,7 @@ function fit!(
274
270
# # ensure that the parameter values saved in m are xmin
275
271
pirls! (setpar! (m, xmin), fast, verbose)
276
272
optsum. nAGQ = nAGQ
277
- optsum. feval = feval
273
+ optsum. feval = opt . numevals
278
274
optsum. final = xmin
279
275
optsum. fmin = fmin
280
276
optsum. returnvalue = ret
0 commit comments