Coverage for mlprodict/onnxrt/ops_cpu/op_min.py: 94%
18 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 Min(OpRunBinaryNumpy):
13 def __init__(self, onnx_node, desc=None, **options):
14 OpRunBinaryNumpy.__init__(self, numpy.minimum, onnx_node,
15 desc=desc, **options)
17 def run(self, *data, attributes=None, verbose=0, fLOG=None): # pylint: disable=W0221
18 if len(data) == 2:
19 return OpRunBinaryNumpy.run(self, *data, verbose=verbose, fLOG=fLOG)
20 if len(data) == 1:
21 if self.inplaces.get(0, False):
22 return (data[0], )
23 return (data[0].copy(), )
24 if len(data) > 2:
25 a = data[0]
26 for i in range(1, len(data)):
27 a = numpy.minimum(a, data[i])
28 return (a, )
29 raise RuntimeError( # pragma: no cover
30 "Unexpected turn of events.")