Passed
Push — master ( d39371...69bf6f )
by Simon
03:38
created

gradient_free_optimizers.optimizers.search_tracker   A

Complexity

Total Complexity 13

Size/Duplication

Total Lines 87
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 58
dl 0
loc 87
rs 10
c 0
b 0
f 0
wmc 13

7 Methods

Rating   Name   Duplication   Size   Complexity  
A SearchTracker.score_best() 0 3 1
A SearchTracker.score_new() 0 3 1
A SearchTracker.pos_current() 0 3 1
A SearchTracker.score_current() 0 3 1
A SearchTracker.pos_best() 0 3 1
A SearchTracker.__init__() 0 18 1
A SearchTracker.pos_new() 0 3 1
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
import numpy as np
6
7
8
class SearchTracker:
9
    def __init__(self):
10
        self._pos_new = None
11
        self._score_new = -np.inf
12
13
        self._pos_current = None
14
        self._score_current = -np.inf
15
16
        self._pos_best = None
17
        self._score_best = -np.inf
18
19
        self.pos_new_list = []
20
        self.score_new_list = []
21
22
        self.pos_current_list = []
23
        self.score_current_list = []
24
25
        self.pos_best_list = []
26
        self.score_best_list = []
27
28
    ### new ###
29
30
    @property
31
    def pos_new(self):
32
        return self._pos_new
33
34
    @pos_new.setter
35
    def pos_new(self, pos):
36
        self.pos_new_list.append(pos)
37
        self._pos_new = pos
38
39
    @property
40
    def score_new(self):
41
        return self._score_new
42
43
    @score_new.setter
44
    def score_new(self, score):
45
        self.score_new_list.append(score)
46
        self._score_new = score
47
48
    ### current ###
49
50
    @property
51
    def pos_current(self):
52
        return self._pos_current
53
54
    @pos_current.setter
55
    def pos_current(self, pos):
56
        self.pos_current_list.append(pos)
57
        self._pos_current = pos
58
59
    @property
60
    def score_current(self):
61
        return self._score_current
62
63
    @score_current.setter
64
    def score_current(self, score):
65
        self.score_current_list.append(score)
66
        self._score_current = score
67
68
    ### best ###
69
70
    @property
71
    def pos_best(self):
72
        return self._pos_best
73
74
    @pos_best.setter
75
    def pos_best(self, pos):
76
        self.pos_best_list.append(pos)
77
        self._pos_best = pos
78
79
    @property
80
    def score_best(self):
81
        return self._score_best
82
83
    @score_best.setter
84
    def score_best(self, score):
85
        self.score_best_list.append(score)
86
        self._score_best = score
87