コード例 #1
0
def main():
    while True:
        print('''Please enter the quadratic by giving these values:
            ax^2+bx+c=0''')
        a = float(input('Value of a: '))
        b = float(input('Value of b: '))
        c = float(input('Value of c: '))
        in_square_root_value_1 = operator.mul(-4, operator.mul(a, c))
        in_square_root_value = operator.add(operator.pow(b, 2),
                                            in_square_root_value_1)
        if in_square_root_value < 0:
            print('There is no square root of negative numbers')
            raise Exception(
                f'{ZeroDivisionError} There is no square root of negative numbers.'
            )
        else:
            square_root_value = operator.pow(in_square_root_value, 0.5)
            ans_1_working_out_1 = operator.sub(operator.mul(b, -1),
                                               square_root_value)
            ans_2_working_out_1 = operator.add(operator.mul(b, -1),
                                               square_root_value)
            bottom_value = operator.mul(2, a)
            ans_1 = operator.truediv(ans_1_working_out_1, bottom_value)
            ans_2 = operator.truediv(ans_2_working_out_1, bottom_value)
            if ans_2.is_integer():
                ans_2 = int(ans_2)
            if ans_1.is_integer():
                ans_1 = int(ans_1)
            print(f'''x = {ans_1} or
x = {ans_2}''')
コード例 #2
0
 def test_exponentiation(self, input_tuple, expected):
     self.ureg.default_as_delta = False
     in1, in2 = input_tuple
     if type(in1) is tuple and type(in2) is tuple:
         in1, in2 = self.QP_(*in1), self.QP_(*in2)
     elif not type(in1) is tuple and type(in2) is tuple:
         in1, in2 = self.NON_INT_TYPE(in1), self.QP_(*in2)
     else:
         in1, in2 = self.QP_(*in1), self.NON_INT_TYPE(in2)
     input_tuple = in1, in2
     expected_copy = expected[:]
     for i, mode in enumerate([False, True]):
         self.ureg.autoconvert_offset_to_baseunit = mode
         if expected_copy[i] == "error":
             with pytest.raises(
                 (OffsetUnitCalculusError, DimensionalityError)):
                 op.pow(in1, in2)
         else:
             if type(expected_copy[i]) is tuple:
                 expected = self.QP_(*expected_copy[i])
                 assert op.pow(in1, in2).units == expected.units
             else:
                 expected = expected_copy[i]
             helpers.assert_quantity_almost_equal(op.pow(in1, in2),
                                                  expected)
コード例 #3
0
ファイル: test_scalarmath.py プロジェクト: danielballan/numpy
    def test_integers_to_negative_integer_power(self):
        # Note that the combination of uint64 with a signed integer
        # has common type np.float64. The other combinations should all
        # raise a ValueError for integer ** negative integer.
        exp = [np.array(-1, dt)[()] for dt in 'bhilq']

        # 1 ** -1 possible special case
        base = [np.array(1, dt)[()] for dt in 'bhilqBHILQ']
        for i1, i2 in itertools.product(base, exp):
            if i1.dtype != np.uint64:
                assert_raises(ValueError, operator.pow, i1, i2)
            else:
                res = operator.pow(i1, i2)
                assert_(res.dtype.type is np.float64)
                assert_almost_equal(res, 1.)

        # -1 ** -1 possible special case
        base = [np.array(-1, dt)[()] for dt in 'bhilq']
        for i1, i2 in itertools.product(base, exp):
            if i1.dtype != np.uint64:
                assert_raises(ValueError, operator.pow, i1, i2)
            else:
                res = operator.pow(i1, i2)
                assert_(res.dtype.type is np.float64)
                assert_almost_equal(res, -1.)

        # 2 ** -1 perhaps generic
        base = [np.array(2, dt)[()] for dt in 'bhilqBHILQ']
        for i1, i2 in itertools.product(base, exp):
            if i1.dtype != np.uint64:
                assert_raises(ValueError, operator.pow, i1, i2)
            else:
                res = operator.pow(i1, i2)
                assert_(res.dtype.type is np.float64)
                assert_almost_equal(res, .5)
コード例 #4
0
ファイル: test_scalarmath.py プロジェクト: 05050830/catkin_ws
    def test_integers_to_negative_integer_power(self):
        # Note that the combination of uint64 with a signed integer
        # has common type np.float64. The other combinations should all
        # raise a ValueError for integer ** negative integer.
        exp = [np.array(-1, dt)[()] for dt in 'bhilq']

        # 1 ** -1 possible special case
        base = [np.array(1, dt)[()] for dt in 'bhilqBHILQ']
        for i1, i2 in itertools.product(base, exp):
            if i1.dtype != np.uint64:
                assert_raises(ValueError, operator.pow, i1, i2)
            else:
                res = operator.pow(i1, i2)
                assert_(res.dtype.type is np.float64)
                assert_almost_equal(res, 1.)

        # -1 ** -1 possible special case
        base = [np.array(-1, dt)[()] for dt in 'bhilq']
        for i1, i2 in itertools.product(base, exp):
            if i1.dtype != np.uint64:
                assert_raises(ValueError, operator.pow, i1, i2)
            else:
                res = operator.pow(i1, i2)
                assert_(res.dtype.type is np.float64)
                assert_almost_equal(res, -1.)

        # 2 ** -1 perhaps generic
        base = [np.array(2, dt)[()] for dt in 'bhilqBHILQ']
        for i1, i2 in itertools.product(base, exp):
            if i1.dtype != np.uint64:
                assert_raises(ValueError, operator.pow, i1, i2)
            else:
                res = operator.pow(i1, i2)
                assert_(res.dtype.type is np.float64)
                assert_almost_equal(res, .5)
