コード例 #1
0
def is_number(a):
    if isinstance(a, (int, float, long, complex,
                      sage.rings.all.CommutativeRingElement)):
        return True
    elif hasattr(a, 'parent'):
        numgen = sage.rings.number_field.number_field.NumberField_generic
        parent = a.parent()
        return CC.has_coerce_map_from(parent) or \
            isinstance(parent, numgen) or \
            (hasattr(parent, "is_field") and hasattr(parent, "is_finite")
             and parent.is_field() and parent.is_finite())
    else:
        return False