Completed
Pull Request — master (#21)
by Grega
01:03
created

Utility.get_benchmark()   B

Complexity

Conditions 7

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 7
c 0
b 0
f 0
dl 0
loc 17
rs 7.3333
1
"""Utilities for benchmarks."""
2
3
from . import Rastrigin, Rosenbrock, Griewank, Sphere, Ackley
4
5
__all__ = ['Utility']
6
7
8
class Utility(object):
9
10
    @staticmethod
11
    def get_benchmark(benchmark):
12
        if not isinstance(benchmark, ''.__class__):
13
            return benchmark
14
        else:
15
            if benchmark == 'rastrigin':
16
                return Rastrigin()
17
            elif benchmark == 'rosenbrock':
18
                return Rosenbrock()
19
            elif benchmark == 'griewank':
20
                return Griewank()
21
            elif benchmark == 'sphere':
22
                return Sphere()
23
            elif benchmark == 'ackley':
24
                return Ackley()
25
            else:
26
                raise TypeError('Passed benchmark is not defined!')
27