コード例 #5
0
ファイル: scout.py プロジェクト: rnewman/scout
    def _build_filter_expression(key, values):
        def in_(lhs, rhs):
            return lhs << ([i.strip() for i in rhs.split(',')])

        operations = {
            'eq': operator.eq,
            'ne': operator.ne,
            'ge': operator.ge,
            'gt': operator.gt,
            'le': operator.le,
            'lt': operator.lt,
            'in': in_,
            'contains': lambda l, r: operator.pow(l, '%%%s%%' % r),
            'startswith': lambda l, r: operator.pow(l, '%s%%' % r),
            'endswith': lambda l, r: operator.pow(l, '%%%s' % r),
            'regex': lambda l, r: l.regexp(r),
        }
        if key.find('__') != -1:
            key, op = key.rsplit('__', 1)
            if op not in operations:
                error('Unrecognized operation: %s. Supported operations are:'
                      '\n%s' % (op, '\n'.join(sorted(operations.keys()))))
        else:
            op = 'eq'

        op = operations[op]
        if isinstance(values, (list, tuple)):
            expr = reduce(operator.or_,
                          [((Metadata.key == key) & op(Metadata.value, value))
                           for value in values])
        else:
            expr = ((Metadata.key == key) & op(Metadata.value, values))

        return fn.EXISTS(Metadata.select().where(
            expr & (Metadata.document == Document._meta.primary_key)))
コード例 #6
0
ファイル: scout.py プロジェクト: sharpglasses/scout
    def _build_filter_expression(self, key, values):
        def in_(lhs, rhs):
            return lhs << ([i.strip() for i in rhs.split(",")])

        operations = {
            "eq": operator.eq,
            "ne": operator.ne,
            "ge": operator.ge,
            "gt": operator.gt,
            "le": operator.le,
            "lt": operator.lt,
            "in": in_,
            "contains": lambda l, r: operator.pow(l, "%%%s%%" % r),
            "startswith": lambda l, r: operator.pow(l, "%s%%" % r),
            "endswith": lambda l, r: operator.pow(l, "%%%s" % r),
            "regex": lambda l, r: l.regexp(r),
        }
        if key.find("__") != -1:
            key, op = key.rsplit("__", 1)
            if op not in operations:
                error(
                    "Unrecognized operation: %s. Supported operations are:"
                    "\n%s" % (op, "\n".join(sorted(operations.keys())))
                )
        else:
            op = "eq"

        op = operations[op]
        if isinstance(values, (list, tuple)):
            expr = reduce(operator.or_, [((Metadata.key == key) & op(Metadata.value, value)) for value in values])
        else:
            expr = (Metadata.key == key) & op(Metadata.value, values)

        return fn.EXISTS(Metadata.select().where(expr & (Metadata.document == Document._meta.primary_key)))
コード例 #7
0
 def std(self):
     Ex, Ex2, length = 0, 0, float(len(self))
     for i in self:
         Ex += i
         Ex2 += pow(i, 2)
     Ex /= length
     Ex2 /= length
     return sqrt(Ex2 - pow(Ex2, 2))
コード例 #8
0
def slopeCalculation(pt1,pt2):
    dx2=operator.pow(operator.abs(operator.sub(pt1.X,pt2.X)),2)
    dy2=operator.pow(operator.abs(operator.sub(pt1.Y,pt2.Y)),2)
    dz2=operator.pow(operator.abs(operator.sub(pt1.Z,pt2.Z)),2)
    if dz2>0:
        vertical=operator.pow(dz2,0.5)
        horiz=operator.pow(dx2+dy2,0.5)
        slope=(vertical/horiz)*100
    else:
        slope=999
    return slope
コード例 #9
0
def two_of_three(a, b, c):
    """Return x*x + y*y, where x and y are the two largest members of the
    positive numbers a, b, and c.

    >>> two_of_three(1, 2, 3)
    13
    >>> two_of_three(5, 3, 1)
    34
    >>> two_of_three(10, 2, 8)
    164
    >>> two_of_three(5, 5, 5)
    50
    """
    return pow(a,2) + pow(b,2) + pow(c,2) - pow(min(a,b,c), 2)
コード例 #10
0
def find_value_c():
    b = float(input('Value of b: '))
    a = float(input('Value of a: '))
    b_squared = operator.pow(b, 2)
    a_squared = operator.pow(a, 2)
    h_squared = operator.add(b_squared, a_squared)
    if h_squared < 0:
        print('There is no square root of negative numbers')
        raise Exception(
            f'{ZeroDivisionError} there is no square root of negative numbers.'
        )
    h = operator.pow(h_squared, 0.5)
    print(f'Value of h is {h}')
    main()
