Source code for sasoptpy.abstract.statement.fix_unfix

from .statement_base import Statement
import sasoptpy


[docs]class FixStatement(Statement): def __init__(self, *elements): super().__init__() self.keyword = 'fix' for i in elements: self.append(i) def append(self, element): self.elements.append(element) def _defn(self): elems = [] for i in self.elements: elems.append('{}={}'.format( sasoptpy.to_expression(i[0]), sasoptpy.to_expression(i[1]) )) s = self.keyword + ' ' + ' '.join(elems) + ';' return s @classmethod def fix(cls, *items): if len(items) == 2 and not any(isinstance(i, tuple) for i in items): items = ((items[0], items[1]),) fs = FixStatement(*items) return fs
[docs]class UnfixStatement(Statement): def __init__(self, *elements): super().__init__() self.keyword = 'unfix' for i in elements: self.append(i) def append(self, element): self.elements.append(element) def _defn(self): elems = [] for i in self.elements: if isinstance(i, tuple): elems.append('{}={}'.format( sasoptpy.to_expression(i[0]), sasoptpy.to_expression(i[1]) )) else: elems.append(sasoptpy.to_expression(i)) s = self.keyword + ' ' + ' '.join(elems) + ';' return s @classmethod def unfix(cls, *items): fs = UnfixStatement(*items) return fs