Move updateTemperature() from workspaceFormulas to workspace.
And remove dead and/or logging code to simplify the logic.
This commit is contained in:
@ -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()
|
||||
|
||||
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)))
|
||||
|
||||
Reference in New Issue
Block a user