def render(self, context): kid_context = context.as_covariant() res = ( self.left.render(kid_context) .stack(0, primitives.iff(), spacing=distances.iffSpacing) .stack(0, self.right.render(kid_context), spacing=distances.iffSpacing) ) if context.covariant: return res else: return primitives.surroundWithNot(res)
def render(self, context): infix = getInfix(self) if infix is not None: holds = variable.renderInfix(productVariable=self.held, infixSymbols=infix, infixVariable=self.holding) else: holds = stack.stackAll( 0, [self.held.render(), primitives.holds(), self.holding.render()], spacing=distances.holdsSpacing ) if context.covariant: return holds else: return primitives.surroundWithNot(holds)