Example #1
0
def mod(ctx, number, divisor):
    """
    Returns the remainder after number is divided by divisor
    """
    number = conversions.to_decimal(number, ctx)
    divisor = conversions.to_decimal(divisor, ctx)
    return number - divisor * _int(ctx, number / divisor)
Example #2
0
def mod(ctx, number, divisor):
    """
    Returns the remainder after number is divided by divisor
    """
    number = conversions.to_decimal(number, ctx)
    divisor = conversions.to_decimal(divisor, ctx)
    return number - divisor * _int(ctx, number / divisor)
Example #3
0
def _min(ctx, *number):
    """
    Returns the minimum value of all arguments
    """
    if len(number) == 0:
        raise ValueError("Wrong number of arguments")

    result = conversions.to_decimal(number[0], ctx)
    for arg in number[1:]:
        arg = conversions.to_decimal(arg, ctx)
        if arg < result:
            result = arg
    return result
Example #4
0
def _min(ctx, *number):
    """
    Returns the minimum value of all arguments
    """
    if len(number) == 0:
        raise ValueError("Wrong number of arguments")

    result = conversions.to_decimal(number[0], ctx)
    for arg in number[1:]:
        arg = conversions.to_decimal(arg, ctx)
        if arg < result:
            result = arg
    return result
Example #5
0
def _int(ctx, number):
    """
    Rounds a number down to the nearest integer
    """
    return conversions.to_integer(
        conversions.to_decimal(number, ctx).to_integral_value(ROUND_FLOOR),
        ctx)
Example #6
0
def roundup(ctx, number, num_digits):
    """
    Rounds a number up, away from zero
    """
    number = conversions.to_decimal(number, ctx)
    num_digits = conversions.to_integer(num_digits, ctx)

    return decimal_round(number, num_digits, ROUND_UP)
Example #7
0
def rounddown(ctx, number, num_digits):
    """
    Rounds a number down, toward zero
    """
    number = conversions.to_decimal(number, ctx)
    num_digits = conversions.to_integer(num_digits, ctx)

    return decimal_round(number, num_digits, ROUND_DOWN)
Example #8
0
def _round(ctx, number, num_digits):
    """
    Rounds a number to a specified number of digits
    """
    number = conversions.to_decimal(number, ctx)
    num_digits = conversions.to_integer(num_digits, ctx)

    return decimal_round(number, num_digits, ROUND_HALF_UP)
Example #9
0
def rounddown(ctx, number, num_digits):
    """
    Rounds a number down, toward zero
    """
    number = conversions.to_decimal(number, ctx)
    num_digits = conversions.to_integer(num_digits, ctx)

    return decimal_round(number, num_digits, ROUND_DOWN)
Example #10
0
def _round(ctx, number, num_digits):
    """
    Rounds a number to a specified number of digits
    """
    number = conversions.to_decimal(number, ctx)
    num_digits = conversions.to_integer(num_digits, ctx)

    return decimal_round(number, num_digits, ROUND_HALF_UP)
Example #11
0
def roundup(ctx, number, num_digits):
    """
    Rounds a number up, away from zero
    """
    number = conversions.to_decimal(number, ctx)
    num_digits = conversions.to_integer(num_digits, ctx)

    return decimal_round(number, num_digits, ROUND_UP)
Example #12
0
def _sum(ctx, *number):
    """
    Returns the sum of all arguments
    """
    if len(number) == 0:
        raise ValueError("Wrong number of arguments")

    result = Decimal(0)
    for arg in number:
        result += conversions.to_decimal(arg, ctx)
    return result
Example #13
0
def _sum(ctx, *number):
    """
    Returns the sum of all arguments
    """
    if len(number) == 0:
        raise ValueError("Wrong number of arguments")

    result = Decimal(0)
    for arg in number:
        result += conversions.to_decimal(arg, ctx)
    return result
Example #14
0
def _power(ctx, number, power):
    """
    Returns the result of a number raised to a power
    """
    return decimal_pow(conversions.to_decimal(number, ctx),
                       conversions.to_decimal(power, ctx))
Example #15
0
def _abs(ctx, number):
    """
    Returns the absolute value of a number
    """
    return conversions.to_decimal(abs(conversions.to_decimal(number, ctx)), ctx)
Example #16
0
def _int(ctx, number):
    """
    Rounds a number down to the nearest integer
    """
    return conversions.to_integer(conversions.to_decimal(number, ctx).to_integral_value(ROUND_FLOOR), ctx)
Example #17
0
def _power(ctx, number, power):
    """
    Returns the result of a number raised to a power
    """
    return decimal_pow(conversions.to_decimal(number, ctx), conversions.to_decimal(power, ctx))
Example #18
0
def exp(ctx, number):
    """
    Returns e raised to the power of number
    """
    return decimal_pow(E, conversions.to_decimal(number, ctx))
Example #19
0
def _abs(ctx, number):
    """
    Returns the absolute value of a number
    """
    return conversions.to_decimal(abs(conversions.to_decimal(number, ctx)),
                                  ctx)
Example #20
0
def percent(ctx, number):
    """
    Formats a number as a percentage
    """
    return "%d%%" % int(round(conversions.to_decimal(number, ctx) * 100))
Example #21
0
def trunc(ctx, number):
    """
    Truncates a number to an integer by removing the fractional part of the number
    """
    return conversions.to_integer(conversions.to_decimal(number, ctx).to_integral_value(ROUND_DOWN), ctx)
Example #22
0
def percent(ctx, number):
    """
    Formats a number as a percentage
    """
    return '%d%%' % int(round(conversions.to_decimal(number, ctx) * 100))
Example #23
0
def trunc(ctx, number):
    """
    Truncates a number to an integer by removing the fractional part of the number
    """
    return conversions.to_integer(
        conversions.to_decimal(number, ctx).to_integral_value(ROUND_DOWN), ctx)
Example #24
0
def epoch(ctx, datetime):
    """
    Converts the given date to the number of seconds since January 1st, 1970 UTC
    """
    return conversions.to_decimal(
        str(conversions.to_datetime(datetime, ctx).timestamp()), ctx)