1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
U
O±d„ã@s ddlZddlZddlmZddlZddlZddlmZmZm    Z    m
Z
m Z m Z m Z ddlmZddlmZddlmZdd„ejjj ¡DƒZd    d„eDƒZe eed
ƒ¡e d d ¡pÌe d d ¡oÌe dd ¡Zej d¡oæeoæedƒ Z ej!j"e  ddZ#ddd„Z$e %e$¡Z&Gdd„dƒZ'dS)éN)Úpath)Ú
c_longlongÚc_doubleÚc_floatÚc_intÚcastÚpointerÚPOINTER)Úassert_array_max_ulp)Ú_glibc_older_than)Ú__cpu_features__cCsg|]}t|tjƒr|‘qS©)Ú
isinstanceÚnpÚufunc)Ú.0Úobjr r ú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/core/tests/test_umath_accuracy.pyÚ
<listcomp> s ÿrcCsg|]}d|jkr|‘qS)zO->O)Útypes)rZufr r rr s
ÚinvertZAVX512FFZFMA3ZAVX2Úlinuxz2.17z;avoid testing inconsistent platform library implementations)Úreasonú
np.float32cCsPt|dƒ}|dkr.tt|ƒƒ}t|ttƒƒ}ntt|ƒƒ}t|ttƒƒ}|jj    S)Néz
np.float64)
Úintrrrr    rrrÚcontentsÚvalue)ÚsÚdatatypeÚiÚcpÚfpr r rÚconverts
  r#c@s.eZdZedd„ƒZej de¡dd„ƒZ    dS)Ú TestAccuracyc Cs~tjddft t t¡d¡}t |¡}tt    dd„|ƒƒ}|D]*}t ||¡}t
|ƒ
}dd„|Dƒ}tj |dddt fd    d
d d }t  |¡d  d¡d}tt|ƒ}    t |d¡D]¨}
||d|
k} tjt| d t¡| d t¡ƒt|
ƒd} tjt| d t¡| d t¡ƒt|
ƒd} tj t| ƒ¡}| |} | |} | d ¡}t|    | ƒ| |ƒqºW5QRXqBW5QRXdS)NÚignore©ÚallÚdatacSs
| d¡S)Nz.csv)Úendswith)Úfr r rÚ<lambda>.óz<TestAccuracy.test_validate_transcendentals.<locals>.<lambda>css|]}|ddkr|VqdS)r)ú$ú#Nr )rÚrr r rÚ    <genexpr>2s z=TestAccuracy.test_validate_transcendentals.<locals>.<genexpr>z|S39)ÚtypeÚinputÚoutputÚulperrú,é)ÚdtypeÚnamesÚ    delimiterZ skip_headerrú-ér1r2©r7r3r4)rÚerrstaterÚjoinÚdirnameÚ__file__ÚosÚlistdirÚlistÚfilterÚopenZ
genfromtxtrÚsplitextÚsplitÚgetattrÚuniqueÚarrayÚ str_to_floatÚastypeÚstrÚevalÚrandomZ permutationÚlenÚmaxr
)ÚselfÚdata_dirÚfilesÚfilenameÚfilepathZfidZfile_without_commentsr(ZnpnameZnpfuncrZ data_subsetZinvalZoutvalÚpermZ    maxulperrr r rÚtest_validate_transcendentals)s2
 
 
ü
,, z*TestAccuracy.test_validate_transcendentalsrc    CsftjddPtjdtjd}tj| ¡tjd}| tj¡}t    ||ƒ||ƒdtjdW5QRXdS)Nr%r&ir<r6)Zmaxulpr7)
rr=ZarangeÚint16Z
frombufferÚtobytesÚfloat16rLÚfloat32r
)rRrZarrZdatafp16Zdatafp32r r rÚ"test_validate_fp16_transcendentalsDs ÿz/TestAccuracy.test_validate_fp16_transcendentalsN)
Ú__name__Ú
__module__Ú __qualname__Ú platform_skiprXÚpytestÚmarkZ parametrizeÚUNARY_OBJECT_UFUNCSr]r r r rr$(s
 r$)r)(ÚnumpyrrArÚsysrbÚctypesrrrrrrr    Z numpy.testingr
Znumpy.testing._private.utilsr Znumpy.core._multiarray_umathr ÚcoreZumathÚ__dict__ÚvaluesZ UNARY_UFUNCSrdÚremoverHÚgetZIS_AVXÚplatformÚ
startswithZruntestrcZskipifrar#Z    vectorizerKr$r r r rÚ<module>s2 $    ÿ ÿÿ
ÿ