コード例 #11
0
def find_value_b():
    h = float(input('Value of h: '))
    a = float(input('Value of a: '))
    h_squared = operator.pow(h, 2)
    a_squared = operator.pow(a, 2)
    b_squared = operator.sub(h_squared, a_squared)
    if b_squared < 0:
        print('There is no square root of negative numbers')
        raise Exception(
            f'{ZeroDivisionError} there is no square root of negative numbers.'
        )
    b = operator.pow(b_squared, 0.5)
    print(f'Value of b is {b}')
    main()
コード例 #12
0
ファイル: classify_trades.py プロジェクト: lxj0276/notes
def classify(trades, new_trades, labels):
    k = 1
    result = []

    for test in new_trades:
        distances = []
        length = len(test)
        for t in range(len(trades)):
            distance = 0
            for f in range(length):
                distance += pow((trades[t][f] - test[f]), 2)
            distances.append((trades[t], labels[t], sqrt(distance)))

        distances.sort(key=itemgetter(2))
        neighbors = []
        for x in range(k):
            neighbors.append(distances[x][1])

        classVotes = {}
        for x in neighbors:
            if x in classVotes:
                classVotes[x] += 1
            else:
                classVotes[x] = 1
        sortedVotes = sorted(
            classVotes.items(), key=itemgetter(1), reverse=True)

        result.append(sortedVotes[0][0])

    return result
コード例 #13
0
ファイル: test_mKPGM.py プロジェクト: zeno129/CSAG
def test_different_probabilities_avg_edges():
    b = 2
    k = 5
    l = 2
    theta = [[0.7, 0.4], [0.4, 0.5]]
    vertices = range(operator.pow(b, k))
    n = 100

    possible_edges = list(itertools.product(vertices, repeat=2))
    counts = {edge: 0 for edge in possible_edges}

    for i in range(n):
        g = model.mKPGM(theta, k, b, l)
        for e in possible_edges:
            if e in g.edges:
                counts[e] += 1

    S = sum(theta[0]) + sum(theta[1])
    S_2 = np.square(theta[0][0]) + np.square(theta[0][1]) \
        + np.square(theta[1][0]) + np.square(theta[1][1])

    exp_num_edges = np.power(S, k)
    var_num_edges = np.power(S, k-1) * (np.power(S, k-l) - 1) \
                * float(S-S_2)/(S-1) + (np.power(S, k-l) - np.power(S_2, l)) \
                * np.power(S, 2*(k-l))

    avg_edges = float(sum(counts.values())) / n

    assert avg_edges >= exp_num_edges - var_num_edges
    assert avg_edges <= exp_num_edges + var_num_edges
コード例 #14
0
ファイル: parsemath.py プロジェクト: maksimovdmitrii/ase
def power(a, b):
    """Redefine pow function to prevent too large numbers"""
    if a == 0.0:
        return 0.0
    elif b / math.log(max_value, abs(a)) >= 1:
        raise ValueError((a, b))
    return op.pow(a, b)
コード例 #15
0
ファイル: gentests.py プロジェクト: naydef/bignum
def emit_tests(fout=None):
    gen_tests_with_file(fout, 'mul', 2, operator.mul)
    gen_tests_with_file(fout, 'add', 2, operator.add)
    gen_tests_with_file(fout, 'sub', 2, operator.sub)
    gen_tests_with_file(fout, 'sqr', 1, lambda x: operator.pow(x, 2))
    gen_tests_with_file(fout,
                        'mod',
                        2,
                        operator.mod,
                        reject=lambda p, d: d == 0)
    gen_tests_with_file(fout,
                        'div',
                        2,
                        operator.div,
                        reject=lambda p, d: d == 0)
    gen_tests_with_file(fout, 'shl', 2, operator.ilshift, sizesb=SHIFT_SIZES)
    gen_tests_with_file(fout, 'shr', 2, operator.irshift, sizesb=SHIFT_SIZES)
    gen_tests_with_file(fout, 'trunc', 2, trunc, sizesb=SHIFT_SIZES)
    gen_tests_with_file(fout, 'modmul', 3, lambda x, y, p: (x * y) % p)
    gen_tests_with_file(fout, 'modexp', 3, pow, sizesb=EXP_SIZES)
    gen_tests_with_file(fout, 'gcd', 2, gcd)
    gen_tests_with_file(fout, 'egcd-v', 2, egcd_v)
    gen_tests_with_file(fout, 'egcd-a', 2, egcd_a)
    gen_tests_with_file(fout, 'egcd-b', 2, egcd_b)
    gen_tests_with_file(fout, 'modinv', 2, modinv, reject=gcd_eq_zero)
コード例 #16
0
    def calculation(self):
        """
        Function that represents logic of calculation.

        :return:None.
        """
        err = 0
        if self.numberone != '':
            self.is_operation = True
        if self.result != None:
            self.numberone = str(self.result)
        if self.numberone != '' and self.numberdva != '':
            num1 = float(self.numberone)
            num2 = float(self.numberdva)
            if self.operation == '+':
                self.result = add(num1, num2)
            elif self.operation == '-':
                self.result = sub(num1, num2)
            elif self.operation == '*':
                self.result = mul(num1, num2)
            elif self.operation == '/':
                try:
                    self.result = truediv(num1, num2)
                except ZeroDivisionError:
                    self.reset()
                    err = 1
            elif self.operation == '^':
                self.result = pow(num1, num2)
            if err == 0:
                self.ui.lcd.display(self.result)
                self.numberdva = ''
