def Modulo(self, context, value): if isinstance(value, INumber): if value.DecimalValue() == 0.0: raise DivideByZeroError() else: return DecimalValue(self.DecimalValue() % value.DecimalValue()) else: raise SyntaxError("Illegal: Decimal % " + type(value).__name__)
def Modulo(self, context, value): if isinstance(value, IntegerValue): mod = value.IntegerValue() if mod == 0: raise DivideByZeroError() return IntegerValue(self.IntegerValue() % mod) else: raise SyntaxError("Illegal: Integer % " + type(value).__name__)
def Divide(self, context, value): from prompto.error.DivideByZeroError import DivideByZeroError if isinstance(value, INumber): if value.DecimalValue() == 0.0: raise DivideByZeroError() else: return DecimalValue(self.DecimalValue() / value.DecimalValue()) else: raise SyntaxError("Illegal: Decimal / " + type(value).__name__)
def IntDivide(self, context, value): if isinstance(value, IntegerValue): if value.IntegerValue() == 0: raise DivideByZeroError() else: return IntegerValue( int(self.IntegerValue() // value.IntegerValue())) else: raise SyntaxError("Illegal: Integer \\ " + type(value).__name__)
def IntDivide(self, context, value): from prompto.value.IntegerValue import IntegerValue if isinstance(value, IntegerValue): if value.IntegerValue() == 0.: raise DivideByZeroError() else: return IntegerValue( int(self.IntegerValue() // value.IntegerValue())) else: raise SyntaxError("Illegal: Decimal / " + type(value).__name__)