
    Ui                         d dl Zd dlZd dlmZ d dlmZ  G d d          Zej	        
                    d          d             ZdS )    N)assert_allclosec                       e Zd Zej        j        d             Zej                            dg d          ej                            dg d          d                         ZdS )TestSphHarmc                    d}d}t          j        dt           j                  }t          j        ddt           j        z            }t          j        ||          \  }}t	          j        ||||d          \  }}}t	          j        |||d          \  }}	}
t          j        t          j        |dz             t          j        | d          g          }t          j	        |dt          t          d|j        dz                       z             }t          ||t          j        d	|z  |z            z             t          |d
         |	t          j        d	|z  |z            z             t          |d         d	|z  |z  t          j        d	|z  |z            z             t          |d         |
t          j        d	|z  |z            z             t          |d         d	|z  |	z  t          j        d	|z  |z            z             t          |d         |d                    t          |d         | |z  |z  t          j        d	|z  |z            z             d S )N   
   r      )diff_n   r   axis              ?).r   ).r   ).r   r   ).r   r   ).r   r   ).r   r   )nplinspacepimeshgridscsph_harm_y_allsph_legendre_p_allconcatenatearangeexpand_dimstuplerangendimr   exp)selfm_maxn_maxthetaphiyy_jacy_hesspp_jacp_hessms               y/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/scipy/special/tests/test_sph_harm.pytest_pzTestSphHarm.test_p   s)   Aru%%k!QruW%%[,,
s,UE5#aPPP5&0uQOOO5&NBIeai00")UFA2F2FGHHN14eAejl.C.C(D(D#DEEE1rvb1fsl333444furvb1fsl/C/C'CDDDfrAvzBF26C<4H4H'HIIIy)6BF26C<4H4H+HIIIy)26E>BF26C<<P<P+PQQQy)6)+<===y)A26A:rAv|8L8L+LMMMMM    r    )   r   2   r   )r         	      c                    t          j        dt           j                  }t          j        ddt           j        z            }t          j        |dz             }t          j        |t          t          d|j        dz                                 }t          j        t          j        |dz             t          j        | d          g          }t          j        |dt          t          d|j        dz                       z             }t          j
        ||||          }t          j        ||||          }t           j                            ||d           d S )Nr   r	   r   r   r   gh㈵>)rtol)r   r   r   r   r   r   r   r   r   r   r   
sph_harm_ytestingr   )	r   r    r   r!   r"   nr)   y_actual	y_desireds	            r*   test_allzTestSphHarm.test_all!   s    Aru%%k!QY''Ieai  N15qA)>)>#?#?@@@NBIeai00")UFA2F2FGHHN14eAejl.C.C(D(D#DEEE$UE5#>>M!Qs33	

""8YU"CCCCCr,   N)	__name__
__module____qualname__pytestmarkslowr+   parametrizer:    r,   r*   r   r      s        [N N N0 [Wkkk22[W&6&6&677D D 87 32D D Dr,   r   zignore::DeprecationWarningc                     d } d }d }d }| |||g}g d}g d}t          j        ddt           j        z            }t          j        dt           j                  }t          j        ||          \  }}t	          |||          D ]@\  }	}}t          t          j        ||||           |	||          d	d	d
| d| d           Ad S )Nc                 J    dt          j        dt           j        z            z  S )N      ?r   )r   sqrtr   r!   r"   s     r*   Y00z!test_first_harmonics.<locals>.Y00=   s    271RU7####r,   c                     dt          j        ddt           j        z  z            z  t          j        d| z            z  t          j        |          z  S )NrE      r	   y             r   rF   r   r   sinrG   s     r*   Yn11z"test_first_harmonics.<locals>.Yn11@   sA    271ag;'''s5y(9(99"&++EEr,   c                 t    dt          j        dt           j        z            z  t          j        |          z  S )NrE   rJ   )r   rF   r   cosrG   s     r*   Y01z!test_first_harmonics.<locals>.Y01C   s*    271RU7###BF3KK//r,   c                     dt          j        ddt           j        z  z            z  t          j        d| z            z  t          j        |          z  S )Ng      rJ   r	   r   rK   rG   s     r*   Y11z!test_first_harmonics.<locals>.Y11F   sA    BGAqwK(((5)9)99"&++EEr,   )r   r   r   )r   r   r   r   r   r	   gV瞯<zY^_z
 incorrect)r4   atolerr_msg)r   r   r   r   zipr   r   sph_harm)
rH   rM   rP   rR   harmsr)   r7   r!   r"   harms
             r*   test_first_harmonicsr[   2   s(   $ $ $F F F0 0 0F F F $S!EAAK1RU7##E
+a

CUC((JE3%A&& 8 8
aAq%55UC((" 6Q 6 6 6 6 6	8 	8 	8 	8 	88 8r,   )numpyr   r>   numpy.testingr   scipy.specialspecialr   r   r?   filterwarningsr[   rB   r,   r*   <module>ra      s         ) ) ) ) ) )      )D )D )D )D )D )D )D )DV 899"8 "8 :9"8 "8 "8r,   