Return a function which counts its function evaluations.
Return a function which counts its function evaluations.
This is a counting wrapper for a smoof_function, i.e., the returned function first checks whether the given argument is a vector or matrix, saves the number of function evaluations of the wrapped function to compute the function values and finally passes down the argument to the wrapped smoof_function.
addCountingWrapper(fn)
Arguments
fn: [smoof_function]
Smoof function which should be wrapped.
Returns
[smoof_counting_function]
Examples
fn = makeBBOBFunction(dimensions =2L, fid =1L, iid =1L)fn = addCountingWrapper(fn)# we get a value of 0 since the function has not been called yetprint(getNumberOfEvaluations(fn))# now call the function 10 times consecutivelyfor(i in seq(10L)){ fn(runif(2))}print(getNumberOfEvaluations(fn))# Here we pass a (2x5) matrix to the function with each column representing# one input vectorx = matrix(runif(10), ncol =5L)fn(x)print(getNumberOfEvaluations(fn))