Coverage for mlprodict/onnxrt/ops_cpu/op_bitshift.py: 100%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

11 statements  

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 "Unexpected value for direction (%r)." % (self.direction, )) 

23 if self.direction == b'LEFT': 

24 self.numpy_fct = numpy.left_shift 

25 else: 

26 self.numpy_fct = numpy.right_shift