
    qKg                     b    d Z ddlZddlmc mZ ddlmZm	Z	m
Z
mZ  G d d      Z G d d      Zy)zTests for polyutils module.

    N)assert_almost_equalassert_raisesassert_equalassert_c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestMiscc                 |    dg}t        d      D ]+  }t        j                  dgdg|z  z         }t        ||       - y )N      r   )rangeputrimseqr   )selftgtnum_trailing_zerosress       i/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numpy/polynomial/tests/test_polyutils.pytest_trimseqzTestMisc.test_trimseq   s?    c"'(**aSA3);#;;<Cc" #+    c                     g t        j                  g t         j                        fD ]!  }t        t	        j
                  |      |       # y )N)dtype)nparrayint32r   r   r   )r   	empty_seqs     r   test_trimseq_empty_inputz!TestMisc.test_trimseq_empty_input   s3    bhhr:;II.	: <r   c                 x   t        t        t        j                  g g       t        t        t        j                  ddggg       t        t        t        j                  dgdgg       g d}t	        t        |            D ]  }t	        |      D ]  }t        j                  d||         }t        j                  d||         }t        j                  ||g      \  }}t        |j                  j                  |j                  j                  k(         t        |j                  j                  ||   k(           y )Nr
      a)idO)r   
ValueErrorr   	as_seriesr   lenr   onesr   r   char)r   typesr    jcicjresiresjs           r   test_as_serieszTestMisc.test_as_series   s    j",,5j",,1a&
;j",,!se=s5z"A1XWWQa)WWQa)!||RH5t

4::??:;

5834  #r   c                    g d}t        t        t        j                  |d       t	        t        j                  |      |d d        t	        t        j                  |d      |d d        t	        t        j                  |d      dg       y )N)r   r
   r   r0   r
   r   r   )r   r#   r   trimcoefr   )r   coefs     r   test_trimcoefzTestMisc.test_trimcoef&   sd    j"++tR8R[[&Sb	2R[[q)495R[[q)A3/r   c                     t        t        t        j                  dddg       t        t        t        j                  dddg       t        t        t        j                  ddg        y )N r
   r      Z   gV@)r   r#   r   
_vander_ndr   s    r   test_vander_nd_exceptionz!TestMisc.test_vander_nd_exception/   sB    j"--YEj"--R%Aj"--R<r   c                 d    t        t        t        j                  t        j                  ddg       y )Nr7   r   )r   ZeroDivisionErrorr   _divr;   s    r   test_div_zerodivzTestMisc.test_div_zerodiv7   s    '"''9qcJr   c                 L    t        t        t        j                  dg ddd       y )Nr6   r7   r      )r   r#   r   _powr;   s    r   test_pow_too_largezTestMisc.test_pow_too_large;   s    j"''2y!Q?r   N)
__name__
__module____qualname__r   r   r.   r4   r<   r@   rD   r6   r   r   r   r      s'    #;50=K@r   r   c                       e Zd Zd Zd Zd Zy)
TestDomainc                     g d}ddg}t        j                  |      }t        ||       g d}ddg}t        j                  |      }t        ||       y )N)r
   
   r8   r0   r0   rK   )y      ?      ?      ?      r   r   y                    @      ?)r   	getdomainr   )r   xr   r   s       r   test_getdomainzTestDomain.test_getdomainA   sN    2hll1oC% #Fmll1oC%r   c                 T   ddg}ddg}|}t        j                  |||      }t        ||       ddg}ddg}|}|}t        j                  |||      }t        ||       ddg}ddg}t        j                  ||g      }t        j                  ||g      }t        j                  |||      }t        ||        G d	 d
t        j
                        }ddg}ddg}t        j                  ||g      j                  |      }t        j                  |||      }t        t        ||             y )Nr   rB   r
   r8                 rM   r   c                       e Zd Zy),TestDomain.test_mapdomain.<locals>.MyNDArrayN)rE   rF   rG   r6   r   r   	MyNDArrayrU   g   s    r   rV   )	r   	mapdomainr   r   r   ndarrayviewr   
isinstance)r   dom1dom2r   r   rO   rV   s          r   test_mapdomainzTestDomain.test_mapdomainN   s&   1v1vll4t,C% Awll1dD)C% 1v1vhhd|$HHdD\"ll1dD)C%	

 	 1v1vHHdD\"''	2ll1dD)
3	*+r   c                     ddg}ddg}ddg}t        j                  ||      }t        ||       ddg}dd	g}d
dg}t        j                  ||      }t        ||       y )Nr   rB   r
   r8   g      ?rR   rM   rS   r   y            ?rL   )r   mapparmsr   )r   r[   r\   r   r   s        r   test_mapparmszTestDomain.test_mapparmsp   sp    1v1v"gll4&C% Awkk$%C%r   N)rE   rF   rG   rP   r]   r`   r6   r   r   rI   rI   ?   s    & ,D&r   rI   )__doc__numpyr   numpy.polynomial.polyutils
polynomial	polyutilsr   numpy.testingr   r   r   r   r   rI   r6   r   r   <module>rg      s6     ' ' 
2@ 2@h>& >&r   