R/addCountingWrapper.R
addCountingWrapper.Rd
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)
[smoof_function
]
Smoof function which should be wrapped.
[smoof_counting_function
]
fn = makeBBOBFunction(dimensions = 2L, fid = 1L, iid = 1L)
fn = addCountingWrapper(fn)
# we get a value of 0 since the function has not been called yet
print(getNumberOfEvaluations(fn))
#> [1] 0
# now call the function 10 times consecutively
for (i in seq(10L)) {
fn(runif(2))
}
print(getNumberOfEvaluations(fn))
#> [1] 10
# Here we pass a (2x5) matrix to the function with each column representing
# one input vector
x = matrix(runif(10), ncol = 5L)
fn(x)
#> [1] 83.39921 81.58337 82.58760 82.08580 81.02571
print(getNumberOfEvaluations(fn))
#> [1] 15