Class PyLong

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    PyLongDerived

    public class PyLong
    extends PyObject
    A builtin python long. This is implemented as a java.math.BigInteger.
    See Also:
    Serialized Form
    • Field Detail

      • TYPE

        public static final PyType TYPE
      • MIN_LONG

        public static final java.math.BigInteger MIN_LONG
      • MAX_LONG

        public static final java.math.BigInteger MAX_LONG
      • MAX_ULONG

        public static final java.math.BigInteger MAX_ULONG
      • minLong

        @Deprecated
        public static final java.math.BigInteger minLong
        Deprecated.
        Use MIN_INT instead.
      • maxLong

        @Deprecated
        public static final java.math.BigInteger maxLong
        Deprecated.
        Use MAX_INT instead.
      • maxULong

        @Deprecated
        public static final java.math.BigInteger maxULong
        Deprecated.
        Use MAX_ULONG instead.
    • Constructor Detail

      • PyLong

        public PyLong​(PyType subType,
                      java.math.BigInteger v)
      • PyLong

        public PyLong​(java.math.BigInteger v)
      • PyLong

        public PyLong​(double v)
      • PyLong

        public PyLong​(long v)
      • PyLong

        public PyLong​(java.lang.String s)
    • Method Detail

      • getValue

        public java.math.BigInteger getValue()
      • getNumerator

        public PyObject getNumerator()
      • getDenominator

        public PyObject getDenominator()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class PyObject
      • __nonzero__

        public boolean __nonzero__()
        Description copied from class: PyObject
        Equivalent to the standard Python __nonzero__ method. Returns whether of not a given PyObject is considered true.
        Overrides:
        __nonzero__ in class PyObject
      • long___nonzero__

        public boolean long___nonzero__()
      • doubleValue

        public double doubleValue()
      • scaledDoubleValue

        public double scaledDoubleValue​(int[] exp)
      • getLong

        public long getLong​(long min,
                            long max)
      • getLong

        public long getLong​(long min,
                            long max,
                            java.lang.String overflowMsg)
      • asLong

        public long asLong​(int index)
        Overrides:
        asLong in class PyObject
      • asInt

        public int asInt​(int index)
        Overrides:
        asInt in class PyObject
      • asInt

        public int asInt()
        Description copied from class: PyObject
        Convert this object into an int. Throws a PyException on failure.
        Overrides:
        asInt in class PyObject
        Returns:
        an int value
      • asLong

        public long asLong()
        Description copied from class: PyObject
        Convert this object longo an long. Throws a PyException on failure.
        Overrides:
        asLong in class PyObject
        Returns:
        an long value
      • __tojava__

        public java.lang.Object __tojava__​(java.lang.Class<?> c)
        Description copied from class: PyObject
        Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object Py.NoConversion if this PyObject can not be converted to the desired Java class.
        Overrides:
        __tojava__ in class PyObject
        Parameters:
        c - the Class to convert this PyObject to.
      • __cmp__

        public int __cmp__​(PyObject other)
        Description copied from class: PyObject
        Equivalent to the standard Python __cmp__ method.
        Overrides:
        __cmp__ in class PyObject
        Parameters:
        other - the object to compare this with.
        Returns:
        -1 if this < o; 0 if this == o; +1 if this > o; -2 if no comparison is implemented
      • __coerce_ex__

        public java.lang.Object __coerce_ex__​(PyObject other)
        Description copied from class: PyObject
        Implements numeric coercion
        Overrides:
        __coerce_ex__ in class PyObject
        Parameters:
        other - the other object involved in the coercion
        Returns:
        null if coercion is not implemented Py.None if coercion was not possible a single PyObject to use to replace o if this is unchanged; or a PyObject[2] consisting of replacements for this and o.
      • __add__

        public PyObject __add__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __add__ method.
        Overrides:
        __add__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the add, or null if this operation is not defined.
      • __radd__

        public PyObject __radd__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __radd__ method.
        Overrides:
        __radd__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the add, or null if this operation is not defined.
      • __sub__

        public PyObject __sub__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __sub__ method
        Overrides:
        __sub__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the sub, or null if this operation is not defined
      • __rsub__

        public PyObject __rsub__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rsub__ method
        Overrides:
        __rsub__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the sub, or null if this operation is not defined.
      • __mul__

        public PyObject __mul__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __mul__ method.
        Overrides:
        __mul__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the mul, or null if this operation is not defined
      • __rmul__

        public PyObject __rmul__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rmul__ method.
        Overrides:
        __rmul__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the mul, or null if this operation is not defined.
      • __div__

        public PyObject __div__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __div__ method
        Overrides:
        __div__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the div, or null if this operation is not defined
      • __rdiv__

        public PyObject __rdiv__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rdiv__ method
        Overrides:
        __rdiv__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the div, or null if this operation is not defined.
      • __floordiv__

        public PyObject __floordiv__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __floordiv__ method
        Overrides:
        __floordiv__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the floordiv, or null if this operation is not defined
      • __rfloordiv__

        public PyObject __rfloordiv__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rfloordiv__ method
        Overrides:
        __rfloordiv__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the floordiv, or null if this operation is not defined.
      • __truediv__

        public PyObject __truediv__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __truediv__ method
        Overrides:
        __truediv__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the truediv, or null if this operation is not defined
      • __rtruediv__

        public PyObject __rtruediv__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rtruediv__ method
        Overrides:
        __rtruediv__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the truediv, or null if this operation is not defined.
      • __mod__

        public PyObject __mod__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __mod__ method
        Overrides:
        __mod__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the mod, or null if this operation is not defined
      • __rmod__

        public PyObject __rmod__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rmod__ method
        Overrides:
        __rmod__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the mod, or null if this operation is not defined.
      • __divmod__

        public PyObject __divmod__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __divmod__ method
        Overrides:
        __divmod__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the divmod, or null if this operation is not defined
      • __rdivmod__

        public PyObject __rdivmod__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rdivmod__ method
        Overrides:
        __rdivmod__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the divmod, or null if this operation is not defined.
      • __pow__

        public PyObject __pow__​(PyObject right,
                                PyObject modulo)
        Description copied from class: PyObject
        Implements the three argument power function.
        Overrides:
        __pow__ in class PyObject
        Parameters:
        right - the power to raise this number to.
        modulo - the modulus to perform this operation in or null if no modulo is to be used
        Returns:
        this object raised to the given power in the given modulus
      • __rpow__

        public PyObject __rpow__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rpow__ method
        Overrides:
        __rpow__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the pow, or null if this operation is not defined.
      • __lshift__

        public PyObject __lshift__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __lshift__ method
        Overrides:
        __lshift__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the lshift, or null if this operation is not defined
      • __rshift__

        public PyObject __rshift__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __rshift__ method
        Overrides:
        __rshift__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the rshift, or null if this operation is not defined
      • __and__

        public PyObject __and__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __and__ method
        Overrides:
        __and__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the and, or null if this operation is not defined
      • __rand__

        public PyObject __rand__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rand__ method
        Overrides:
        __rand__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the and, or null if this operation is not defined.
      • __xor__

        public PyObject __xor__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __xor__ method
        Overrides:
        __xor__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the xor, or null if this operation is not defined
      • __rxor__

        public PyObject __rxor__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __rxor__ method
        Overrides:
        __rxor__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the xor, or null if this operation is not defined.
      • __or__

        public PyObject __or__​(PyObject right)
        Description copied from class: PyObject
        Equivalent to the standard Python __or__ method
        Overrides:
        __or__ in class PyObject
        Parameters:
        right - the object to perform this binary operation with (the right-hand operand).
        Returns:
        the result of the or, or null if this operation is not defined
      • __ror__

        public PyObject __ror__​(PyObject left)
        Description copied from class: PyObject
        Equivalent to the standard Python __ror__ method
        Overrides:
        __ror__ in class PyObject
        Parameters:
        left - the object to perform this binary operation with (the left-hand operand).
        Returns:
        the result of the or, or null if this operation is not defined.
      • __neg__

        public PyObject __neg__()
        Description copied from class: PyObject
        Equivalent to the standard Python __neg__ method.
        Overrides:
        __neg__ in class PyObject
        Returns:
        -this.
      • __pos__

        public PyObject __pos__()
        Description copied from class: PyObject
        Equivalent to the standard Python __pos__ method.
        Overrides:
        __pos__ in class PyObject
        Returns:
        +this.
      • __abs__

        public PyObject __abs__()
        Description copied from class: PyObject
        Equivalent to the standard Python __abs__ method.
        Overrides:
        __abs__ in class PyObject
        Returns:
        abs(this).
      • __invert__

        public PyObject __invert__()
        Description copied from class: PyObject
        Equivalent to the standard Python __invert__ method.
        Overrides:
        __invert__ in class PyObject
        Returns:
        ~this.
      • __int__

        public PyObject __int__()
        Description copied from class: PyObject
        Equivalent to the standard Python __int__ method. Should only be overridden by numeric objects that can be reasonably coerced into an integer.
        Overrides:
        __int__ in class PyObject
        Returns:
        an integer corresponding to the value of this object.
      • __long__

        public PyObject __long__()
        Description copied from class: PyObject
        Equivalent to the standard Python __long__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python long.
        Overrides:
        __long__ in class PyObject
        Returns:
        a PyLong or PyInteger corresponding to the value of this object.
      • __float__

        public PyFloat __float__()
        Description copied from class: PyObject
        Equivalent to the standard Python __float__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python float.
        Overrides:
        __float__ in class PyObject
        Returns:
        a float corresponding to the value of this object.
      • __complex__

        public PyComplex __complex__()
        Description copied from class: PyObject
        Equivalent to the standard Python __complex__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python complex number.
        Overrides:
        __complex__ in class PyObject
        Returns:
        a complex number corresponding to the value of this object.
      • __trunc__

        public PyObject __trunc__()
        Description copied from class: PyObject
        Equivalent to the standard Python __trunc__ method. Should only be overridden by numeric objects that can reasonably be truncated to an Integral.
        Overrides:
        __trunc__ in class PyObject
        Returns:
        the Integral closest to x between 0 and x.
      • conjugate

        public PyObject conjugate()
        Description copied from class: PyObject
        Equivalent to the standard Python conjugate method. Should only be overridden by numeric objects that can calculate a complex conjugate.
        Overrides:
        conjugate in class PyObject
        Returns:
        the complex conjugate.
      • __oct__

        public PyString __oct__()
        Description copied from class: PyObject
        Equivalent to the standard Python __oct__ method. Should only be overridden by numeric objects that can be reasonably represented as an octal string.
        Overrides:
        __oct__ in class PyObject
        Returns:
        a string representing this object as an octal number.
      • __hex__

        public PyString __hex__()
        Description copied from class: PyObject
        Equivalent to the standard Python __hex__ method Should only be overridden by numeric objects that can be reasonably represented as a hexadecimal string.
        Overrides:
        __hex__ in class PyObject
        Returns:
        a string representing this object as a hexadecimal number.
      • long___str__

        public PyString long___str__()
      • __str__

        public PyString __str__()
        Description copied from class: PyObject
        Equivalent to the standard Python __str__ method. This method should not typically need to be overridden. The easiest way to configure the string representation of a PyObject is to override the standard Java toString method.
        Overrides:
        __str__ in class PyObject
      • __index__

        public PyObject __index__()
        Description copied from class: PyObject
        Equivalent to the standard Python __index__ method.
        Overrides:
        __index__ in class PyObject
        Returns:
        a PyInteger or PyLong
      • bit_length

        public int bit_length()
        Description copied from class: PyObject
        Equivalent to the standard Python bit_length method. Should only be overridden by numeric objects that can calculate a bit_length.
        Overrides:
        bit_length in class PyObject
        Returns:
        the bit_length of this object.
      • isIndex

        public boolean isIndex()
        Description copied from class: PyObject
        Determine if this object can act as an index (implements __index__).
        Overrides:
        isIndex in class PyObject
        Returns:
        true if the object can act as an index
      • asIndex

        public int asIndex​(PyObject err)
        Description copied from class: PyObject
        Convert this object into an index-sized integer. Throws a Python exception on Overflow if specified an exception type for err.
        Overrides:
        asIndex in class PyObject
        Parameters:
        err - the Python exception to raise on OverflowErrors
        Returns:
        an index-sized int