master > master: code - metrics für moves
This commit is contained in:
parent
ab38c181c9
commit
ef833533f6
@ -17,6 +17,7 @@ import (
|
||||
* ---------------------------------------------------------------- */
|
||||
|
||||
var _ctr_time = types.NewCounter()
|
||||
var _ctr_moves = types.NewCounter()
|
||||
var _ctr_space = types.NewCounter()
|
||||
var _tmr = types.NewTimer()
|
||||
|
||||
@ -26,6 +27,7 @@ var _tmr = types.NewTimer()
|
||||
|
||||
func ResetMetrics() {
|
||||
_ctr_time.Reset()
|
||||
_ctr_moves.Reset()
|
||||
_ctr_space.Reset()
|
||||
_tmr.Reset()
|
||||
}
|
||||
@ -42,14 +44,26 @@ func AddTimeCost(options ...int) {
|
||||
_ctr_time.Add(options...)
|
||||
}
|
||||
|
||||
func AddMovesCost(options ...int) {
|
||||
_ctr_moves.Add(options...)
|
||||
}
|
||||
|
||||
func AddSpaceCost(options ...int) {
|
||||
_ctr_space.Add(options...)
|
||||
}
|
||||
|
||||
func SetSpaceCost(n int) {
|
||||
_ctr_space.Set(n)
|
||||
}
|
||||
|
||||
func GetTimeCost() int {
|
||||
return _ctr_time.Size()
|
||||
}
|
||||
|
||||
func GetMovesCost() int {
|
||||
return _ctr_moves.Size()
|
||||
}
|
||||
|
||||
func GetSpaceCost() int {
|
||||
return _ctr_space.Size()
|
||||
}
|
||||
|
@ -104,6 +104,7 @@ func DisplayMetrics() {
|
||||
// logging.Plain("Dauer der Ausführung: t = \033[1m%[1]v\033[0m", metrics.GetTimeElapsed())
|
||||
logging.Plain("Dauer der Ausführung: t = \033[1m%[1]v\033[0m", metrics.GetTimeElapsedLongFormat())
|
||||
logging.Plain("Kosten (Zeit): T(n) = \033[1m%[1]v\033[0m", displayCost(metrics.GetTimeCost()))
|
||||
logging.Plain("Kosten (#Züge): M(n) = \033[1m%[1]v\033[0m", displayCost(metrics.GetMovesCost()))
|
||||
logging.Plain("Kosten (Platz): S(n) = \033[1m%[1]v\033[0m", displayCost(metrics.GetSpaceCost()))
|
||||
return
|
||||
}
|
||||
|
@ -39,6 +39,14 @@ func (self Counter) Size() int {
|
||||
return self.nr
|
||||
}
|
||||
|
||||
func (self *Counter) Reset() {
|
||||
self.nr = 0
|
||||
}
|
||||
|
||||
func (self *Counter) Set(n int) {
|
||||
self.nr = n
|
||||
}
|
||||
|
||||
func (self *Counter) Add(options ...int) {
|
||||
n := 1
|
||||
if len(options) > 0 {
|
||||
@ -46,7 +54,3 @@ func (self *Counter) Add(options ...int) {
|
||||
}
|
||||
self.nr += n
|
||||
}
|
||||
|
||||
func (self *Counter) Reset() {
|
||||
self.nr = 0
|
||||
}
|
||||
|
@ -22,24 +22,20 @@ _tmr = None;
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
class Counter(object):
|
||||
_nr_steps: int;
|
||||
value: int;
|
||||
|
||||
def __init__(self):
|
||||
self.reset();
|
||||
|
||||
def __str__(self) -> str:
|
||||
return str(self._nr_steps);
|
||||
|
||||
@property
|
||||
def numberOfStep(self) -> int:
|
||||
return self._nr_steps;
|
||||
return str(self.value);
|
||||
|
||||
def add(self, n: int = 1):
|
||||
self._nr_steps += n;
|
||||
self.value += n;
|
||||
return self;
|
||||
|
||||
def reset(self):
|
||||
self._nr_steps = 0;
|
||||
self.value = 0;
|
||||
return self;
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -86,6 +82,7 @@ class Timer(object):
|
||||
|
||||
## Initialisierung:
|
||||
_ctr_time = Counter();
|
||||
_ctr_moves = Counter();
|
||||
_ctr_space = Counter();
|
||||
_tmr = Timer();
|
||||
|
||||
@ -95,10 +92,12 @@ _tmr = Timer();
|
||||
|
||||
def ResetMetrics():
|
||||
global _ctr_time;
|
||||
global _ctr_moves;
|
||||
global _ctr_space;
|
||||
global _tmr;
|
||||
|
||||
_ctr_time.reset();
|
||||
_ctr_moves.reset();
|
||||
_ctr_space.reset();
|
||||
_tmr.reset();
|
||||
return;
|
||||
@ -116,16 +115,29 @@ def AddTimeCost(n: int = 1):
|
||||
_ctr_time.add(n);
|
||||
return;
|
||||
|
||||
def AddMovesCost(n: int = 1):
|
||||
global _ctr_moves;
|
||||
_ctr_moves.add(n);
|
||||
return;
|
||||
|
||||
def AddSpaceCost(n: int = 1):
|
||||
global _ctr_space;
|
||||
_ctr_space.add(n);
|
||||
return;
|
||||
|
||||
def SetSpaceCost(n: int):
|
||||
global _ctr_space;
|
||||
_ctr_space.value = n;
|
||||
return;
|
||||
|
||||
def GetTimeCost() -> int:
|
||||
return _ctr_time.numberOfStep;
|
||||
return _ctr_time.value;
|
||||
|
||||
def GetMovesCost() -> int:
|
||||
return _ctr_moves.value;
|
||||
|
||||
def GetSpaceCost() -> int:
|
||||
return _ctr_space.numberOfStep;
|
||||
return _ctr_space.value;
|
||||
|
||||
def GetTimeElapsed() -> timedelta:
|
||||
global _tmr;
|
||||
|
@ -69,8 +69,9 @@ def DisplayEndOfAlgorithm(*_: Any, **outputs: Any):
|
||||
|
||||
def DisplayMetrics():
|
||||
logPlain('Dauer der Ausführung: t = \033[1m{}\033[0m'.format(GetTimeElapsed()));
|
||||
logPlain('Kosten (Zeit): T(n) = \033[1m{}\033[0m'.format(GetTimeCost()));
|
||||
logPlain('Kosten (Platz): S(n) = \033[1m{}\033[0m'.format(GetSpaceCost()));
|
||||
logPlain('Kosten (Zeit): T(n) = \033[1m{}\033[0m'.format(displayCost(GetTimeCost())));
|
||||
logPlain('Kosten (#Züge): M(n) = \033[1m{}\033[0m'.format(displayCost(GetMovesCost())));
|
||||
logPlain('Kosten (Platz): S(n) = \033[1m{}\033[0m'.format(displayCost(GetSpaceCost())));
|
||||
return;
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -80,3 +81,6 @@ def DisplayMetrics():
|
||||
def DisplayBar(n: int = 80):
|
||||
logPlain('+{}+'.format('-'*n));
|
||||
return;
|
||||
|
||||
def displayCost(cost: int) -> str:
|
||||
return str(cost) if cost > 0 else '-';
|
||||
|
Loading…
x
Reference in New Issue
Block a user