コード例 #17
0
 def test_pow(self):
     self.failUnlessRaises(TypeError, operator.pow)
     self.failUnlessRaises(TypeError, operator.pow, None, None)
     self.assertEqual(operator.pow(3, 5), 3**5)
     self.assertEqual(operator.__pow__(3, 5), 3**5)
     self.assertRaises(TypeError, operator.pow, 1)
     self.assertRaises(TypeError, operator.pow, 1, 2, 3)
コード例 #18
0
ファイル: test_numpy.py プロジェクト: wiki01/pint
 def test_exponentiation_array_exp_2(self):
     arr = np.array(range(3), dtype=np.float)
     # q = self.Q_(copy.copy(arr), None)
     q = self.Q_(copy.copy(arr), "meter")
     arr_cp = copy.copy(arr)
     q_cp = copy.copy(q)
     # this fails as expected since numpy 1.8.0 but...
     with pytest.raises(DimensionalityError):
         op.pow(arr_cp, q_cp)
     # ..not for op.ipow !
     # q_cp is treated as if it is an array. The units are ignored.
     # Quantity.__ipow__ is never called
     arr_cp = copy.copy(arr)
     q_cp = copy.copy(q)
     with pytest.raises(DimensionalityError):
         op.ipow(arr_cp, q_cp)
コード例 #19
0
    def expr(self, p):
        op = p[1]
        left = self._sumDiceRolls(p.expr0)
        right = self._sumDiceRolls(p.expr1)

        if op == '+':
            return operator.add(left, right)
        elif op == '-':
            return operator.sub(left, right)
        elif op == '*':
            if (-self.MAX_MULT <= left <= self.MAX_MULT
                    and -self.MAX_MULT <= right <= self.MAX_MULT):
                return operator.mul(left, right)
            else:
                raise InvalidOperandsException(
                    'multiplication operands are larger than the maximum {}'.
                    format(self.MAX_MULT))
        elif op == '/':
            return operator.floordiv(left, right)
        elif op == '%':
            return operator.mod(left, right)
        elif op == '^':
            if (-self.MAX_EXPONENT <= left <= self.MAX_EXPONENT
                    and -self.MAX_EXPONENT <= right <= self.MAX_EXPONENT):
                return operator.pow(left, right)
            else:
                raise InvalidOperandsException(
                    'operand or exponent is larger than the maximum {}'.format(
                        self.MAX_EXPONENT))
コード例 #20
0
def main():
    a = -1
    b = 5.0
    c = 2
    d = 6

    for k, v in {"a": a, "b": b, "c": c, "d": d}.items():
        print(k + " =", v)

    print("\nPositive/Negative:")
    print("abs(a);", operator.abs(a))
    print("neg(a);", operator.neg(a))
    print("neg(b);", operator.neg(b))
    print("pos(a);", operator.pos(a))
    print("pos(b);", operator.pos(b))

    print("\nArithmetic:")
    print("add(a, b)     :", operator.add(a, b))
    print("floordiv(a, b):", operator.floordiv(a, b))
    print("floordiv(d, c):", operator.floordiv(d, c))
    print("mod(a, b)     :", operator.mod(a, b))
    print("mul(a, b)     :", operator.mul(a, b))
    print("pow(c, d)     :", operator.pow(c, d))
    print("sub(b, a)     :", operator.sub(b, a))
    print("truediv(a, b) :", operator.truediv(a, b))
    print("truediv(d, c) :", operator.truediv(d, c))

    print("\nBitwise:")
    print("and_(c, d)  :", operator.and_(c, d))
    print("invert(c)   :", operator.invert(c))
    print("lshift(c, d):", operator.lshift(c, d))
    print("or_(c, d)   :", operator.or_(c, d))
    print("rshift(d, c):", operator.rshift(d, c))
    print("xor(c, d)   :", operator.xor(c, d))
コード例 #21
0
ファイル: test_operator.py プロジェクト: 0xBADCA7/grumpy
 def test_pow(self):
     #operator = self.module
     self.assertRaises(TypeError, operator.pow)
     self.assertRaises(TypeError, operator.pow, None, None)
     self.assertEqual(operator.pow(3,5), 3**5)
     self.assertRaises(TypeError, operator.pow, 1)
     self.assertRaises(TypeError, operator.pow, 1, 2, 3)
コード例 #22
0
ファイル: nodes.py プロジェクト: guyjacks/jeap
    def evaluate(self):
        result = None
        left = self.left.evaluate()
        right = self.right.evaluate()

        if self.operation == '+':
            result = operator.add(left, right)
        elif self.operation == '-':
            result = operator.sub(left, right)
        elif self.operation == '*':
            result = operator.mul(left, right)
        elif self.operation == '/':
            result = operator.div(left, right)
        elif self.operation == '^':
            result = operator.pow(left, right)
        elif self.operation == 'and':
            result = left and right
        elif self.operation == 'or':
            result = left or right
        elif self.operation == '<':
            result = operator.lt(left, right)
        elif self.operation == '<=':
            result = operator.le(left, right)
        elif self.operation == '==':
            result = operator.eq(left, right)
        elif self.operation == '!=':
            result = operator.ne(left, right)
        elif self.operation == '>':
            result = operator.gt(left, right)
        elif self.operation == '>=':
            result = operator.ge(left, right)
        elif self.operation == 'in':
            result = (left in right)
        return result
