Skip to content

Commit

Permalink
it works
Browse files Browse the repository at this point in the history
  • Loading branch information
bqpd committed Nov 30, 2020
1 parent ba781dd commit de3b0a2
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 15 deletions.
3 changes: 1 addition & 2 deletions gpkit/constraints/costed.py
Expand Up @@ -23,8 +23,7 @@ def __init__(self, cost, constraints, substitutions=None):
subs = {k: k.value for k in self.cost.vks if "value" in k.descr}
if substitutions:
subs.update(substitutions)
ConstraintSet.__init__(self, constraints, subs)
self.vks.update(self.cost.vks)
ConstraintSet.__init__(self, constraints, subs, bonusvks=self.cost.vks)

def constrained_varkeys(self):
"Return all varkeys in the cost and non-ConstraintSet constraints"
Expand Down
11 changes: 3 additions & 8 deletions gpkit/constraints/set.py
Expand Up @@ -65,7 +65,7 @@ class ConstraintSet(list, ReprMixin):
unique_varkeys, idxlookup = frozenset(), {}
_name_collision_varkeys = None

def __init__(self, constraints, substitutions=None): # pylint: disable=too-many-branches,too-many-statements
def __init__(self, constraints, substitutions=None, *, bonusvks=None): # pylint: disable=too-many-branches,too-many-statements
if isinstance(constraints, dict):
keys, constraints = sort_constraints_dict(constraints)
self.idxlookup = {k: i for i, k in enumerate(keys)}
Expand All @@ -90,6 +90,8 @@ def __init__(self, constraints, substitutions=None): # pylint: disable=too-many
raise badelement(self, i, constraint,
" It had not yet been initialized!")
self.substitutions.vks = self.vks
if bonusvks:
self.vks.update(bonusvks)
if substitutions:
self.substitutions.update(substitutions)
for key in self.vks:
Expand Down Expand Up @@ -117,13 +119,6 @@ def _update(self, constraint):
self.bounded.update(constraint.bounded)
for bound, solutionset in constraint.meq_bounded.items():
self.meq_bounded[bound].update(solutionset)
# if not isinstance(constraint, ConstraintSet):
# if hasattr(constraint, "substitutions"):
# del constraint.substitutions
# del constraint.bounded
# del constraint.vks
# if constraint.meq_bounded:
# del constraint.meq_bounded

def __getitem__(self, key):
if key in self.idxlookup:
Expand Down
4 changes: 0 additions & 4 deletions gpkit/nomials/math.py
Expand Up @@ -76,10 +76,6 @@ def diff(self, var):
-------
Signomial (or Posynomial or Monomial)
"""
# varset = self.varkeys[var]
# if len(varset) > 1:
# raise ValueError("multiple variables %s found for key %s"
# % (list(varset), var))
var = var.key
if var not in self.vks:
diff = NomialMap({EMPTY_HV: 0.0})
Expand Down
2 changes: 1 addition & 1 deletion gpkit/tests/t_nomials.py
Expand Up @@ -375,7 +375,7 @@ def test_diff(self):
self.assertEqual(x.diff(y), 0)
self.assertEqual((y**2).diff(y), 2*y)
self.assertEqual((x + y**2).diff(y), 2*y)
self.assertEqual((x + y**2).diff("x"), 1)
self.assertEqual((x + y**2).diff(x.key), 1)
self.assertEqual((x + x*y**2).diff(y), 2*x*y) # pylint: disable=no-member
self.assertEqual((2*y).diff(y), 2) # pylint: disable=no-member
# test with units
Expand Down

0 comments on commit de3b0a2

Please sign in to comment.