403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/scipy/interpolate/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/interpolate/tests/__pycache__/test_polyint.cpython-311.pyc
�

d�cTv��f�ddlZddlZddlZddlmZmZmZmZm	Z	m
Z
ddlmZ
ddlZddlmZmZmZmZmZmZmZmZmZmZmZmZddifd�Zgd�Zd�Zd�Zd	�Zd
�Z Gd�d��Z!Gd
�d��Z"Gd�d��Z#Gd�d��Z$Gd�d��Z%d�Z&d�Z'd�Z(Gd�d��Z)dS)�N)�assert_almost_equal�assert_array_equal�assert_array_almost_equal�assert_allclose�assert_equal�assert_)�raises)�KroghInterpolator�krogh_interpolate�BarycentricInterpolator�barycentric_interpolate�approximate_taylor_polynomial�CubicHermiteSpline�pchip�PchipInterpolator�pchip_interpolate�Akima1DInterpolator�CubicSpline�make_interp_splinec�H�tj�d��gd�}tt	dt|��dz����}|�|t|��dzzd��tjjd|z��|��}tj	|��}	|tur@tjjd|z��|��}
||||
fd|i|��|	��}n|||fd|i|��|	��}|pd|jd|�z|z|j|d�dd�z}t|j|��|r�|j
dkr�|turK|t|��t|��t|
��fd|i|��t|	����n<|t|��t|��fd|i|��t|	����|	j
dkr�|��|jd|�dt|��zz|j|d�dd�z}
|td��f||jzzdz}|�|
��}tj||��\}}t%||��dSdSdS)	N��)���r����rr���axis��r)�np�random�seed�list�range�len�insert�rand�	transpose�zerosr�shaper�size�slice�ndim�reshape�broadcast_arraysr)�interpolator_cls�x_shape�y_shape�deriv_shaper�
extra_args�x�s�y�xi�dydx�yi�target_shape�bs_shape�yvs               �F/usr/lib/python3/dist-packages/scipy/interpolate/tests/test_polyint.py�check_shaperAs����I�N�N�4�������A��U�1�c�'�l�l�1�n�
%�
%�&�&�A��H�H�T�S��\�\�!�^�
$�a�(�(�(�
�	�����)�3�3�A�6�6�A�	��'�	�	�B��-�-�-��y�~��w��0�:�:�1�=�=��
B�
�
�a��D�
B�
B�t�
B�z�
B�
B�2�
F�
F���
<�
�
�a��
<�
<��
<��
<�
<�R�
@�
@�� �&�B�!�'�%�4�%�.�8��� !������q�r�r� 2�3�L����<�(�(�(��5�1�6�A�:�:��1�1�1�
+���T�!�W�W�d�1�g�g�t�D�z�z�
+�
+��
+�)�
+�
+�+/��8�8�
5�
5�
5�
5�
+���T�!�W�W�d�1�g�g�
+�
+�D�
+�)�
+�
+�+/��8�8�
5�
5�
5�
�w��{�{�{�*��7�5�D�5�>�D��W���$5�5�������q�r�r�8J�J��
��t��������/�4�7�
8��
�Z�Z��
!�
!���#�B��+�+���A���A������
�{�*�*�)r �rr!)rr�c
�\�d�}tttttt
|fD]�}tD]v}tD]l}tt|��t|����D]>}|t
krt|||d|���!dD]}d|i}t|||d||����?�m�w��dS)Nc�&�t|||���S�N�r)r�r7r9rs   r@�
spl_interpztest_shapes.<locals>.spl_interp?s��!�!�Q�T�2�2�2�2rB)�natural�clamped�bc_type)
r
rrrrr�SHAPESr&r'rA)rJ�ip�s1�s2r�bc�extras       r@�test_shapesrT=s��3�3�3�!�"9�;M��)�;�
�D�
G�
G���	G�	G�B��
G�
G��!�3�r�7�7�(�C��G�G�4�4�G�G�D��[�(�(�#�B��B��d�;�;�;�;�"8�G�G�B�%.��O�E�'��B��D�$��F�F�F�F�G�	G�
G�	G�
G�
GrBc
��dd�}tD]M}tD]C}tt|��t|����D]}t|||d|����D�NdS)Nrc�.�t|||��jS�N)r
�derivativesrIs   r@�krogh_derivsz(test_derivs_shapes.<locals>.krogh_derivsOs�� ��A�t�,�,�8�8rBrrC�rNr&r'rA)rYrPrQrs    r@�test_derivs_shapesr[Ns���9�9�9�9��>�>���	>�	>�B��s�2�w�w�h��B���0�0�
>�
>���L�"�b�$��=�=�=�=�
>�	>�>�>rBc�2�dd�}dd�}dd�}dd�}dd�}dd�}dd�}dd	�}dd
�}dd�}	dd�}
dd
�}||||||||||	|
|fD]W}tD]M}
tD]C}tt|��t|����D]}t||
|d|����D�N�XdS)Nrc�.�t|||��jSrW)r
�
derivativerIs   r@�krogh_derivz&test_deriv_shapes.<locals>.krogh_derivYs�� ��A�t�,�,�7�7rBc�H�t|||�����SrW�rr^rIs   r@�pchip_derivz&test_deriv_shapes.<locals>.pchip_deriv\s ���Q��4� � �+�+�-�-�-rBc�J�t|||���d��S�NrrarIs   r@�pchip_deriv2z'test_deriv_shapes.<locals>.pchip_deriv2_s"���Q��4� � �+�+�A�.�.�.rBc�H�t|||�����SrW�r�antiderivativerIs   r@�pchip_antiderivz*test_deriv_shapes.<locals>.pchip_antiderivbs ���Q��4� � �/�/�1�1�1rBc�J�t|||���d��SrdrgrIs   r@�pchip_antideriv2z+test_deriv_shapes.<locals>.pchip_antideriv2es"���Q��4� � �/�/��2�2�2rBc�B�Gd�dt��}||||��S)Nc��eZdZd�ZdS)�9test_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.Pc�.�tj||d��S)Nr)r�__call__)�selfr7s  r@rpzBtest_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.P.__call__js��(�1�$��1�=�=�=rBN)�__name__�
__module__�__qualname__rpr rBr@�Prnis������
>�
>�
>��DrBru)r)r7r9rrus    r@�pchip_deriv_inplacez.test_deriv_shapes.<locals>.pchip_deriv_inplacehsA��	�	�	�	�	�!�	�	�	��q��A�t�}�}�rBc�H�t|||�����SrW)rr^rIs   r@�akima_derivz&test_deriv_shapes.<locals>.akima_derivos ��"�1�a��.�.�9�9�;�;�;rBc�H�t|||�����SrW)rrhrIs   r@�akima_antiderivz*test_deriv_shapes.<locals>.akima_antiderivrs ��"�1�a��.�.�=�=�?�?�?rBc�H�t|||�����SrW)rr^rIs   r@�
cspline_derivz(test_deriv_shapes.<locals>.cspline_derivus ���1�a��&�&�1�1�3�3�3rBc�H�t|||�����SrW)rrhrIs   r@�cspline_antiderivz,test_deriv_shapes.<locals>.cspline_antiderivxs ���1�a��&�&�5�5�7�7�7rBc�J�t|||������SrG)rr^rIs   r@�
bspl_derivz%test_deriv_shapes.<locals>.bspl_deriv{s#��!�!�Q�T�2�2�2�=�=�?�?�?rBc�J�t|||������SrG)rrhrIs   r@�bspl_antiderivz)test_deriv_shapes.<locals>.bspl_antideriv~s#��!�!�Q�T�2�2�2�A�A�C�C�CrBr rCrZ)r_rbrerirkrvrxrzr|r~r�r�rOrPrQrs                r@�test_deriv_shapesr�Xs���8�8�8�8�.�.�.�.�/�/�/�/�2�2�2�2�3�3�3�3�����<�<�<�<�@�@�@�@�4�4�4�4�8�8�8�8�@�@�@�@�D�D�D�D��K��7J�� 0�+���/��^�M�6�6���	6�	6�B��
6�
6��!�3�r�7�7�(�C��G�G�4�4�6�6�D���B��B��5�5�5�5�6�
6�	6�6�6rBc�*�gd�}gd�}ttttfD]'}|||��}t	|||�����(gd�}t|||��}t	|||����t	|||d����dS)N�rrrr)rr��?r)ry��ry@r)r
rrrrr)r7r9rO�pr;s     r@�test_complexr��s������A��
�
�A� �"9�5�+�N�!�!���B�q�!�H�H����1�1�Q�4�4� � � � ��?�?�D��1�a��&�&�A��A�q�q��t�t�����D�!�!�A�q�'�'�"�"�"�"�"rBc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�	TestKroghc���tjgd���|_tjddd��|_tjddd��|_|�|j��|_dS�N)���rrrD���rr�drD�r"�poly1d�	true_poly�linspace�test_xs�xs�ys�rqs r@�setup_methodzTestKrogh.setup_method�sZ����=�=�=�1�1����{�2�a��,�,����+�b��1�%�%����.�.���)�)����rBc��t|j|j��}t|�|j��||j����dSrW�r
r�r�rr�r��rqrus  r@�
test_lagrangezTestKrogh.test_lagrange��C���d�g�d�g�.�.���D�N�N�4�<�8�8���4�<���I�I�I�I�IrBc�2�t|j|j��}t|�d��|d����t|�tjd����|tjd������dS�N�)r
r�r�rr�r"�arrayr�s  r@�test_scalarzTestKrogh.test_scalar�ss���d�g�d�g�.�.���D�N�N�1�-�-�a�a��d�d�3�3�3��D�N�N�2�8�A�;�;�7�7���2�8�A�;�;���H�H�H�H�HrBc� �t|j|j��}|�|j��}t|jd��D]>}t|j�	|��|j��||���?dS)Nr)
r
r�r�rXr�r&r,rr��deriv�rqru�D�is    r@�test_derivativeszTestKrogh.test_derivatives�s����d�g�d�g�.�.��
�M�M�$�,�'�'���q�w�q�z�"�"�	&�	&�A�� 7��� 4� 4�Q� 7� 7��� E� E� !�!��
&�
&�
&�
&�	&�	&rBc�L�t|j|j��}|�|jt|j��dz��}t
|jd��D]>}t|j	�
|��|j��||���?dS)Nrr)r
r�r�rXr�r'r&r,rr�r�r�s    r@�test_low_derivativeszTestKrogh.test_low_derivatives�s����d�g�d�g�.�.��
�M�M�$�,�s�4�7�|�|�A�~�6�6���q�w�q�z�"�"�	&�	&�A�� 7��� 4� 4�Q� 7� 7��� E� E� !�!��
&�
&�
&�
&�	&�	&rBc��t|j|j��}d}|�|j|��}t|��D]1}t
|�|j|��||���2dS)N�
)r
r�r�rXr�r&rr^)rqru�m�rr�s     r@�test_derivativezTestKrogh.test_derivative�sy���d�g�d�g�.�.����
�M�M�$�,�q�)�)���q���	C�	C�A�����T�\�!� <� <�Q�q�T�B�B�B�B�	C�	CrBc	�H�t|j|j��}tt	|j��dt	|j��z��D]O}t|�|j|��tj	t	|j�������PdSrd)
r
r�r�r&r'rr^r�r"r+)rqrur�s   r@�test_high_derivativezTestKrogh.test_high_derivative�s����d�g�d�g�.�.���s�4�7�|�|�Q�s�4�7�|�|�^�4�4�	=�	=�A�����T�\�!� <� <� "���T�\�):�):� ;� ;�
=�
=�
=�
=�	=�	=rBc��t|j|j��}t|�|j��||j����dSrWr�r�s  r@�test_hermitezTestKrogh.test_hermite�r�rBc	�����gd��tjddgddgddgg���t����}��fd�t�jd��D��}tjddd���t
|���tj�fd	�|D����j��t
|�	���tj
tj�fd
�|D����d����dS)N�rrrrrrc�D��g|]}t��dd�|f����SrW)r
)�.0r�r�r�s  ��r@�
<listcomp>z)TestKrogh.test_vector.<locals>.<listcomp>�s0���
H�
H�
H����2�a�a�a��c�7�+�+�
H�
H�
HrBrrr�c�&��g|]
}|�����Sr r �r�r�r�s  �r@r�z)TestKrogh.test_vector.<locals>.<listcomp>��!���'?�'?�'?�q���'�
�
�'?�'?�'?rBc�:��g|]}|������Sr )rXr�s  �r@r�z)TestKrogh.test_vector.<locals>.<listcomp>�s%���(L�(L�(L�A����w�)?�)?�(L�(L�(LrB)rrr)r"r�r
r&r,r�r�asarray�TrXr*)rqru�Pir�r�r�s   @@@r@�test_vectorzTestKrogh.test_vector�s�����
�Y�Y��
�X��!�u�a��U�A�a�5�)�
*�
*���b��$�$��
H�
H�
H�
H�
H�U�2�8�A�;�5G�5G�
H�
H�
H���+�b��3�'�'���A�A�g�J�J��J�'?�'?�'?�'?�B�'?�'?�'?�@�@�B�	D�	D�	D��A�M�M�'�2�2���R�Z�(L�(L�(L�(L��(L�(L�(L�M�M����	�	�	�	�	rBc�l�t|j|j��}t|g��g��dSrW)r
r�r�rr�s  r@�
test_emptyzTestKrogh.test_empty�s3���d�g�d�g�.�.���1�1�R�5�5�"�%�%�%�%�%rBc	��t|j|j��}tt	j|d����d��tt	j|t	jd������d��tt	j|dg����d��tt	j|ddg����d��dS�Nrr r!r)r)r
r�r�rr"r,r�r�s  r@�test_shapes_scalarvaluez!TestKrogh.test_shapes_scalarvalue�s����d�g�d�g�.�.���2�8�A�A�a�D�D�>�>�2�.�.�.��2�8�A�A�b�h�q�k�k�N�N�3�3�R�8�8�8��2�8�A�A�q�c�F�F�+�+�T�2�2�2��2�8�A�A�q��e�H�H�-�-�t�4�4�4�4�4rBc	�&�t|j|j��}|j}t	tj|�d����|f��t	tj|�tjd������|f��t	tj|�dg����|df��t	tj|�ddg����|df��dS)Nrrr)	r
r�r��nrr"r,rXr��rqrur�s   r@�"test_shapes_scalarvalue_derivativez,TestKrogh.test_shapes_scalarvalue_derivative�s����d�g�d�g�.�.��
�C���2�8�A�M�M�!�$4�$4�5�5��t�<�<�<��2�8�A�M�M�"�(�1�+�+�$>�$>�?�?�!��F�F�F��2�8�A�M�M�1�#�$6�$6�7�7�!�A��?�?�?��2�8�A�M�M�1�Q�%�$8�$8�9�9�A�a�5�A�A�A�A�ArBc	��t|jtj|jtjd������}t
tj|d����d��t
tj|dg����d��t
tj|ddg����d��dS�Nrr)r)rrr)rr)r
r�r"�outerr��arangerr,r�s  r@�test_shapes_vectorvaluez!TestKrogh.test_shapes_vectorvalue�s����d�g�b�h�t�w�r�y��|�|�&D�&D�E�E���2�8�A�A�a�D�D�>�>�4�0�0�0��2�8�A�A�q�c�F�F�+�+�U�3�3�3��2�8�A�A�q��e�H�H�-�-�u�5�5�5�5�5rBc�j�t|jtj|jdg����}ttj|d����d��ttj|dg����d��ttj|ddg����d��dS�Nrrr!)rr)rr)r
r�r"r�r�rr,r�s  r@�test_shapes_1d_vectorvaluez$TestKrogh.test_shapes_1d_vectorvalue�s����d�g�b�h�t�w��s�&;�&;�<�<���2�8�A�A�a�D�D�>�>�4�0�0�0��2�8�A�A�q�c�F�F�+�+�U�3�3�3��2�8�A�A�q��e�H�H�-�-�u�5�5�5�5�5rBc	���t|jtj|jtjd������}|j}ttj|�	d����|df��ttj|�	dg����|ddf��ttj|�	ddg����|ddf��dS)Nrrrr)
r
r�r"r�r�r�r�rr,rXr�s   r@�"test_shapes_vectorvalue_derivativez,TestKrogh.test_shapes_vectorvalue_derivative�s����d�g�b�h�t�w�r�y��|�|�&D�&D�E�E��
�C���2�8�A�M�M�!�$4�$4�5�5��!�u�=�=�=��2�8�A�M�M�1�#�$6�$6�7�7�!�A�a��A�A�A��2�8�A�M�M�1�Q�%�$8�$8�9�9�A�a��7�C�C�C�C�CrBc
���t|j|j��}t}t	||j��||j|j|j����t	|�|jd��||j|j|jd�����t	|�|jd��||j|j|jddg�����dS)Nr��derrr)r
r�r�rrr�r^rX)rqru�kis   r@�test_wrapperzTestKrogh.test_wrapper�s����d�g�t�w�/�/��
���A�A�d�l�O�O�R�R�����$�,�-O�-O�P�P�P��A�L�L���q�9�9��B�t�w�����1�E�E�E�	G�	G�	G��A�M�M�$�,��:�:��B�t�w�����A�q�6�J�J�J�	L�	L�	L�	L�	LrBc	���gd�}tjgd���}t||��}tt	||��|z
|�|d��z��dd���dS)N)
r��i�i�i�i�i|i$	i�i�i� i03i`�)
gffffff�g닥ą��g�䑉��g�!p$Ѐ�gV�0���޿g��x*Zֿg����D�пg��2�]��g��H.���g��9C���g�6D.���gG�/���g�������?rrg�����|�=��atol)r"r�r
r�absr^)rqr7�
offset_cdf�fs    r@�test_int_inputszTestKrogh.test_int_inputss���
�
�
���X�?�?�?�@�@�
�
�a��,�,����Q�Q�q�T�T�J�.�!�,�,�q�!�2D�2D�D�E�E���	'�	'�	'�	'�	'�	'rBc�t�tjgd���tjgd���}}t||��}|�d��}t||j���d��dt||j���d��zz}t
||d���dS)N)rrrrr)rr�rrr�rr��V瞯�<r�)r"r�r
rX�real�imagr)rqr7r9�func�cmplx�cmplx2s      r@�test_derivatives_complexz"TestKrogh.test_derivatives_complexs����x�)�)�)�*�*�B�H�5K�5K�5K�,L�,L�1�� ��A�&�&��� � ��#�#��#�A�q�v�.�.�:�:�1�=�=��&�q�!�&�1�1�=�=�a�@�@�@�A����v�E�2�2�2�2�2�2rBc���tjtd���5tt	jd��t	jd����ddd��dS#1swxYwYdS)Nz40 degrees provided,)�match�()�pytest�warns�UserWarningr
r"r��onesr�s r@�test_high_degree_warningz"TestKrogh.test_high_degree_warnings���
�\�+�-C�
D�
D�
D�	:�	:��b�i��m�m�R�W�R�[�[�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s�5A�A"�%A"N)rrrsrtr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r rBr@r�r��sF������*�*�*�J�J�J�I�I�I�
&�&�&�&�&�&�C�C�C�=�=�=�J�J�J�
�
�
�&�&�&�5�5�5�B�B�B�6�6�6�6�6�6�D�D�D�L�L�L�'�'�'�3�3�3�:�:�:�:�:rBr�c��eZdZd�ZdS)�
TestTaylorc��d}ttjd|dd��}t|dz��D]/}t	|d��d��|���}�0t	|d��d��dS)NrDrr�)rr"�expr&rr�)rq�degreer�r�s    r@�test_exponentialzTestTaylor.test_exponentials|����)�"�&�!�V�Q��C�C���v�a�x���	�	�A����!���Q�'�'�'����	�	�A�A��A�A�a�D�D��#�#�#�#�#rBN)rrrsrtr�r rBr@r�r�s#������$�$�$�$�$rBr�c�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�TestBarycentricc���tjgd���|_tjddd��|_tjddd��|_|�|j��|_dSr�r�r�s r@r�zTestBarycentric.setup_method)s]����#4�#4�#4�5�5����{�2�q�#�.�.����+�b�!�Q�'�'����.�.���)�)����rBc��t|j|j��}t|�|j��||j����dSrW)rr�r�rr�r�r�s  r@r�zTestBarycentric.test_lagrange/sC��#�D�G�T�W�5�5���D�N�N�4�<�8�8�!�!�D�L�/�/�J�J�J�J�JrBc�2�t|j|j��}t|�d��|d����t|�tjd����|tjd������dSr�)rr�r�rr�r"r�r�s  r@r�zTestBarycentric.test_scalar3ss��#�D�G�T�W�5�5���D�N�N�1�-�-�q�q��t�t�4�4�4��D�N�N�2�8�A�;�;�7�7���2�8�A�;�;���H�H�H�H�HrBc���t|j��}|�|j��t	|�|j��||j����dSrW)rr��set_yir�rr�r�r�s  r@�test_delayedzTestBarycentric.test_delayed8sS��#�D�G�,�,��	���������D�N�N�4�<�8�8�!�!�D�L�/�/�J�J�J�J�JrBc�&�t|jdd�|jdd���}|�|jdd�|jdd���t	|�|j��||j����dS)Nr)rr�r��add_xirr�r�r�s  r@�test_appendzTestBarycentric.test_append=s{��#�D�G�B�Q�B�K����!���=�=��	���������d�g�a�b�b�k�*�*�*��D�N�N�4�<�8�8�!�!�D�L�/�/�J�J�J�J�JrBc�j�����gd��tjddgddgddgg���t������}���fd�t�jd��D��}tjddd���t
|���tj�fd	�|D����j��dS)
Nr�rrrc�<��g|]}���dd�|f����SrWr )r�r��BIr�r�s  ���r@r�z/TestBarycentric.test_vector.<locals>.<listcomp>Gs1���
;�
;�
;�1�b�b��R����1��X���
;�
;�
;rBrrr�c�&��g|]
}|�����Sr r r�s  �r@r�z/TestBarycentric.test_vector.<locals>.<listcomp>Jr�rB)	r"r�rr&r,r�rr�r�)rqrur�rr�r�r�s   @@@@r@r�zTestBarycentric.test_vectorBs�������
�Y�Y��
�X��1�v��1�v��1�v�.�
/�
/��
$���B�r�2�J�J��
;�
;�
;�
;�
;�
;��b�h�q�k�(:�(:�
;�
;�
;���+�b�!�S�)�)���A�A�g�J�J��J�'?�'?�'?�'?�B�'?�'?�'?�@�@�B�	D�	D�	D�	D�	DrBc	��t|j|j��}tt	j|d����d��tt	j|t	jd������d��tt	j|dg����d��tt	j|ddg����d��dSr�)rr�r�rr"r,r�r�s  r@r�z'TestBarycentric.test_shapes_scalarvalueLs���#�D�G�T�W�5�5���2�8�A�A�a�D�D�>�>�2�.�.�.��2�8�A�A�b�h�q�k�k�N�N�3�3�R�8�8�8��2�8�A�A�q�c�F�F�+�+�T�2�2�2��2�8�A�A�q�!�f�I�I�.�.��5�5�5�5�5rBc	��t|jtj|jtjd������}t
tj|d����d��t
tj|dg����d��t
tj|ddg����d��dSr�)rr�r"r�r�r�rr,r�s  r@r�z'TestBarycentric.test_shapes_vectorvalueSs���#�D�G�R�X�d�g�r�y��|�|�-L�-L�M�M���2�8�A�A�a�D�D�>�>�4�0�0�0��2�8�A�A�q�c�F�F�+�+�V�4�4�4��2�8�A�A�q�!�f�I�I�.�.��7�7�7�7�7rBc�j�t|jtj|jdg����}ttj|d����d��ttj|dg����d��ttj|ddg����d��dSr�)rr�r"r�r�rr,r�s  r@r�z*TestBarycentric.test_shapes_1d_vectorvalueYs���#�D�G�R�X�d�g��s�-C�-C�D�D���2�8�A�A�a�D�D�>�>�4�0�0�0��2�8�A�A�q�c�F�F�+�+�V�4�4�4��2�8�A�A�q��e�H�H�-�-�v�6�6�6�6�6rBc��t|j|j��}t|j|j|j��}t||j��|��dSrW)rr�r�r
r�r)rqru�valuess   r@r�zTestBarycentric.test_wrapper_sL��#�D�G�T�W�5�5��(���$�'�4�<�H�H���A�A�d�l�O�O�V�4�4�4�4�4rBc��dtjdd��z}tjdd��}t||d��}t|d��dS)Ni�r�g��@g#@)r"r�r
r)rqr7r9�values    r@�test_int_inputzTestBarycentric.test_int_inputdsP���2�9�Q��#�#�#���I�a�����'��1�j�9�9���E�3�'�'�'�'�'rBc�r�d}tj|dz���tj��}tj|tjz|z��}d|z}|dxxdzcc<|dxxdzcc<t
|��}|jd}t|jd|zz|��dS)Ni rrr��?r)	r"r��astype�float64�cos�pir�wir)rqr��jr7�wru�factors       r@�test_large_chebyshevz$TestBarycentric.test_large_chebyshevjs���
���I�a�!�e���#�#�B�J�/�/���F�1�r�u�9�q�=�!�!���A�I��	�!���������	�"���������#�A�&�&����a����A�D�A��J�/��3�3�3�3�3rBc��tddgddg��}tjd���5||j��}ddd��n#1swxYwYt	||j�����dS)Nrrr�raise)�divide)rr"�errstater:rr<�ravel)rqrur<s   r@�test_warningzTestBarycentric.test_warning�s���
$�Q��F�Q��F�3�3��
�[��
(�
(�
(�	�	���1�4���B�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�B���
�
���-�-�-�-�-s�A�A�AN)rrrsrtr�r�r�r�rr�r�r�r�r�rrr r rBr@r�r�(s�������*�*�*�K�K�K�I�I�I�
K�K�K�
K�K�K�
D�D�D�6�6�6�8�8�8�7�7�7�5�5�5�
(�(�(�4�4�4�2.�.�.�.�.rBr�c�L�eZdZd
d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�ZdS)�	TestPCHIP�c��tj�d��tjtj�|����}tj�|��}t	||��||fS)Nr)r"r#r$�sortr)rq�nptsr:r<s    r@�_make_randomzTestPCHIP._make_random�s_��
�	���t����
�W�R�Y�%�%�d�+�+�
,�
,��
�Y�
�
�d�
#�
#���R��}�}�b�"�$�$rBc��|���\}}}tt|��dz
��D]�}||||dz}}||||dz}}||kr||}}tj||d��}	||	��}
t||
dzk|
|dzkz�������dS)Nrr�r��r'r&r'r"r�r�all�rqr�r:r<r��x1�x2�y1�y2�xp�yps           r@�test_overshootzTestPCHIP.test_overshoot�s����%�%�'�'�	��2�r��s�2�w�w�q�y�!�!�	E�	E�A���U�B�q��s�G��B���U�B�q��s�G��B��B�w�w��R�B����R��R�(�(�B���2���B��b�B��J�&�2��e��+;�<�A�A�C�C�D�D�D�D�	E�	ErBc��|���\}}}tt|��dz
��D]�}||||dz}}||||dz}}tj||d��}	||	��}
t||z
|
dd�|
dd�z
zdk�������dS)Nrr�rr)r+s           r@�
test_monotonezTestPCHIP.test_monotone�s����%�%�'�'�	��2�r��s�2�w�w�q�y�!�!�	=�	=�A���U�B�q��s�G��B���U�B�q��s�G��B���R��R�(�(�B���2���B��b��e��1�2�2���B�Q�B���0�1�4�9�9�;�;�<�<�<�<�	=�	=rBc�&�tjgd�gd�g��}tjd��}t|d|d��|��}|dz}t|d|d��|��}t	||dd���dS)	N)
rr���/�<�O�W�cr�)
����r=i��r�r6��&�-�5�7r�rr��?�+����=)r��rtol)r"r�r�rr)rq�data�xx�curve�data1�curve1s      r@�	test_castzTestPCHIP.test_cast�s����x�@�@�@�D�D�D�F�G�G��
�Y�s�^�^��'��d�1�g�t�A�w�'�'��+�+���s�
��*��u�Q�x��q��*�*�2�.�.����v�E��>�>�>�>�>�>rBc�N�d}tjtj|����}t	|dd�df|dd�df��}d}tjtj|����}t|dd�df||dd�df��dd���dS)Na
          7.99   0.00000E+0
          8.09   0.27643E-4
          8.19   0.43750E-1
          8.70   0.16918E+0
          9.20   0.46943E+0
         10.00   0.94374E+0
         12.00   0.99864E+0
         15.00   0.99992E+0
         20.00   0.99999E+0
        rra^
           7.9900       0.0000
           9.1910       0.4640
          10.3920       0.9645
          11.5930       0.9965
          12.7940       0.9992
          13.9950       0.9998
          15.1960       0.9999
          16.3970       1.0000
          17.5980       1.0000
          18.7990       1.0000
          20.0000       1.0000
        �g-C��6
?�rEr�)r"�loadtxt�io�StringIOrr)rq�dataStrrF�pch�	resultStr�results      r@�test_nagzTestPCHIP.test_nag�s���

���z�"�+�g�.�.�/�/���D����1��I�t�A�A�A�a�C�y�)�)���	���B�K�	�2�2�3�3����q�q�q��s��S�S�����!���%5�%5�B�T�J�J�J�J�J�JrBc�0�tjgd���}tjgd���}tjgd���}t||��t||��fD]2}|d|dfD]}t||d��dk��� �3dS)N)rMg�������?g�?gffffff�?)皙���uq@g@@�@�@���@)rXrZgp�@rYrrr)r"r�rr)rqr7r.r/�pp�ts      r@�test_endslopeszTestPCHIP.test_endslopes�s���
�H�+�+�+�,�,��
�X�3�3�3�
4�
4��
�X�4�4�4�
5�
5����B�<�<��q�"���.�	'�	'�B���d�A�b�E�]�
'�
'�����1�a���A�
�&�&�&�&�
'�	'�	'rBc�R�tjd��}tj|��}tj��5tjd��t
||��}ddd��n#1swxYwYtjddd��}t||��d��dS)Nr��errorr�	�erM)	r"r��
zeros_like�warnings�catch_warnings�filterwarningsrr�r)rqr7r9rSrGs     r@�test_all_zeroszTestPCHIP.test_all_zeros�s����I�b�M�M���M�!�����
$�
&�
&�	�	��#�G�,�,�,���1�+�+�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��[��A�s�
#�
#���S�S��W�W�b�!�!�!�!�!s�%A-�-A1�4A1c��tjddd��}tddgddg��}t||��d|zd���dS)Nrrr
rr�r�)r"r�rr)rqr7r�s   r@�test_two_pointszTestPCHIP.test_two_points�sU��

�K��1�b�!�!���1�a�&�1�a�&�!�!�����!���a��c��.�.�.�.�.�.rBc	��ttgd�gd�dgd���dg��ttgd�gd�dgd���dg��ttgd�gd�dgddg���dgdgg��dS)	N�rrr)rrDrrrr�rCrg@)rrr�s r@�test_pchip_interpolatez TestPCHIP.test_pchip_interpolate�s���!��g�g�g�w�w�w���1�=�=�=�
�D�	�	�	�	"��g�g�g�w�w�w���1�=�=�=�
�E�	�	�	�	"��g�g�g�w�w�w���A�q�6�B�B�B��U�Q�C�L�	�	�	�	�	rBc�v�tddgddg��}|���}t|d��dS)Nrrrr)r�rootsr)rqr�r�s   r@�
test_rootszTestPCHIP.test_rootss<���1�a�&�2�q�'�"�"��
�G�G�I�I����3�����rBN)r#)
rrrsrtr'r2r4rKrVr]rfrhrkrnr rBr@r"r"�s�������%�%�%�%�
E�
E�
E�=�=�=�
?�
?�
?�!K�!K�!K�F'�'�'�
"�
"�
"�/�/�/���� � � � � rBr"c�`�eZdZe		dd���Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
S)�TestCubicSpline�
not-a-knotrDc	�:�|j}|j}tj|��}|�|jdgdg|jdz
zz��}|dd�}t|ddd�f|ddd�f|dzz|ddd�f|dzzz|ddd�f|zz|ddd�fz||���t|ddd�fd|ddd�fz|dzzd|ddd�fz|zz|ddd�fz||���t|ddd�fd|ddd�fz|z|ddd�fz||���|jdkr'|dkr!|dkrt|dd||���dS|d	kr�t||dd��||dd��||���t||dd��||dd��||���t||dd��||dd��||���dS|dkr{|jdkrP||d��||d��z
|dz}t||dd��|||���n�t|d
|d||���n||dkr$t||dd��d||���nR|d
kr$t||dd��d||���n(|\}	}
t||d|	��|
||���|dkr}|jdkrQ||d��||d��z
|dz}t||dd��|||���dSt|d|d||���dS|dkr%t||dd��d||���dS|d
kr+t||dd��dd|zd|z���dS|\}	}
t||d|	��|
||���dS)zVCheck that spline coefficients satisfy the continuity and boundary
        conditions.rrrNrrrNrq�periodic)rr)rrrLrK)rr)rr�)	r7�cr"�diffr0r,r/rr-)�S�bc_start�bc_end�tolr7rt�dx�dxi�slope�orderrs           r@�check_correctnessz!TestCubicSpline.check_correctnesss���

�C��
�C��
�W�Q�Z�Z��
�Z�Z���!��
���q�v��z�(:�:�
;�
;����"��g��	��!�Q�R�R�%��!�A�s��s�F�)�c�1�f�"4�q��C�R�C��y�3��6�7I�"I��!�S�b�S�&�	�C��#(�*+�A�s��s�F�)�#4�:=�C�	I�	I�	I�	I���!�Q�R�R�%��!�a��3�B�3��i�-�#�q�&�"8��A�a��"��f�I�
��+�#,�./��3�B�3��i�#8�>A��	M�	M�	M�	M���!�Q�R�R�%��!�a��3�B�3��i�-�#�"5��!�S�b�S�&�	�"A� �s�	,�	,�	,�	,�
�6�Q�;�;�8�|�3�3��,�8N�8N��A�a�D�!�#�C�8�8�8�8��F��z�!�!��A�A�a��d�A�J�J���!�B�%����#�C�H�H�H�H��A�A�a��d�A�J�J���!�B�%����#�C�H�H�H�H��A�A�a��d�A�J�J���!�B�%����#�C�H�H�H�H��F��|�#�#��v��{�{���1�Q�4���1�1�Q�q�T�7�7�*�b��e�3�����!�A�$��
�
�E��#�F�F�F�F�F���$���4��s��E�E�E�E�E�
��
"�
"��A�A�a��d�A�J�J���#�>�>�>�>�>�
��
"�
"��A�A�a��d�A�J�J���#�>�>�>�>�>�#�L�E�5��A�A�a��d�E�N�N�E��#�F�F�F�F��\�!�!��v��{�{���1�Q�4���1�1�Q�q�T�7�7�*�b��e�3�����!�A�$��
�
�E��#�F�F�F�F�F�F���%��!�E�(��3�G�G�G�G�G�G�
�y�
 �
 ��A�A�a��e�Q�K�K���3�?�?�?�?�?�?�
�y�
 �
 ��A�A�a��e�Q�K�K���3��Q�s�U�C�C�C�C�C�C�!�L�E�5��A�A�a��e�U�O�O�U��3�G�G�G�G�G�GrBc	���t|j��}||=tj|��}|�d��tj|��}|�d��dddd|fd|fg}|dd�D],}t||||���}	|�|	||���-|D]5}