コード例 #23
0
ファイル: test_operator.py プロジェクト: bushuhui/pyKanjiDict
 def test_pow(self):
     self.failUnlessRaises(TypeError, operator.pow)
     self.failUnlessRaises(TypeError, operator.pow, None, None)
     self.failUnless(operator.pow(3,5) == 3**5)
     self.failUnless(operator.__pow__(3,5) == 3**5)
     self.assertRaises(TypeError, operator.pow, 1)
     self.assertRaises(TypeError, operator.pow, 1, 2, 3)
コード例 #24
0
 def test_pow(self):
     self.assertRaises(TypeError, operator.pow)
     self.assertRaises(TypeError, operator.pow, None, None)
     self.assertEqual(operator.pow(3, 5), 3 ** 5)
     self.assertEqual(operator.__pow__(3, 5), 3 ** 5)
     self.assertRaises(TypeError, operator.pow, 1)
     self.assertRaises(TypeError, operator.pow, 1, 2, 3)
コード例 #25
0
ファイル: test_KPGM.py プロジェクト: zeno129/CSAG
def test_random_graph_density():
    b = 2
    prob = 0.65
    theta = [[prob, prob], [prob, prob]]
    k = 5
    vertices = range(operator.pow(b, k))
    n = 100

    possible_edges = list(itertools.product(vertices, repeat=2))
    counts = {edge: 0 for edge in possible_edges}

    p = np.round(np.power(prob, k), decimals=2)

    densities = []

    for i in range(n):
        g = model.KPGM(theta, k, b)
        g.create_igraph()
        graph = g.igraph

        N = graph.vcount()
        E = graph.ecount()
        # D = (2 * E) / float(N * (N - 1))
        D = (E) / float(N * (N - 1))

        densities.append(D)

    mean = np.round(np.mean(densities), decimals=2)

    assert p <= mean + 0.025 and p >= mean - 0.025
コード例 #26
0
 def test_pow(self):
     #operator = self.module
     self.assertRaises(TypeError, operator.pow)
     self.assertRaises(TypeError, operator.pow, None, None)
     self.assertEqual(operator.pow(3, 5), 3**5)
     self.assertRaises(TypeError, operator.pow, 1)
     self.assertRaises(TypeError, operator.pow, 1, 2, 3)
コード例 #27
0
ファイル: test_KPGM.py プロジェクト: zeno129/CSAG
def test_diff_probabilities_edges():
    b = 2
    k = 2
    theta = [[0.7, 0.4], [0.4, 0.5]]
    vertices = range(operator.pow(b, k))
    n = 100

    possible_edges = list(itertools.product(vertices, repeat=2))
    counts = {edge: 0 for edge in possible_edges}

    for i in range(n):
        g = model.KPGM(theta, k, b)
        for e in possible_edges:
            if e in g.edges:
                counts[e] += 1

    P_k = np.kron(np.array(theta), np.array(theta))

    for (i, j) in counts.keys():
        p = P_k[i][j]
        mean = n * p
        variance = n * p * (1 - p)

        cnt = counts[(i, j)]

        assert cnt >= mean - variance
        assert cnt <= mean + variance
コード例 #28
0
 def operator_pow(size):
     a = Array(size, 'int32')
     b = Array(size, 'int32')
     for i in range(size):
         a[i] = nb_types.int32(i+1)
         b[i] = nb_types.int32(size-i)
     return operator.pow(a, b)
コード例 #29
0
 def test_pow(self):
     self.assertRaises(TypeError, operator.pow)
     self.assertRaises(TypeError, operator.pow, None, None)
     self.assertTrue(operator.pow(3, 5) == 3**5)
     self.assertTrue(operator.__pow__(3, 5) == 3**5)
     self.assertRaises(TypeError, operator.pow, 1)
     self.assertRaises(TypeError, operator.pow, 1, 2, 3)
コード例 #30
0
ファイル: dice.py プロジェクト: MatthewCox/PyMoronBot
    def p_expression_binop(self, p):
        """expression : expression PLUS expression
                      | expression MINUS expression
                      | expression TIMES expression
                      | expression DIVIDE expression
                      | expression MODULUS expression
                      | expression EXPONENT expression"""

        op = p[2]
        left = self._sumDiceRolls(p[1])
        right = self._sumDiceRolls(p[3])

        if op == '+':
            p[0] = operator.add(left, right)
        elif op == '-':
            p[0] = operator.sub(left, right)
        elif op == '*':
            p[0] = operator.mul(left, right)
        elif op == '/':
            p[0] = operator.floordiv(left, right)
        elif op == '%':
            p[0] = operator.mod(left, right)
        elif op == '^':
            if -self._MAX_EXPONENT <= left <= self._MAX_EXPONENT and -self._MAX_EXPONENT <= right <= self._MAX_EXPONENT:
                p[0] = operator.pow(left, right)
            else:
                raise InvalidOperandsException(u'operand or exponent is larger than the maximum {}'
                                               .format(self._MAX_EXPONENT))
