o 6a@sddlZddlmZ ddeDZeddgdd\ZZgdZgdZdgZ er5ej r5e d eeZ ee Z ejje d d Gd d d ZdS)N)targetscCsg|] }|r|jr|qS)simd).0npyv_modrrC/usr/lib/python3/dist-packages/numpy/core/tests/test_simd_module.py sr)u8u16u32u64)s8s16s32s64f32f64z3could not find any SIMD extension with NPYV supportreasonc@seZdZejdeddZejdeddZddZ ejj e dd d d Z ejde d d ZejdeddZddZddZdS)Test_SIMD_MODULEsfxcCs4ttd|}ttd|d}t||ksJdS)Nnlanes_setall_)getattrnpyvlen)selfrnlanesvectorrrrtest_num_lanesszTest_SIMD_MODULE.test_num_lanescCs(ttd|d}|jd|ksJdS)Nrrnpyv_)rr__name__)rrr rrrtest_type_nameszTest_SIMD_MODULE.test_type_namec stdgd\}}tD]Ufdd}tt|d|tt|d|||tt|dtt|ddgtt|ddtt|ddgtt|ddgttd d |q dS) Nrr cstt|dS)N_rr)intrinrrr'sz.Test_SIMD_MODULE.test_raises..addsetallloadstore reinterpret__u32)r setall_u32all_sfxpytestraises TypeError ValueErrorr)rabvcbrr(r test_raises$s *zTest_SIMD_MODULE.test_raisesz8could not find a second SIMD extension with NPYV supportrcCs<td}td}tttj||tttj||dS)Nr)rr0npyv2r2r3r4add_u32)rr6a2rrr test_nomix0s  zTest_SIMD_MODULE.test_nomixcCsttd|}dt|dd>d}d}ttd||d}||ks&Jttd||g|}||g|ks;Jttd|dd}||ksLJttd|dg|}||g|ksaJdS)Nrrlrrload_)rrint)rrrmaxumaxu_72lanelanesrrrtest_unsigned_overflow:s  z'Test_SIMD_MODULE.test_unsigned_overflowcCsttd|}d}ttd||d}|dksJttd||g|}|dg|ks/Jd}ttd||d}|dksBJttd||g|}|dg|ksWJdS)Nrlrrr?r>lr&)rrrmaxs_72rCrDmins_72rrrtest_signed_overflowHs  z%Test_SIMD_MODULE.test_signed_overflowcCs0tdd}|dks Jt|ddksJdS)Ng?rr)r setall_f32round)rrrrrtest_truncate_f32Vs z"Test_SIMD_MODULE.test_truncate_f32cCsXtdtj}t|}|t|ksJ|t|ksJ|D] }||||ks)JqdS)Nr)ranger nlanes_u32load_u32listtuple)r data_rangevdatairrr test_compare[s  zTest_SIMD_MODULE.test_compareN)r# __module__ __qualname__r2mark parametrizer1r!r$r9skipifr:r= unsigned_sfxrE signed_sfxrHrKrTrrrrrs           r)r2numpy.core._simdrvaluesnpyvsrr:rZr[fp_sfxsimd_f64appendint_sfxr1rWrYrrrrrs