def _div(ivkbl, frame, interpreter): right_obj = frame.pop() left = frame.pop() # Do operation and perform conversion to Integer if required result = left.get_embedded_biginteger() / right_obj.get_embedded_value() if Integer.value_fits(result): frame.push(self._universe.new_integer(result)) else: frame.push(self._universe.new_biginteger(result))
def _div(ivkbl, frame, interpreter): right_obj = frame.pop() left = frame.pop() # Do operation and perform conversion to Integer if required result = left.get_embedded_biginteger( ) / right_obj.get_embedded_value() if Integer.value_fits(result): frame.push(self._universe.new_integer(result)) else: frame.push(self._universe.new_biginteger(result))
def _literal_number(self, mgenc): if self._sym == Symbol.Minus: val = self._negative_decimal() else: val = self._literal_decimal() if Integer.value_fits(val): lit = self._universe.new_integer(val) else: lit = self._universe.new_biginteger(val) mgenc.add_literal_if_absent(lit) self._bc_gen.emitPUSHCONSTANT(mgenc, lit)
def _push_long_result(self, frame, result): # Check with integer bounds and push: if Integer.value_fits(result): frame.push(self._universe.new_integer(int(result))) else: frame.push(self._universe.new_biginteger(result))