Move updateTemperature() from workspaceFormulas to workspace.

And remove dead and/or logging code to simplify the logic.
This commit is contained in:
Arthur O'Dwyer
2017-04-16 17:46:00 -07:00
parent 8171b68cbe
commit 5423d078e8
5 changed files with 18 additions and 35 deletions

View File

@ -1,7 +1,6 @@
import logging
from workspace import workspace
from workspaceFormulas import workspaceFormulas
from slipnet import slipnet
from temperature import temperature
from coderack import coderack
@ -12,7 +11,7 @@ def updateEverything():
workspace.updateEverything()
coderack.updateCodelets()
slipnet.update()
workspaceFormulas.updateTemperature()
workspace.updateTemperature()
coderackPressures.calculatePressures()

View File

@ -8,7 +8,6 @@ class Temperature(object):
self.clampTime = 30
def update(self, value):
logging.debug('update to %s', value)
self.value = value
def tryUnclamp(self):

View File

@ -1,5 +1,7 @@
import logging
import formulas
from temperature import temperature
from workspaceString import WorkspaceString
@ -83,6 +85,20 @@ class Workspace(object):
self.initial.updateIntraStringUnhappiness()
self.target.updateIntraStringUnhappiness()
def updateTemperature(self):
self.assessTemperature()
ruleWeakness = 100.0
if self.rule:
self.rule.updateStrength()
ruleWeakness = 100.0 - self.rule.totalStrength
values = ((self.totalUnhappiness, 0.8), (ruleWeakness, 0.2))
above_actual_temperature = formulas.actualTemperature + 0.001
formulas.actualTemperature = formulas.weightedAverage(values)
if temperature.clamped:
formulas.actualTemperature = 100.0
formulas.Temperature = formulas.actualTemperature
temperature.update(formulas.Temperature)
def numberOfUnrelatedObjects(self):
"""A list of all objects in the workspace with >= 1 open bond slots"""
objects = [o for o in self.objects

View File

@ -6,37 +6,6 @@ from slipnet import slipnet
import formulas
class WorkspaceFormulas(object):
def __init__(self):
self.clampTemperature = False
def updateTemperature(self):
logging.debug('updateTemperature')
workspace.assessTemperature()
ruleWeakness = 100.0
if workspace.rule:
workspace.rule.updateStrength()
ruleWeakness = 100.0 - workspace.rule.totalStrength
values = ((workspace.totalUnhappiness, 0.8), (ruleWeakness, 0.2))
above_actual_temperature = formulas.actualTemperature + 0.001
logging.info('actualTemperature: %f', above_actual_temperature)
formulas.actualTemperature = formulas.weightedAverage(values)
logging.info('unhappiness: %f, weakness: %f, actualTemperature: %f',
workspace.totalUnhappiness + 0.001, ruleWeakness + 0.001,
formulas.actualTemperature + 0.001)
if temperature.clamped:
formulas.actualTemperature = 100.0
logging.info('actualTemperature: %f',
formulas.actualTemperature + 0.001)
temperature.update(formulas.actualTemperature)
if not self.clampTemperature:
formulas.Temperature = formulas.actualTemperature
temperature.update(formulas.Temperature)
workspaceFormulas = WorkspaceFormulas()
def numberOfObjects():
return len(workspace.objects)

View File

@ -1,6 +1,7 @@
import logging
from description import Description
from formulas import weightedAverage
from slipnet import slipnet, distinguishingDescriptor
from workspaceStructure import WorkspaceStructure
@ -106,7 +107,6 @@ class WorkspaceObject(WorkspaceStructure):
self.intraStringSalience = 100.0
self.interStringSalience = 100.0
else:
from formulas import weightedAverage
self.intraStringSalience = weightedAverage((
(self.relativeImportance, 0.2),
(self.intraStringUnhappiness, 0.8)))