Coverage for mlprodict/onnxrt/ops_cpu/op_bitshift.py: 100%
11 statements
« prev ^ index » next coverage.py v7.1.0, created at 2023-02-04 02:28 +0100
« prev ^ index » next coverage.py v7.1.0, created at 2023-02-04 02:28 +0100
1# -*- encoding: utf-8 -*-
2# pylint: disable=E0203,E1101,C0111
3"""
4@file
5@brief Runtime operator.
6"""
7import numpy
8from ._op import OpRunBinaryNumpy
11class BitShift(OpRunBinaryNumpy):
13 atts = {'direction': b''}
15 def __init__(self, onnx_node, desc=None, **options):
16 "constructor"
17 OpRunBinaryNumpy.__init__(self, numpy.add, onnx_node,
18 expected_attributes=BitShift.atts,
19 desc=desc, **options)
20 if self.direction not in (b'LEFT', b'RIGHT'):
21 raise ValueError( # pragma: no cover
22 f"Unexpected value for direction ({self.direction!r}).")
23 if self.direction == b'LEFT':
24 self.numpy_fct = numpy.left_shift
25 else:
26 self.numpy_fct = numpy.right_shift