コード例 #31
0
ファイル: column.py プロジェクト: carlamj/gtable
def apply_pow(left: Column, right):
    if type(right) == Column:
        result, index = apply_fast_pow(left.values, right.values,
                                       left.index, right.index)
        return Column(result, index)

    else:
        return Column(operator.pow(left.values, right), left.index)
コード例 #32
0
ファイル: calc.py プロジェクト: AbstractBeliefs/csbot
def limited_power(a, b):
    """
    A limited power function to make sure that
    commands do not take too long to process.
    """
    if any(abs(n) > 1000 for n in [a, b]):
        raise OverflowError("{}**{} is too big".format(a, b))
    return op.pow(a, b)
コード例 #33
0
ファイル: main.py プロジェクト: toropow/otus_dev
def exponentiation(*args, power=2):
    """
    Raises a set of numbers to a power
    :param args: Number for power
    :param power: Power
    :return list: Number to power
    """
    return list(map(lambda x: pow(x, power), args))
コード例 #34
0
ファイル: calc.py プロジェクト: barrucadu/csbot
def limited_power(a, b):
    """
    A limited power function to make sure that
    commands do not take too long to process.
    """
    if any(abs(n) > 100 for n in [a, b]):
        raise ValueError(a, b)
    return op.pow(a, b)
コード例 #35
0
def my_pow_external2(v1, v2):
    if v1 is None:
        v1 = D * [1.0]
    if v2 is None:
        v2 = D * [1.0]
    v1 = norm_logistic(v1)
    v2 = norm_logistic(v2)
    return adjust_vector([operator.pow(x, y) for x, y in zip(v1, v2)])
コード例 #36
0
def calculate_bmi(person_details):
    '''
    this method takes list of objects as input and yields the object with its calculated BMI to the caller.
    '''
    for person in person_details:
        bmi = round((person["WeightKg"] * 10000) /
                    (operator.pow(person["HeightCm"], 2)), 2)
        yield person, bmi
コード例 #37
0
def _power(left, right):
    from .compat import is_duck_array
    from .quantity import Quantity

    if (isinstance(left, Quantity) and is_duck_array(left.magnitude)
            and left.dtype.kind not in "cf" and right < 0):
        left = left.astype(float)

    return operator.pow(left, right)
コード例 #38
0
ファイル: Series.py プロジェクト: victorustc/DaPy
    def std(self):
        Ex, Ex2, length = 0, 0, float(len(self))
        if length <= 1:
            return 0

        for val in self:
            Ex += val
            Ex2 += pow(val, 2)
        return sqrt((Ex2 - Ex**2 / length) / (length - 1.0))
コード例 #39
0
def pow_type3(p1, p2, p3):
    v1 = p1.vec
    v2 = p2.vec
    v3 = p3.vec

    if v1 is None:
        v1 = D * [1.0]
    if v2 is None:
        v2 = D * [1.0]
    if v3 is None:
        v3 = D * [1.0]
    v1 = norm_logistic(v1)
    v2 = norm_logistic(v2)
    v3 = norm_logistic(v3)
    return Type3(
        adjust_vector([
            operator.pow(operator.pow(x, y), z) for x, y, z in zip(v1, v2, v3)
        ]))
コード例 #40
0
ファイル: Day_18.py プロジェクト: JB0925/Advent-Of-Code-2020
def math(op, d1, d2):
    ops = {
        '**': operator.pow(d1, d2),
        '*': operator.mul(d1, d2),
        '/': operator.truediv(d1, d2),
        '//': operator.floordiv(d1, d2),
        '+': operator.add(d1, d2),
        '-': operator.sub(d1, d2)
    }
    return ops.get(op)
コード例 #41
0
ファイル: calc.py プロジェクト: alanbriolat/csbot
def guarded_power(a, b):
    """A limited power function to make sure that
    commands do not take too long to process.
    """
    if any(abs(n) > 1000 for n in [a, b]):
        raise CalcError("would take too long to calculate")
    try:
        return op.pow(a, b)
    except OverflowError:
        raise CalcError("too large to represent as float")
コード例 #42
0
ファイル: test_series.py プロジェクト: MLnick/pandas
        def check(other):
            _check_op(other, operator.add)
            _check_op(other, operator.sub)
            _check_op(other, operator.div)
            _check_op(other, operator.mul)
            _check_op(other, operator.pow)

            _check_op(other, lambda x, y: operator.add(y, x))
            _check_op(other, lambda x, y: operator.sub(y, x))
            _check_op(other, lambda x, y: operator.div(y, x))
            _check_op(other, lambda x, y: operator.mul(y, x))
            _check_op(other, lambda x, y: operator.pow(y, x))
コード例 #43
0
ファイル: calc.py プロジェクト: BenSimner/csbot
def limited_power(a, b):
    """A limited power function to make sure that
    commands do not take too long to process.
    """
    for n in (a, b):
        if is_too_long(n):
            # Neaten the error message
            raise OverflowError("result is too long to be printed")

    if any(abs(n) > 1000 for n in [a, b]):
        raise OverflowError("{}**{} would take too long to calculate".format(a, b))
    return op.pow(a, b)
