
def 						__magic_name__			(   __a      :	int	,		__a      :	int						):



     '''simple docstring'''




     while a != 0:
          UpperCamelCase__		,	UpperCamelCase__				=    b % a, a
     return b






def 						__magic_name__			(   __a      :	int	,		__a      :	int						):



     '''simple docstring'''




     if gcd(__a	,		__a						) != 1:
          UpperCamelCase__				=    f"mod inverse of {a!r} and {m!r} does not exist"
          raise ValueError(__a						)
     UpperCamelCase__		,	UpperCamelCase__		,	UpperCamelCase__				=    1, 0, a
     UpperCamelCase__		,	UpperCamelCase__		,	UpperCamelCase__				=    0, 1, m
     while va != 0:
          UpperCamelCase__				=    ua // va
          UpperCamelCase__		,	UpperCamelCase__		,	UpperCamelCase__		,	UpperCamelCase__		,	UpperCamelCase__		,	UpperCamelCase__				=    (ua - q * va), (ua - q * va), (ua - q * va), va, va, va
     return ua % m







import pytest

from datasets.parallel import ParallelBackendConfig, parallel_backend
from datasets.utils.py_utils import map_nested

from .utils import require_dill_gt_0_3_2, require_joblibspark, require_not_windows






def 						__magic_name__			(   __a      :	Any						):  # picklable for multiprocessing



     '''simple docstring'''




     return i + 1






@require_dill_gt_0_3_2
@require_joblibspark
@require_not_windows
def 						__magic_name__			(   ):



     '''simple docstring'''




     with parallel_backend("""spark"""						):
          assert ParallelBackendConfig.backend_name == "spark"

     UpperCamelCase__				=    [1, 2, 3]
     with pytest.raises(__a						):
          with parallel_backend("""unsupported backend"""						):
               map_nested(__a	,		__a	,		num_proc=2						)

     with pytest.raises(__a						):
          with parallel_backend("""unsupported backend"""						):
               map_nested(__a	,		__a	,		num_proc=-1						)






@require_dill_gt_0_3_2
@require_joblibspark
@require_not_windows
@pytest.mark.parametrize("""num_proc"""	,		[2, -1]						)
def 						__magic_name__			(   __a      :	Optional[int]						):



     '''simple docstring'''




     UpperCamelCase__				=    [1, 2]
     UpperCamelCase__				=    {"""a""": 1, """b""": 2}
     UpperCamelCase__				=    {"""a""": [1, 2], """b""": [3, 4]}
     UpperCamelCase__				=    {"""a""": {"""1""": 1}, """b""": 2}
     UpperCamelCase__				=    {"""a""": 1, """b""": 2, """c""": 3, """d""": 4}
     UpperCamelCase__				=    [2, 3]
     UpperCamelCase__				=    {"""a""": 2, """b""": 3}
     UpperCamelCase__				=    {"""a""": [2, 3], """b""": [4, 5]}
     UpperCamelCase__				=    {"""a""": {"""1""": 2}, """b""": 3}
     UpperCamelCase__				=    {"""a""": 2, """b""": 3, """c""": 4, """d""": 5}

     with parallel_backend("""spark"""						):
          assert map_nested(__a	,		__a	,		num_proc=__a						) == expected_map_nested_sa
          assert map_nested(__a	,		__a	,		num_proc=__a						) == expected_map_nested_sa
          assert map_nested(__a	,		__a	,		num_proc=__a						) == expected_map_nested_sa
          assert map_nested(__a	,		__a	,		num_proc=__a						) == expected_map_nested_sa
          assert map_nested(__a	,		__a	,		num_proc=__a						) == expected_map_nested_sa





