Coverage for install/scipp/core/_cpp_wrapper_util.py: 70%

10 statements  

« prev     ^ index     » next       coverage.py v7.4.0, created at 2024-04-28 01:28 +0000

1# SPDX-License-Identifier: BSD-3-Clause 

2# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) 

3# @author Simon Heybrock 

4import itertools 

5 

6from .data_group import DataGroup, data_group_nary 

7 

8 

9def call_func(func, *args, out=None, **kwargs): 

10 if any(isinstance(x, DataGroup) for x in itertools.chain(args, kwargs.values())): 

11 if out is not None: 

12 raise ValueError( 

13 "`out` argument is not supported for DataGroup operations." 

14 ) 

15 return data_group_nary(func, *args, **kwargs) 

16 if out is None: 

17 return func(*args, **kwargs) 

18 else: 

19 return func(*args, **kwargs, out=out)