Blame tests/run/float_division.pyx

Packit 562c7a
# mode: run
Packit 562c7a
# tag: division
Packit 562c7a
Packit 562c7a
Packit 562c7a
def int_by_float():
Packit 562c7a
    """
Packit 562c7a
    >>> int_by_float()
Packit 562c7a
    0.5
Packit 562c7a
    """
Packit 562c7a
    return 1 / 2.0
Packit 562c7a
Packit 562c7a
Packit 562c7a
def float_by_int():
Packit 562c7a
    """
Packit 562c7a
    >>> float_by_int()
Packit 562c7a
    2.0
Packit 562c7a
    """
Packit 562c7a
    return 2.0 / 1
Packit 562c7a
Packit 562c7a
Packit 562c7a
def float_by_float():
Packit 562c7a
    """
Packit 562c7a
    >>> float_by_float()
Packit 562c7a
    1.5
Packit 562c7a
    """
Packit 562c7a
    return 3.0 / 2.0
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_1_by(x):
Packit 562c7a
    """
Packit 562c7a
    >>> div_1_by(1.0)
Packit 562c7a
    1.0
Packit 562c7a
    >>> div_1_by(2.0)
Packit 562c7a
    0.5
Packit 562c7a
    >>> div_1_by(0.5)
Packit 562c7a
    2.0
Packit 562c7a
    >>> 1.0 / float('inf')
Packit 562c7a
    0.0
Packit 562c7a
    >>> div_1_by(float('inf'))
Packit 562c7a
    0.0
Packit 562c7a
    >>> div_1_by(float('-inf'))
Packit 562c7a
    -0.0
Packit 562c7a
    >>> div_1_by(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return 1.0 / x
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_by_2(x):
Packit 562c7a
    """
Packit 562c7a
    >>> div_by_2(1.0)
Packit 562c7a
    0.5
Packit 562c7a
    >>> float('inf') / 2.0
Packit 562c7a
    inf
Packit 562c7a
    >>> div_by_2(float('inf'))
Packit 562c7a
    inf
Packit 562c7a
    >>> div_by_2(float('-inf'))
Packit 562c7a
    -inf
Packit 562c7a
    >>> float('nan') / 2.0
Packit 562c7a
    nan
Packit 562c7a
    >>> div_by_2(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return x / 2.0
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_by_neg_2(x):
Packit 562c7a
    """
Packit 562c7a
    >>> div_by_neg_2(1.0)
Packit 562c7a
    -0.5
Packit 562c7a
    >>> div_by_neg_2(-1.0)
Packit 562c7a
    0.5
Packit 562c7a
    >>> (-2**14) / (-2.0)
Packit 562c7a
    8192.0
Packit 562c7a
    >>> div_by_neg_2(-2**14)
Packit 562c7a
    8192.0
Packit 562c7a
    >>> (-2**52) / (-2.0)
Packit 562c7a
    2251799813685248.0
Packit 562c7a
    >>> div_by_neg_2(-2**52)
Packit 562c7a
    2251799813685248.0
Packit 562c7a
    >>> (-2**53-1) / (-2.0)
Packit 562c7a
    4503599627370496.0
Packit 562c7a
    >>> div_by_neg_2(-2**53-1)
Packit 562c7a
    4503599627370496.0
Packit 562c7a
    >>> float('inf') / -2.0
Packit 562c7a
    -inf
Packit 562c7a
    >>> div_by_neg_2(float('inf'))
Packit 562c7a
    -inf
Packit 562c7a
    >>> div_by_neg_2(float('-inf'))
Packit 562c7a
    inf
Packit 562c7a
    >>> float('nan') / -2.0
Packit 562c7a
    nan
Packit 562c7a
    >>> div_by_neg_2(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return x / -2.0
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_neg_2_by(x):
Packit 562c7a
    """
Packit 562c7a
    >>> div_neg_2_by(1.0)
Packit 562c7a
    -2.0
Packit 562c7a
    >>> div_neg_2_by(-1)
Packit 562c7a
    2.0
Packit 562c7a
    >>> div_neg_2_by(-2.0)
Packit 562c7a
    1.0
Packit 562c7a
    >>> div_neg_2_by(-2)
Packit 562c7a
    1.0
Packit 562c7a
    >>> -2.0 / float('inf')
Packit 562c7a
    -0.0
Packit 562c7a
    >>> div_neg_2_by(float('inf'))
Packit 562c7a
    -0.0
Packit 562c7a
    >>> div_neg_2_by(float('-inf'))
Packit 562c7a
    0.0
Packit 562c7a
    >>> float('nan') / -2.0
Packit 562c7a
    nan
Packit 562c7a
    >>> div_neg_2_by(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return (-2.0) / x
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_by_nan(x):
Packit 562c7a
    """
Packit 562c7a
    >>> 1.0 / float('nan')
Packit 562c7a
    nan
Packit 562c7a
    >>> div_by_nan(1.0)
Packit 562c7a
    nan
Packit 562c7a
    >>> float('nan') / float('nan')
Packit 562c7a
    nan
Packit 562c7a
    >>> div_by_nan(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    >>> float('inf') / float('nan')
Packit 562c7a
    nan
Packit 562c7a
    >>> div_by_nan(float('inf'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return x / float("nan")
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_nan_by(x):
Packit 562c7a
    """
Packit 562c7a
    >>> float('nan') / 1.0
Packit 562c7a
    nan
Packit 562c7a
    >>> div_nan_by(1.0)
Packit 562c7a
    nan
Packit 562c7a
    >>> float('nan') / float('nan')
Packit 562c7a
    nan
Packit 562c7a
    >>> div_nan_by(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return float("nan") / x
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_by_inf(x):
Packit 562c7a
    """
Packit 562c7a
    >>> 1 / float('inf')
Packit 562c7a
    0.0
Packit 562c7a
    >>> div_by_inf(1)
Packit 562c7a
    0.0
Packit 562c7a
    >>> 1.0 / float('inf')
Packit 562c7a
    0.0
Packit 562c7a
    >>> div_by_inf(1.0)
Packit 562c7a
    0.0
Packit 562c7a
    >>> div_by_inf(float('inf'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return x / float("inf")
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_inf_by(x):
Packit 562c7a
    """
Packit 562c7a
    >>> float('inf') / 1.0
Packit 562c7a
    inf
Packit 562c7a
    >>> div_inf_by(1.0)
Packit 562c7a
    inf
Packit 562c7a
    >>> float('inf') / float('nan')
Packit 562c7a
    nan
Packit 562c7a
    >>> div_inf_by(float('nan'))
Packit 562c7a
    nan
Packit 562c7a
    >>> float('inf') / float('-inf')
Packit 562c7a
    nan
Packit 562c7a
    >>> div_inf_by(float('-inf'))
Packit 562c7a
    nan
Packit 562c7a
    """
Packit 562c7a
    return float("inf") / x
Packit 562c7a
Packit 562c7a
Packit 562c7a
def div_neg_inf_by(x):
Packit 562c7a
    """
Packit 562c7a
    >>> float('-inf') / 1.0
Packit 562c7a
    -inf
Packit 562c7a
    >>> div_neg_inf_by(1.0)
Packit 562c7a
    -inf
Packit 562c7a
    >>> float('-inf') / -1.0
Packit 562c7a
    inf
Packit 562c7a
    >>> div_neg_inf_by(-1.0)
Packit 562c7a
    inf
Packit 562c7a
    """
Packit 562c7a
    return float("-inf") / x