コード例 #44
0
ファイル: test_quantity.py プロジェクト: emilienkofman/pint
 def test_exponentiation(self, input_tuple, expected):
     self.ureg.default_as_delta = False
     in1, in2 = input_tuple
     if type(in1) is tuple and type(in2) is tuple:
         in1, in2 = self.Q_(*in1), self.Q_(*in2)
     elif not type(in1) is tuple and type(in2) is tuple:
         in2 = self.Q_(*in2)
     else:
         in1 = self.Q_(*in1)
     input_tuple = in1, in2
     expected_copy = expected[:]
     for i, mode in enumerate([False, True]):
         self.ureg.autoconvert_offset_to_baseunit = mode
         if expected_copy[i] == 'error':
             self.assertRaises((OffsetUnitCalculusError,
                                DimensionalityError), op.pow, in1, in2)
         else:
             if type(expected_copy[i]) is tuple:
                 expected = self.Q_(*expected_copy[i])
                 self.assertEqual(op.pow(in1, in2).units, expected.units)
             else:
                 expected = expected_copy[i]
             self.assertQuantityAlmostEqual(op.pow(in1, in2), expected)
コード例 #45
0
def guarded_pow(left, right):
    # Only handle ints because floats will overflow anyway.
    if not isinstance(left, numbers.Integral):
        pass
    elif not isinstance(right, numbers.Integral):
        pass
    elif pow_complexity(left, right) < 0.5:
        # Value 0.5 is arbitary and based on a estimated runtime of 0.5s
        # on a fairly decent laptop processor.
        pass
    else:
        raise ValueError("Pow expression too complex to calculate.")

    return operator.pow(left, right)
コード例 #46
0
ファイル: scout.py プロジェクト: adamchainz/scout
    def _build_filter_expression(key, values):
        def in_(lhs, rhs):
            return lhs << ([i.strip() for i in rhs.split(',')])
        operations = {
            'eq': operator.eq,
            'ne': operator.ne,
            'ge': operator.ge,
            'gt': operator.gt,
            'le': operator.le,
            'lt': operator.lt,
            'in': in_,
            'contains': lambda l, r: operator.pow(l, '%%%s%%' % r),
            'startswith': lambda l, r: operator.pow(l, '%s%%' % r),
            'endswith': lambda l, r: operator.pow(l, '%%%s' % r),
            'regex': lambda l, r: l.regexp(r),
        }
        if key.find('__') != -1:
            key, op = key.rsplit('__', 1)
            if op not in operations:
                error(
                    'Unrecognized operation: %s. Supported operations are:'
                    '\n%s' % (op, '\n'.join(sorted(operations.keys()))))
        else:
            op = 'eq'

        op = operations[op]
        if isinstance(values, (list, tuple)):
            expr = reduce(operator.or_, [
                ((Metadata.key == key) & op(Metadata.value, value))
                for value in values])
        else:
            expr = ((Metadata.key == key) & op(Metadata.value, values))

        return fn.EXISTS(Metadata.select().where(
            expr &
            (Metadata.document == Document._meta.primary_key)))
コード例 #47
0
ファイル: IDF.py プロジェクト: ycraaron/CanonicalizationOKB
    def cal_overlap(self):
        list_intersect = self.intersect()
        list_union = self.union()
        freq_inter = 0.0
        freq_union = 0.0
        for item in list_intersect:
            matches_intersect = [x for x in self.list_corpus if item == x]
            freq_inter += math.log10(operator.pow(len(matches_intersect) + 1, -1))

        for item in list_union:
            if len(list_union)==0:
                print self.str_1,self.str_2
            matches_union = [x for x in self.list_corpus if item == x]
            freq_union += math.log10(operator.pow(len(matches_union) + 1, -1))
        #print "cor", self.list_corpus
        #print list_intersect,list_union
        idf_overlap = freq_inter / freq_union
        return idf_overlap
        # print matches_intersect, freq_inter
        # print matches_union, freq_union
        #
        # print "intersect", list_intersect
        # print "union", list_union
        # print "corpus", self.list_corpus
コード例 #48
0
ファイル: test_numeric.py プロジェクト: bkandel/pandas
        def check(series, other):
            simple_ops = ['add', 'sub', 'mul', 'truediv', 'floordiv', 'mod']

            for opname in simple_ops:
                _check_op(series, other, getattr(operator, opname))

            _check_op(series, other, operator.pow, pos_only=True)

            _check_op(series, other, lambda x, y: operator.add(y, x))
            _check_op(series, other, lambda x, y: operator.sub(y, x))
            _check_op(series, other, lambda x, y: operator.truediv(y, x))
            _check_op(series, other, lambda x, y: operator.floordiv(y, x))
            _check_op(series, other, lambda x, y: operator.mul(y, x))
            _check_op(series, other, lambda x, y: operator.pow(y, x),
                      pos_only=True)
            _check_op(series, other, lambda x, y: operator.mod(y, x))
コード例 #49
0
ファイル: _classobj.py プロジェクト: TheDunn/flex-pypy
 def __rpow__(self, other, modulo=None):
     if modulo is None:
         coerced = _coerce(self, other)
         if coerced is None or coerced[0] is self:
             func = instance_getattr1(self, '__rpow__', False)
             if func:
                 return func(other)
             return NotImplemented
         else:
             return operator.pow(coerced[1], coerced[0], None)
     else:
         # CPython also doesn't try coercion in this case
         func = instance_getattr1(self, '__rpow__', False)
         if func:
             return func(other, modulo)
         return NotImplemented