|D]0}t||||
|f���}	|�|	|
|d	�
���1�6dS)NrrrqrKrLrr�rrMg�+����=�ry)r%r,r"�empty�fillrr~)rqr7r9rr5�first_deriv�second_deriv�bc_allrRrvrwrxs            r@�check_all_bczTestCubicSpline.check_all_bcJs6���1�7�m�m������h�{�+�+����������x��,�,�����"�������
���
���
����!��*�	.�	.�B��A�q�t�R�8�8�8�A��"�"�1�b�"�-�-�-�-��	G�	G�H� �
G�
G����1�4�(�F�9K�L�L�L���&�&�q�(�F��&�F�F�F�F�
G�	G�	GrBc���tjgd���}tjgd���}dd|jfD]�}|�|d|�|d|�d��tjd|df��}|d|�|ddd�df<|d|�dz
|ddd�df<|d|�dz|ddd�df<|d|�dz|ddd�df<|�|d|�|d����dS)N)rrrrrg@g@r`)rg�rrg@rrrrrrr)r"r�r-r�r�)rqr7r9r��Ys     r@�test_generalzTestCubicSpline.test_generalas'���H�4�4�4�5�5���H�4�4�4�5�5���Q����	+�	+�A����a����e�Q�r��r�U�A�.�.�.���!�Q���#�#�A��2�A�2��A�a����A�g�J��2�A�2����A�a����A�g�J��2�A�2����A�a����A�g�J��2�A�2����A�a����A�g�J����a����e�Q��*�*�*�*�	+�	+rBc��dD]�}tjddtjz|��}tj|��}t	||d���}|�|dd��tjd|df��}||ddd�df<|dz|ddd�df<|dz
|ddd�df<|dz|ddd�df<t	||dd���}|�|dd����dS)	N)rrrDrrrs�rMrrDr�)r"r�rrrr~r�)rqr�r7r9rvr�s      r@�
test_periodiczTestCubicSpline.test_periodicns���	>�	>�A���A�q�2�5�y�!�,�,�A���q�	�	�A��A�q�*�5�5�5�A��"�"�1�j�*�=�=�=���!�Q���#�#�A��A�a����A�g�J��Q��A�a����A�g�J��Q��A�a����A�g�J��Q��A�a����A�g�J��A�q�q�*�=�=�=�A��"�"�1�j�*�=�=�=�=�	>�	>rBc��tjddtjzd��}tj|��}t	||d���}t|d��|ddtjzz��d���dS)	Nrrr�rsr�rr�)�decimal)r"r�rrrr�rqr7r9rvs    r@�test_periodic_evalz"TestCubicSpline.test_periodic_eval}ss���K��1�r�u�9�b�)�)���F�1�I�I����1�j�1�1�1���A�A�a�D�D�!�!�A��B�E�	�M�"2�"2�B�?�?�?�?�?�?rBc��tjgd���}tjgd���}t||dd���}|�|dd��dS)N)��������?��������?gffffff�?�������@�������@�@g333333@g������@g������@g@g@g@g @gffffff"@g%@g������&@g333333'@g(@g333333)@g*@g������*@)r�g�?g�������?r�r�g������@g333333@g333333@gffffff@r��@gffffff@r�g333333�?gffffff�?r�gffffff�?g333333�?rg�������?r�rs)rM�extrapolate)r"r�rr~r�s    r@�*test_second_derivative_continuity_gh_11758z:TestCubicSpline.test_second_derivative_continuity_gh_11758�s����H�O�O�O�
P�
P���H�P�P�P�
Q�
Q����1�j�j�I�I�I�����q�*�j�9�9�9�9�9rBc�0�tjgd���}tjgd���}t||d���}|�|dd��t	|�d��|��tjgd�����dS)N)rCg@r�)rCg.@rCrsr�r)�H�r�r�)r"r�rr~rr^r�s    r@�test_three_pointsz!TestCubicSpline.test_three_points�s���
�H�%�%�%�&�&���H�%�%�%�&�&����1�j�1�1�1�����q�*�j�9�9�9������Q����*�*�B�H�5J�5J�5J�,K�,K�L�L�L�L�LrBc��tjgd�t���}tjgd�t���}t||��}|�|��tjgd���}t||��}|�|��t||dzd���}|�|dd	��tjgd���}t||d
dg���}|�|d
d��dS)N)rrrr)�dtype)���rrr)y��?rMy�?�y�?��r)rK�ry@r�rKr�)ry@�?)ry�?�)r"r��intrr~r�s    r@�test_dtypeszTestCubicSpline.test_dtypes�s	���H�\�\�\��-�-�-���H�]�]�]�#�.�.�.����1�������q�!�!�!��H�1�1�1�2�2����1�������q�!�!�!���1��6�+?�@�@�@�����q�)�W�5�5�5��H�]�]�]�#�#����1�}�m�&D�E�E�E�����q�-��?�?�?�?�?rBc��tj�d��}tj|�d�����}d|�d���z}t||��}|�|d���dS)Nrr�)r-g��@g�vIh�%<=r�)r"r#�RandomStater%�uniformrr~)rq�rngr7r9rvs     r@�
test_small_dxzTestCubicSpline.test_small_dx�sz���i�#�#�A�&�&���G�C�K�K�S�K�)�)�*�*���#�+�+�3�+�'�'�'����1�������q�e��,�,�,�,�,rBc
��tjgd���}tjgd���}tjgd���}tjtjdddg��}tjgd���}tjtjdddg��}gd�}dg}dg}	ttt
||��ttt
||��ttt
||��ttt
||��ttt
||��ttt
|dd�tjf|��ttt
||	��gd	�}
|
D]!}ttt
||d
|d���"tj||f}d}
d
dgd�ff}d
dd
d
ggff}ttt
||d
|
d��ttt
||d
|d��ttt
||d
|d��ttt
||d
dd��dS)Nr�)y�?�?rrrrrr)rrrrrjr))rsrL))rr)rr�)�rr)rMrMz
not-a-typorT)rLr�rL)rrrrs)r"r��nan�
assert_raises�
ValueErrorr�newaxis�c_)rqr7r9�xc�xn�xo�yn�y3r,r.�wrong_bcrMr��bc1�bc2�bc3s                r@�test_incorrect_inputsz%TestCubicSpline.test_incorrect_inputs�s$���H�\�\�\�"�"���H�\�\�\�"�"��
�X�'�'�'�
(�
(��
�X�r�v�q�!�Q�'�
(�
(��
�X�l�l�l�
#�
#��
�X�r�v�q�!�Q�'�
(�
(��
�Y�Y���S���S���j�+�r�1�5�5�5��j�+�r�1�5�5�5��j�+�q�"�5�5�5��j�+�r�1�5�5�5��j�+�q�"�5�5�5��j�+�q����B�J��/?��C�C�C��j�+�r�2�6�6�6�"�"�"�� �	K�	K�G��*�k�1�a��G�T�J�J�J�J�
�E�!�Q�$�K��!���1�i�i�i�.�)���1��1�v�h�-�(���j�+�q�!�Q��T�B�B�B��j�+�q�!�Q��T�B�B�B��j�+�q�!�Q��T�B�B�B�	�j�+�q�!�Q�
�D�I�I�I�I�IrBN)rqrqrD)rrrsrt�staticmethodr~r�r�r�r�r�r�r�r�r�r rBr@rprp
s��������;G�#�9H�9H�9H��\�9H�vG�G�G�.+�+�+�
>�
>�
>�@�@�@�:�:�:�
M�
M�
M�@�@�@�"-�-�-�&J�&J�&J�&J�&JrBrpc��gd�}gd�}gd�}t|||��}t||��|d���t||d��|d���dS)N)rrr�)rrr)rrr�r�)rEr)rr)r7r9r;r8s    r@�#test_CubicHermiteSpline_correctnessr��sp���	�	�A��
�
�A��9�9�D��1�a��&�&�A��A�A�a�D�D�!�%�(�(�(�(��A�A�a��G�G�T��.�.�.�.�.�.rBc��gd�}gd�}gd�}ttt|||��ddtjg}ttt|||��dS)Nrj)rrrD)rrrrrr)r�r�rr"r�)r7r9r;�
dydx_with_nans    r@�&test_CubicHermiteSpline_error_handlingr��s^���	�	�A��	�	�A��=�=�D��*�0�!�Q��=�=�=���2�6�N�M��*�0�!�Q�
�F�F�F�F�FrBc�B�tjddg��}tjddg��}tjddg��}t|||��}|�d���}t	|jjd	d	��t	|jd
��dS)Ng����MbP?g����Mb`?g���B�ܻ>gdJ���>g���/"���g�%�"���T)r�rr)r"r�rrmrrtr,r-)r7r9�dyr�r�s     r@�test_roots_extrapolate_gh_11185r��s���
��%��� � �A�
��.�.�1�2�2�A�	��;�	�*�	+�	+�B��1�a��$�$�A�	
���D��!�!�A�����1��q�!�!�!���������rBc�t�eZdZej�dejd��ejd��g��ej�dgd���ej�dgd���ej�dee	g��d	���������Z
ej�dejd��ejd��g��ej�dgd���ej�deeg��d
�������Z
dS)�TestZeroSizeArraysr9)r�rrD)r�rDrrM)rqrsrKrLrr��clsc���tjd��}tjd��}||||���}||��jdksJ�||��j|j|jdd�zksJ�tj|d|��}|||||���}|jd|�|jfz|j|dzd�z}	||��jdksJ�||��j|	ksJ�dS)Nr�rr�rr)rMr�r"r�r-r,�moveaxis)
rqr�r9rMrr7�xval�obj�yt�shs
          r@�test_zero_sizez!TestZeroSizeArrays.test_zero_sizes��
�I�b�M�M���y��|�|���c�!�Q��(�(�(���s�4�y�y�~��"�"�"�"��s�4�y�y��$�*�q�w�q�r�r�{�":�:�:�:�:��[��A�t�
$�
$���c�!�R��t�4�4�4��
�X�e�t�e�_��	�}�
,�r�x��Q����/@�
@���s�4�y�y�~��"�"�"�"��s�4�y�y��"�$�$�$�$�$�$rBc���tjd��}tjd��}|||��}||��jdksJ�||��j|j|jdd�zksJ�tj|d|��}||||���}|jd|�|jfz|j|dzd�z}||��jdksJ�||��j|ksJ�dS)Nr�rrrrHr�)	rqr�r9rr7r�r�r�r�s	         r@�test_zero_size_2z#TestZeroSizeArrays.test_zero_size_2s��

�I�b�M�M���y��|�|���c�!�Q�i�i���s�4�y�y�~��"�"�"�"��s�4�y�y��$�*�q�w�q�r�r�{�":�:�:�:�:��[��A�t�
$�
$���c�!�R�d�#�#�#��
�X�e�t�e�_��	�}�
,�r�x��Q����/@�
@���s�4�y�y�~��"�"�"�"��s�4�y�y��"�$�$�$�$�$�$rBN)rrrsrtr��mark�parametrizer"r+rrr�rrr�r rBr@r�r��su�������[���S�8�2�8�J�#7�#7�#+�2�8�J�#7�#7�#9�:�:��[���Y�M�M�M�O�O��[���V�Y�Y�Y�/�/��[���U�%7��$E�F�F�%�%�G�F�0�/�O�O�:�:�%� �[���S�8�2�8�J�#7�#7�#+�2�8�J�#7�#7�#9�:�:��[���V�Y�Y�Y�/�/��[���U�%6�8K�$L�M�M�%�%�N�M�0�/�:�:�%�%�%rBr�)*rcrP�numpyr"�
numpy.testingrrrrrrr�r	r��scipy.interpolater
rrr
rrrrrrrrrArNrTr[r�r�r�r�r�r"rpr�r�r�r�r rBr@�<module>r�s�������	�	�	�	�����,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�+�*�*�*�*�*�
�
�
�
�����������������������������AE�1��$�$�$�$�N
%�	$�	$��G�G�G�">�>�>�/6�/6�/6�d#�#�#�C:�C:�C:�C:�C:�C:�C:�C:�L$�$�$�$�$�$�$�$�c.�c.�c.�c.�c.�c.�c.�c.�L| �| �| �| �| �| �| �| �~IJ�IJ�IJ�IJ�IJ�IJ�IJ�IJ�X/�/�/�G�G�G�
�
�
�/%�/%�/%�/%�/%�/%�/%�/%�/%�/%rB

Youez - 2016 - github.com/yon3zu
LinuXploit