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

1# -*- encoding: utf-8 -*- 

2# pylint: disable=E0203,E1101,C0111 

3""" 

4@file 

5@brief Runtime operator. 

6""" 

7import numpy 

8from ._op import OpRunBinaryNumpy 

9 

10 

11class BitShift(OpRunBinaryNumpy): 

12 

13 atts = {'direction': b''} 

14 

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