コード例 #50
0
ファイル: gentests.py プロジェクト: naydef/bignum
def emit_tests(fout = None):
    gen_tests_with_file(fout, 'mul', 2, operator.mul)
    gen_tests_with_file(fout, 'add', 2, operator.add)
    gen_tests_with_file(fout, 'sub', 2, operator.sub)
    gen_tests_with_file(fout, 'sqr', 1, lambda x: operator.pow(x, 2))
    gen_tests_with_file(fout, 'mod', 2, operator.mod, reject = lambda p, d: d == 0)
    gen_tests_with_file(fout, 'div', 2, operator.div, reject = lambda p, d: d == 0)
    gen_tests_with_file(fout, 'shl', 2, operator.ilshift, sizesb = SHIFT_SIZES)
    gen_tests_with_file(fout, 'shr', 2, operator.irshift, sizesb = SHIFT_SIZES)
    gen_tests_with_file(fout, 'trunc', 2, trunc, sizesb = SHIFT_SIZES)
    gen_tests_with_file(fout, 'modmul', 3, lambda x, y, p: (x * y) % p)
    gen_tests_with_file(fout, 'modexp', 3, pow, sizesb = EXP_SIZES)
    gen_tests_with_file(fout, 'gcd', 2, gcd)
    gen_tests_with_file(fout, 'egcd-v', 2, egcd_v)
    gen_tests_with_file(fout, 'egcd-a', 2, egcd_a)
    gen_tests_with_file(fout, 'egcd-b', 2, egcd_b)
    gen_tests_with_file(fout, 'modinv', 2, modinv, reject = gcd_eq_zero)
コード例 #51
0
ファイル: test_operators.py プロジェクト: GaZ3ll3/numba
 def pow_usecase(x, y):
     return operator.pow(x, y)
コード例 #52
0
ファイル: test_unit.py プロジェクト: pelson/cf_units
 def test_bad_power(self):
     msg = "Cannot raise .* a 'no-unit'"
     with self.assertRaisesRegexp(ValueError, msg):
         operator.pow(self.u, 0.4)
コード例 #53
0
ファイル: test_unit.py プロジェクト: pelson/cf_units
 def test_unit_power(self):
     v = Unit('m')
     msg = 'argument must be a string or a number'
     with self.assertRaisesRegexp(TypeError, msg):
         operator.pow(self.u, v)
コード例 #54
0
def sqrt(num):
    return(operator.pow(num, 0.5))
コード例 #55
0
ファイル: test_unit.py プロジェクト: pelson/cf_units
 def test_not_numeric(self):
     with self.assertRaisesRegexp(TypeError, 'numeric value is required'):
         operator.pow(self.u, 'not_a_number')
コード例 #56
0
ファイル: solution.py プロジェクト: NMguerin/hackinscience
import operator
print(operator.truediv(245850922, 78256779))
print(operator.truediv(operator.add(1, operator.pow(5, 0.5)), 2))
コード例 #57
0
ファイル: solution.py プロジェクト: h2oz/hackinscience
# -*- coding: utf-8 -*-
"""
Created on Mon Sep 21 11:33:36 2015

@author: A
"""
import operator
# r = 245850922 / 78256779
rr = operator.truediv(245850922, 78256779)
tt = (1+operator.pow(5, 0.5))/2
# t= (1+5**0.5)/2
print(rr)
print(tt)
コード例 #58
0
ファイル: test_util.py プロジェクト: Aashikr/protobuf
 def __rpow__(self, y):
   return NonStandardInteger(operator.pow(y, self.val))
コード例 #59
0
ファイル: maths.py プロジェクト: Ayuto/EventScripts-Emulator
import es
from random import randint
from math import sin, cos, tan, asin, acos, atan
from operator import add, sub, mul, pow, truediv as div
from ..val import sv, STR, INT, NUM, VAR, ANY
from . import Command

root = lambda a, b: pow(a, 1.0/b)

_math_operators = {
  '+': add, 'add': add,
  '-': sub, 'subract': sub,
  '*': mul, 'multiply': mul,
  '/': div, 'divide': div,
  '^': pow, 'power': pow,
  '//': root, 'root': root,
}

_math_functions = ['sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'abs', 'int', 'float']

@Command(syntax='<variable> <operator> [value]', types=(VAR, STR, ANY), desc='EventScripts math functions, courtesy of Cr3V3TT3')
def math(argv):
  var, op = argv[:2]
  val = sv[var]
  if val.isstring():
    raise ValueError('math function called on a non-numeric value: %s, %s' % (var, val.strval))
  val = NUM(val)
  if op in _math_operators:
    if len(argv) < 3:
      raise SyntaxError
    val2 = argv[2]
コード例 #60
0
ファイル: test_unit.py プロジェクト: pelson/cf_units
 def test_bad_power(self):
     u = Unit('m^2')
     msg = 'Cannot raise .* by a decimal'
     with self.assertRaisesRegexp(ValueError, msg):
         operator.pow(u, 0.4)