Closed jdemeyer closed 6 years ago
Branch: u/jdemeyer/type_debugger
Description changed:
---
+++
@@ -1 +1,269 @@
-A function which displays the internals of a type/class.
+A function which displays all internals of a type/class:
+
+```
+sage: type_debug(Integer)
+<type 'sage.rings.integer.Integer'> (0x7f61ba90f0c0)
+ ob_refcnt: 515
+ ob_type: <type 'sage.misc.inherit_comparison.InheritComparisonMetaclass'>
+ tp_name: sage.rings.integer.Integer
+ tp_basicsize: 48
+ tp_itemsize: 0
+ tp_dictoffset: 0
+ tp_weaklistoffset: 0
+ tp_base (__base__): <type 'sage.structure.element.EuclideanDomainElement'>
+ tp_bases (__bases__): tuple:
+ <type 'sage.structure.element.EuclideanDomainElement'>
+ tp_mro (__mro__): tuple:
+ <type 'sage.rings.integer.Integer'>
+ <type 'sage.structure.element.EuclideanDomainElement'>
+ <type 'sage.structure.element.PrincipalIdealDomainElement'>
+ <type 'sage.structure.element.DedekindDomainElement'>
+ <type 'sage.structure.element.IntegralDomainElement'>
+ <type 'sage.structure.element.CommutativeRingElement'>
+ <type 'sage.structure.element.RingElement'>
+ <type 'sage.structure.element.ModuleElement'>
+ <type 'sage.structure.element.Element'>
+ <type 'sage.structure.sage_object.SageObject'>
+ <type 'object'>
+ tp_dict (__dict__): dict:
+ '__int__': <slot wrapper '__int__' of 'sage.rings.integer.Integer' objects>
+ '__ror__': <slot wrapper '__ror__' of 'sage.rings.integer.Integer' objects>
+ '_interface_init_': <method '_interface_init_' of 'sage.rings.integer.Integer' objects>
+ '_xgcd': <method '_xgcd' of 'sage.rings.integer.Integer' objects>
+ 'previous_prime': <method 'previous_prime' of 'sage.rings.integer.Integer' objects>
+ '__pyx_vtable__': <capsule object NULL at 0x7f61ba92ab10>
+ '__rdiv__': <slot wrapper '__rdiv__' of 'sage.rings.integer.Integer' objects>
+ '__rmul__': <slot wrapper '__rmul__' of 'sage.rings.integer.Integer' objects>
+ '__lt__': <slot wrapper '__lt__' of 'sage.rings.integer.Integer' objects>
+ '_exact_log_log2_iter': <method '_exact_log_log2_iter' of 'sage.rings.integer.Integer' objects>
+ 'global_height': <method 'global_height' of 'sage.rings.integer.Integer' objects>
+ 'prime_factors': <method 'prime_divisors' of 'sage.rings.integer.Integer' objects>
+ '__rshift__': <slot wrapper '__rshift__' of 'sage.rings.integer.Integer' objects>
+ 'nbits': <method 'nbits' of 'sage.rings.integer.Integer' objects>
+ 'nth_root': <method 'nth_root' of 'sage.rings.integer.Integer' objects>
+ '_sage_input_': <method '_sage_input_' of 'sage.rings.integer.Integer' objects>
+ 'valuation': <method 'valuation' of 'sage.rings.integer.Integer' objects>
+ 'factor': <method 'factor' of 'sage.rings.integer.Integer' objects>
+ 'jacobi': <method 'jacobi' of 'sage.rings.integer.Integer' objects>
+ 'trial_division': <method 'trial_division' of 'sage.rings.integer.Integer' objects>
+ 'factorial': <method 'factorial' of 'sage.rings.integer.Integer' objects>
+ 'squarefree_part': <method 'squarefree_part' of 'sage.rings.integer.Integer' objects>
+ 'ceil': <method 'ceil' of 'sage.rings.integer.Integer' objects>
+ '__pow__': <slot wrapper '__pow__' of 'sage.rings.integer.Integer' objects>
+ '__gt__': <slot wrapper '__gt__' of 'sage.rings.integer.Integer' objects>
+ 'perfect_power': <method 'perfect_power' of 'sage.rings.integer.Integer' objects>
+ '__oct__': <slot wrapper '__oct__' of 'sage.rings.integer.Integer' objects>
+ '__rxor__': <slot wrapper '__rxor__' of 'sage.rings.integer.Integer' objects>
+ '__nonzero__': <slot wrapper '__nonzero__' of 'sage.rings.integer.Integer' objects>
+ 'crt': <method 'crt' of 'sage.rings.integer.Integer' objects>
+ '_add_': <method '_add_' of 'sage.rings.integer.Integer' objects>
+ 'list': <method 'list' of 'sage.rings.integer.Integer' objects>
+ 'divides': <method 'divides' of 'sage.rings.integer.Integer' objects>
+ '_rpy_': <method '_rpy_' of 'sage.rings.integer.Integer' objects>
+ '_lcm': <method '_lcm' of 'sage.rings.integer.Integer' objects>
+ '__long__': <slot wrapper '__long__' of 'sage.rings.integer.Integer' objects>
+ '__copy__': <method '__copy__' of 'sage.rings.integer.Integer' objects>
+ 'multiplicative_order': <method 'multiplicative_order' of 'sage.rings.integer.Integer' objects>
+ 'sign': <method 'sign' of 'sage.rings.integer.Integer' objects>
+ '__rmod__': <slot wrapper '__rmod__' of 'sage.rings.integer.Integer' objects>
+ '__rand__': <slot wrapper '__rand__' of 'sage.rings.integer.Integer' objects>
+ 'class_number': <method 'class_number' of 'sage.rings.integer.Integer' objects>
+ 'rational_reconstruction': <method 'rational_reconstruction' of 'sage.rings.integer.Integer' objects>
+ 'is_power_of': <method 'is_power_of' of 'sage.rings.integer.Integer' objects>
+ '__le__': <slot wrapper '__le__' of 'sage.rings.integer.Integer' objects>
+ 'quo_rem': <method 'quo_rem' of 'sage.rings.integer.Integer' objects>
+ '__ne__': <slot wrapper '__ne__' of 'sage.rings.integer.Integer' objects>
+ 'next_prime_power': <method 'next_prime_power' of 'sage.rings.integer.Integer' objects>
+ 'is_pseudoprime': <method 'is_pseudoprime' of 'sage.rings.integer.Integer' objects>
+ 'is_norm': <method 'is_norm' of 'sage.rings.integer.Integer' objects>
+ 'binomial': <method 'binomial' of 'sage.rings.integer.Integer' objects>
+ '__hex__': <slot wrapper '__hex__' of 'sage.rings.integer.Integer' objects>
+ 'ord': <method 'valuation' of 'sage.rings.integer.Integer' objects>
+ 'digits': <method 'digits' of 'sage.rings.integer.Integer' objects>
+ 'is_one': <method 'is_one' of 'sage.rings.integer.Integer' objects>
+ 'powermod': <method 'powermod' of 'sage.rings.integer.Integer' objects>
+ 'popcount': <method 'popcount' of 'sage.rings.integer.Integer' objects>
+ 'powermodm_ui': <sage.misc.superseded.DeprecatedFunctionAlias object at 0x7f614a697a90>
+ 'numerator': <method 'numerator' of 'sage.rings.integer.Integer' objects>
+ '__pari__': <method '__pari__' of 'sage.rings.integer.Integer' objects>
+ '__xor__': <slot wrapper '__xor__' of 'sage.rings.integer.Integer' objects>
+ 'inverse_mod': <method 'inverse_mod' of 'sage.rings.integer.Integer' objects>
+ '__mul__': <slot wrapper '__mul__' of 'sage.rings.integer.Integer' objects>
+ '_exact_log_mpfi_log': <method '_exact_log_mpfi_log' of 'sage.rings.integer.Integer' objects>
+ '_act_on_': <method '_act_on_' of 'sage.rings.integer.Integer' objects>
+ 'test_bit': <method 'test_bit' of 'sage.rings.integer.Integer' objects>
+ 'gamma': <method 'gamma' of 'sage.rings.integer.Integer' objects>
+ '__rlshift__': <slot wrapper '__rlshift__' of 'sage.rings.integer.Integer' objects>
+ '_cmp_': <method '_cmp_' of 'sage.rings.integer.Integer' objects>
+ 'radical': <method 'radical' of 'sage.rings.integer.Integer' objects>
+ '_div_': <method '_div_' of 'sage.rings.integer.Integer' objects>
+ 'is_square': <method 'is_square' of 'sage.rings.integer.Integer' objects>
+ 'next_probable_prime': <method 'next_probable_prime' of 'sage.rings.integer.Integer' objects>
+ 'is_squarefree': <method 'is_squarefree' of 'sage.rings.integer.Integer' objects>
+ '_mul_': <method '_mul_' of 'sage.rings.integer.Integer' objects>
+ '__rsub__': <slot wrapper '__rsub__' of 'sage.rings.integer.Integer' objects>
+ '__and__': <slot wrapper '__and__' of 'sage.rings.integer.Integer' objects>
+ 'divide_knowing_divisible_by': <method 'divide_knowing_divisible_by' of 'sage.rings.integer.Integer' objects>
+ 'is_integer': <method 'is_integer' of 'sage.rings.integer.Integer' objects>
+ 'inverse_of_unit': <method 'inverse_of_unit' of 'sage.rings.integer.Integer' objects>
+ '__float__': <slot wrapper '__float__' of 'sage.rings.integer.Integer' objects>
+ '__rpow__': <slot wrapper '__rpow__' of 'sage.rings.integer.Integer' objects>
+ 'is_integral': <method 'is_integral' of 'sage.rings.integer.Integer' objects>
+ 'log': <method 'log' of 'sage.rings.integer.Integer' objects>
+ 'support': <method 'support' of 'sage.rings.integer.Integer' objects>
+ '_bnfisnorm': <method '_bnfisnorm' of 'sage.rings.integer.Integer' objects>
+ '__abs__': <slot wrapper '__abs__' of 'sage.rings.integer.Integer' objects>
+ 'next_prime': <method 'next_prime' of 'sage.rings.integer.Integer' objects>
+ 'kronecker': <method 'kronecker' of 'sage.rings.integer.Integer' objects>
+ 'bits': <method 'bits' of 'sage.rings.integer.Integer' objects>
+ '__doc__': 'Integer(x=None, base=0)\nFile: sage/rings/integer.pyx (starting at line 433)\n\n The ``Integer`` class represents arbitrary precision\n integers. It derives from the ``Element`` class, so\n integers can be used as ring elements anywhere in Sage.\n\n Integer() interprets strings that begin with ``0o`` as octal numbers,\n strings that begin with ``0x`` as hexadecimal numbers and strings\n that begin with ``0b`` as binary numbers.\n\n The class ``Integer`` is implemented in Cython, as a wrapper of the\n GMP ``mpz_t`` integer type.\n\n EXAMPLES::\n\n sage: Integer(123)\n 123\n sage: Integer("123")\n 123\n\n Sage Integers support :pep:`3127` literals::\n\n sage: Integer(\'0x12\')\n 18\n sage: Integer(\'-0o12\')\n -10\n sage: Integer(\'+0b101010\')\n 42\n\n Conversion from PARI::\n\n sage: Integer(pari(\'-10380104371593008048799446356441519384\'))\n -10380104371593008048799446356441519384\n sage: Integer(pari(\'Pol([-3])\'))\n -3\n '
+ '_valuation': <method '_valuation' of 'sage.rings.integer.Integer' objects>
+ '__invert__': <slot wrapper '__invert__' of 'sage.rings.integer.Integer' objects>
+ 'imag': <method 'imag' of 'sage.rings.integer.Integer' objects>
+ '_latex_': <method '_latex_' of 'sage.rings.integer.Integer' objects>
+ 'odd_part': <method 'odd_part' of 'sage.rings.integer.Integer' objects>
+ 'additive_order': <method 'additive_order' of 'sage.rings.integer.Integer' objects>
+ '_mathml_': <method '_mathml_' of 'sage.rings.integer.Integer' objects>
+ '__lshift__': <slot wrapper '__lshift__' of 'sage.rings.integer.Integer' objects>
+ '__eq__': <slot wrapper '__eq__' of 'sage.rings.integer.Integer' objects>
+ 'divisors': <method 'divisors' of 'sage.rings.integer.Integer' objects>
+ '_neg_': <method '_neg_' of 'sage.rings.integer.Integer' objects>
+ '__mod__': <slot wrapper '__mod__' of 'sage.rings.integer.Integer' objects>
+ 'is_prime': <method 'is_prime' of 'sage.rings.integer.Integer' objects>
+ 'sqrtrem': <method 'sqrtrem' of 'sage.rings.integer.Integer' objects>
+ '_shift_helper': <method '_shift_helper' of 'sage.rings.integer.Integer' objects>
+ '_sympy_': <method '_sympy_' of 'sage.rings.integer.Integer' objects>
+ '_im_gens_': <method '_im_gens_' of 'sage.rings.integer.Integer' objects>
+ 'euclidean_degree': <method 'euclidean_degree' of 'sage.rings.integer.Integer' objects>
+ 'str': <method 'str' of 'sage.rings.integer.Integer' objects>
+ '__hash__': <slot wrapper '__hash__' of 'sage.rings.integer.Integer' objects>
+ '__sub__': <slot wrapper '__sub__' of 'sage.rings.integer.Integer' objects>
+ 'prime_to_m_part': <method 'prime_to_m_part' of 'sage.rings.integer.Integer' objects>
+ '__ge__': <slot wrapper '__ge__' of 'sage.rings.integer.Integer' objects>
+ 'real': <method 'real' of 'sage.rings.integer.Integer' objects>
+ 'trailing_zero_bits': <method 'trailing_zero_bits' of 'sage.rings.integer.Integer' objects>
+ 'is_prime_power': <method 'is_prime_power' of 'sage.rings.integer.Integer' objects>
+ 'multifactorial': <method 'multifactorial' of 'sage.rings.integer.Integer' objects>
+ '_sub_': <method '_sub_' of 'sage.rings.integer.Integer' objects>
+ 'is_irreducible': <method 'is_irreducible' of 'sage.rings.integer.Integer' objects>
+ '__reduce__': <method '__reduce__' of 'sage.rings.integer.Integer' objects>
+ '__radd__': <slot wrapper '__radd__' of 'sage.rings.integer.Integer' objects>
+ '__rrshift__': <slot wrapper '__rrshift__' of 'sage.rings.integer.Integer' objects>
+ 'is_pseudoprime_power': <method 'is_pseudoprime_power' of 'sage.rings.integer.Integer' objects>
+ 'conjugate': <method 'conjugate' of 'sage.rings.integer.Integer' objects>
+ 'previous_prime_power': <method 'previous_prime_power' of 'sage.rings.integer.Integer' objects>
+ '__init__': <slot wrapper '__init__' of 'sage.rings.integer.Integer' objects>
+ 'ordinal_str': <method 'ordinal_str' of 'sage.rings.integer.Integer' objects>
+ 'binary': <method 'binary' of 'sage.rings.integer.Integer' objects>
+ '__new__': <built-in method __new__ of sage.misc.inherit_comparison.InheritComparisonMetaclass object at 0x7f61ba90f0c0>
+ 'floor': <method 'floor' of 'sage.rings.integer.Integer' objects>
+ 'isqrt': <method 'isqrt' of 'sage.rings.integer.Integer' objects>
+ '__format__': <method '__format__' of 'sage.rings.integer.Integer' objects>
+ 'is_perfect_power': <method 'is_perfect_power' of 'sage.rings.integer.Integer' objects>
+ 'sqrt': <method 'sqrt' of 'sage.rings.integer.Integer' objects>
+ '__pos__': <slot wrapper '__pos__' of 'sage.rings.integer.Integer' objects>
+ 'is_unit': <method 'is_unit' of 'sage.rings.integer.Integer' objects>
+ '_floordiv_': <method '_floordiv_' of 'sage.rings.integer.Integer' objects>
+ '__repr__': <slot wrapper '__repr__' of 'sage.rings.integer.Integer' objects>
+ 'val_unit': <method 'val_unit' of 'sage.rings.integer.Integer' objects>
+ 'ndigits': <method 'ndigits' of 'sage.rings.integer.Integer' objects>
+ '_magma_init_': <method '_magma_init_' of 'sage.rings.integer.Integer' objects>
+ 'denominator': <method 'denominator' of 'sage.rings.integer.Integer' objects>
+ '_pari_divisors_small': <method '_pari_divisors_small' of 'sage.rings.integer.Integer' objects>
+ 'coprime_integers': <method 'coprime_integers' of 'sage.rings.integer.Integer' objects>
+ '__or__': <slot wrapper '__or__' of 'sage.rings.integer.Integer' objects>
+ '__add__': <slot wrapper '__add__' of 'sage.rings.integer.Integer' objects>
+ '__array_interface__': <attribute '__array_interface__' of 'sage.rings.integer.Integer' objects>
+ 'prime_divisors': <method 'prime_divisors' of 'sage.rings.integer.Integer' objects>
+ 'gcd': <method 'gcd' of 'sage.rings.integer.Integer' objects>
+ 'xgcd': <cyfunction coerce_binop.<locals>.new_method at 0x7f614ad6ddd0>
+ '__div__': <slot wrapper '__div__' of 'sage.rings.integer.Integer' objects>
+ 'exact_log': <method 'exact_log' of 'sage.rings.integer.Integer' objects>
+ '__neg__': <slot wrapper '__neg__' of 'sage.rings.integer.Integer' objects>
+ 'exp': <method 'exp' of 'sage.rings.integer.Integer' objects>
+ '__index__': <slot wrapper '__index__' of 'sage.rings.integer.Integer' objects>
+ tp_alloc: PyType_GenericAlloc
+ tp_new (__new__): 0x7f61ba67e590
+ tp_init (__init__): 0x7f61ba6b4e00
+ tp_dealloc (__dealloc__): 0x7f61ba6752c0
+ tp_free: PyObject_GC_Del
+ tp_repr (__repr__): 0x7f61ba6b8600
+ tp_print: NULL
+ tp_hash (__hash__): 0x7f61ba673d70
+ tp_call (__call__): NULL
+ tp_str (__str__): == object
+ tp_compare (__cmp__): NULL
+ tp_richcompare (__richcmp__): 0x7f61ba676560
+ tp_getattr (__getattribute__): NULL
+ tp_setattr (__setattribute__): NULL
+ tp_getattro (__getattribute__): == sage.structure.element.Element
+ tp_setattro (__setattribute__): PyObject_GenericSetAttr
+ tp_iter (__iter__): NULL
+ tp_iternext (__next__): NULL
+ tp_descr_get (__get__): NULL
+ tp_descr_set (__set__): NULL
+ tp_cache: NULL
+ tp_weaklist: <weakref at 0x7f61ba929368; to 'sage.misc.inherit_comparison.InheritComparisonMeta' at 0x7f61ba90f0c0 (Integer)>
+ tp_traverse: 0x7f61ba678040
+ tp_clear: 0x7f61ba673c90
+ tp_is_gc: NULL
+ tp_as_number: 0x7f61ba90f280
+ nb_add (__add__): 0x7f61ba681300
+ nb_subtract (__sub__): 0x7f61ba680ed0
+ nb_multiply (__mul__): 0x7f61ba681740
+ nb_divide (__div__): 0x7f61ba67da80
+ nb_floor_divide (__floordiv__): == sage.structure.element.Element
+ nb_true_divide (__truediv__): == sage.structure.element.Element
+ nb_remainder (__mod__): 0x7f61ba6cf3d0
+ nb_divmod (__divmod__): == sage.structure.element.EuclideanDomainElement
+ nb_power (__pow__): 0x7f61ba6ad220
+ nb_negative (__neg__): 0x7f61ba677ca0
+ nb_positive (__pos__): 0x7f61ba673a00
+ nb_absolute (__abs__): 0x7f61ba679e70
+ nb_nonzero (__nonzero__): 0x7f61ba673a70
+ nb_invert (__invert__): 0x7f61ba695220
+ nb_lshift (__lshift__): 0x7f61ba6763b0
+ nb_rshift (__rshift__): 0x7f61ba676bf0
+ nb_and (__and__): 0x7f61ba6b1580
+ nb_or (__or__): 0x7f61ba6997b0
+ nb_xor (__xor__): 0x7f61ba69e220
+ nb_int (__int__): 0x7f61ba676000
+ nb_long (__long__): 0x7f61ba675f90
+ nb_float (__float__): 0x7f61ba676b30
+ nb_oct (__oct__): 0x7f61ba67b850
+ nb_hex (__hex__): 0x7f61ba67b640
+ nb_coerce: NULL
+ nb_inplace_add (__iadd__): NULL
+ nb_inplace_subtract (__isub__): NULL
+ nb_inplace_multiply (__imul__): NULL
+ nb_inplace_divide (__idiv__): NULL
+ nb_inplace_floor_divide (__ifloordiv__): NULL
+ nb_inplace_true_divide (__itruediv__): NULL
+ nb_inplace_remainder (__imod__): NULL
+ nb_inplace_power (__ipow__): NULL
+ nb_inplace_lshift (__ilshift__): NULL
+ nb_inplace_rshift (__irshift__): NULL
+ nb_inplace_and (__iand__): NULL
+ nb_inplace_or (__ior__): NULL
+ nb_inplace_xor (__ixor__): NULL
+ nb_index (__index__): 0x7f61ba675f20
+ tp_as_sequence: NULL
+ tp_as_mapping: NULL
+ tp_as_buffer: NULL
+ tp_flags:
+ HAVE_GETCHARBUFFER
+ HAVE_SEQUENCE_IN
+ HAVE_INPLACEOPS
+ CHECKTYPES
+ HAVE_RICHCOMPARE
+ HAVE_WEAKREFS
+ HAVE_ITER
+ HAVE_CLASS
+ BASETYPE
+ READY
+ HAVE_INDEX
+ HAVE_VERSION_TAG
+ VALID_VERSION_TAG
+ HAVE_NEWBUFFER
+ tp_version_tag: 7699
+```
Changed dependencies from #23413 to none
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
b2441a5 | Type debugger |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
e68190f | Type debugger |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
fa27dc0 | Type debugger |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
3a06e71 | Type debugger |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
4c65d81 | Type debugger |
Description changed:
---
+++
@@ -2,8 +2,8 @@
sage: type_debug(Integer) -<type 'sage.rings.integer.Integer'> (0x7f61ba90f0c0)
Integer
class represents arbitrary precision\n integers. It derives from the Element
class, so\n integers can be used as ring elements anywhere in Sage.\n\n Integer() interprets strings that begin with 0o
as octal numbers,\n strings that begin with 0x
as hexadecimal numbers and strings\n that begin with 0b
as binary numbers.\n\n The class Integer
is implemented in Cython, as a wrapper of the\n GMP mpz_t
integer type.\n\n EXAMPLES::\n\n sage: Integer(123)\n 123\n sage: Integer("123")\n 123\n\n Sage Integers support :pep:3127
literals::\n\n sage: Integer(\'0x12\')\n 18\n sage: Integer(\'-0o12\')\n -10\n sage: Integer(\'+0b101010\')\n 42\n\n Conversion from PARI::\n\n sage: Integer(pari(\'-10380104371593008048799446356441519384\'))\n -10380104371593008048799446356441519384\n sage: Integer(pari(\'Pol([-3])\'))\n -3\n 'Integer
class represents arbitrary precision\n integers. It derives from the Element
class, so\n integers can be used as ring elements anywhere in Sage.\n\n Integer() interprets strings that begin with 0o
as octal numbers,\n strings that begin with 0x
as hexadecimal numbers and strings\n that begin with 0b
as binary numbers.\n\n The class Integer
is implemented in Cython, as a wrapper of the\n GMP mpz_t
integer type.\n\n EXAMPLES::\n\n sage: Integer(123)\n 123\n sage: Integer("123")\n 123\n\n Sage Integers support :pep:3127
literals::\n\n sage: Integer(\'0x12\')\n 18\n sage: Integer(\'-0o12\')\n -10\n sage: Integer(\'+0b101010\')\n 42\n\n Conversion from PARI::\n\n sage: Integer(pari(\'-10380104371593008048799446356441519384\'))\n -10380104371593008048799446356441519384\n sage: Integer(pari(\'Pol([-3])\'))\n -3\n\n Conversion from gmpy2::\n\n sage: from gmpy2 import mpz # optional - gmpy2\n sage: Integer(mpz(3)) # optional - gmpy2\n 3\n\n .. automethod:: pow\n '
'_valuation': <method '_valuation' of 'sage.rings.integer.Integer' objects>
'invert': <slot wrapper 'invert' of 'sage.rings.integer.Integer' objects>
'imag': <method 'imag' of 'sage.rings.integer.Integer' objects>
@@ -155,11 +161,11 @@
'init': <slot wrapper 'init' of 'sage.rings.integer.Integer' objects>
'ordinal_str': <method 'ordinal_str' of 'sage.rings.integer.Integer' objects>
'binary': <method 'binary' of 'sage.rings.integer.Integer' objects>
Reviewer: Travis Scrimshaw
LGTM.
Thanks!
Changed branch from u/jdemeyer/type_debugger to 4c65d81
This should be re-targeted for 8.5.
A function which displays all internals of a type/class:
Component: misc
Author: Jeroen Demeyer
Branch/Commit:
4c65d81
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/23432