Passed
Pull Request — master (#22)
by
unknown
01:08
created

Utility.get_benchmark()   C

Complexity

Conditions 8

Size

Total Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 8
c 1
b 0
f 0
dl 0
loc 19
rs 6.6666
1
"""Utilities for benchmarks."""
2
3
from . import Rastrigin, Rosenbrock, Griewank, Sphere, Ackley, Schwefel
4
5
__all__ = ['Utility']
6
7
8
class Utility(object):
9
10
    @staticmethod
11
    def get_benchmark(benchmark):
0 ignored issues
show
best-practice introduced by
Too many return statements (7/6)
Loading history...
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
            elif benchmark == 'schwefel':
26
                return Schwefel()
27
            else:
28
                raise TypeError('Passed benchmark is not defined!')
29