# Reporting results

EvoLP provides a type for reporting results that you can use as the return vale of an algorithm. The type has different data fields conveniently stored in a single variable, which allows for further inspection if desired (for example for post-mortem visualisation and analysis.)

`EvoLP.Result`

— TypeA type for reporting results of an algorithm. In order, these are:

- the optimum $f(x^*)$
- the optimizer $x^*$
- the population
- the number of iterations
- the number of function calls
- the runtime.

Some *getter* functions are also included to obtain specific information about the result.

`EvoLP.optimum`

— Function`optimum(result)`

Returns evaluation of solution found $f(x^*)$.

`EvoLP.optimizer`

— Function`optimizer(result)`

Returns solution found $x^*$.

`EvoLP.population`

— Function`population(res::Result)`

Returns the resulting population of the algorithm.

`EvoLP.iterations`

— Function`iterations(res::Result)`

Returns the number of iterations of a result.

`EvoLP.f_calls`

— Function`f_calls(res::Result)`

Returns number of function evaluation calls of a result.

`EvoLP.runtime`

— Function`runtime(res::Result)`

Returns the resulting runtime of the algorithm.

All built-in algorithms in EvoLP use the `Result`

as their return value.