66from .event import Events
77from .util import Colours
88
9- def _get_default_logger (verbose ):
10- return ScreenLogger (verbose = verbose )
9+ def _get_default_logger (verbose , is_constrained ):
10+ return ScreenLogger (verbose = verbose , is_constrained = is_constrained )
1111
1212
1313class ScreenLogger (_Tracker ):
1414 _default_cell_size = 9
1515 _default_precision = 4
1616
17- def __init__ (self , verbose = 2 ):
17+ def __init__ (self , verbose = 2 , is_constrained = False ):
1818 self ._verbose = verbose
19+ self ._is_constrained = is_constrained
1920 self ._header_length = None
2021 super (ScreenLogger , self ).__init__ ()
2122
@@ -27,6 +28,10 @@ def verbose(self):
2728 def verbose (self , v ):
2829 self ._verbose = v
2930
31+ @property
32+ def is_constrained (self ):
33+ return self ._is_constrained
34+
3035 def _format_number (self , x ):
3136 if isinstance (x , int ):
3237 s = "{x:<{s}}" .format (
@@ -47,6 +52,20 @@ def _format_number(self, x):
4752 return s [:self ._default_cell_size - 3 ] + "..."
4853 return s
4954
55+ def _format_bool (self , x ):
56+ if 5 > self ._default_cell_size :
57+ if x == True :
58+ x_ = 'T'
59+ elif x == False :
60+ x_ = 'F'
61+ else :
62+ x_ = str (x )
63+ s = "{x:<{s}}" .format (
64+ x = x_ ,
65+ s = self ._default_cell_size ,
66+ )
67+ return s
68+
5069 def _format_key (self , key ):
5170 s = "{key:^{s}}" .format (
5271 key = key ,
@@ -62,6 +81,9 @@ def _step(self, instance, colour=Colours.black):
6281
6382 cells .append (self ._format_number (self ._iterations + 1 ))
6483 cells .append (self ._format_number (res ["target" ]))
84+ if self ._is_constrained :
85+ cells .append (self ._format_bool (res ["allowed" ]))
86+
6587
6688 for key in instance .space .keys :
6789 cells .append (self ._format_number (res ["params" ][key ]))
@@ -72,6 +94,10 @@ def _header(self, instance):
7294 cells = []
7395 cells .append (self ._format_key ("iter" ))
7496 cells .append (self ._format_key ("target" ))
97+
98+ if self ._is_constrained :
99+ cells .append (self ._format_key ("allowed" ))
100+
75101 for key in instance .space .keys :
76102 cells .append (self ._format_key (key ))
77103
0 commit comments