
    _Mhn                     T    d dl Zd dlmZmZmZ d dlmZ d dl	m
Z
  G d d          ZdS )    N)assert_allcloseassert_equalassert_almost_equal)raises)
procrustesc                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestProcrustesc           
         t          j        ddgddgddgddggd          | _        t          j        ddgddgddgddggd          | _        t          j        ddgddgddgdd	ggd          | _        t           j        d
z  }t          j        ddgddgddgddggd          t          j        d          z  | _        t          j        t          j        |          t          j	        |          gt          j        t           j        dz  |z
            t          j	        t           j        dz  |z
            gt          j        |           t          j	        |           gt          j        t           j        dz  |z
             t          j	        t           j        dz  |z
             ggd          t          j        d          z  | _
        dS )zcreates inputs         d   ig      @   r   N)nparraydata1data2data3pisqrtdata4cossindata5)self
shiftangles     d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/spatial/tests/test__procrustes.pysetup_methodzTestProcrustes.setup_method	   s    X1v1v1v1v>DD
 X2wB!R1b'BCHH

 X1v1v1v3x@#FF

 UQY
X1v1vAw "g'(+- -/1wqzz:
Xz 2 2BF:4F4FG!vbeai*&<==!vbeai*&<==? "z 2 22 "z 2 224 "ruqy:'= > >> "ruqy:'= > >>@A "# # &(WQZZ0


    c                 $   t          | j        | j                  \  }}}t          ||           t	          |d           t          | j        | j                  \  }}}t          || j                   t          | j        | j                  \  }}}	d S )Ng        )	r   r   r   r   r   r   r   r   r   )
r   ab	disparitym4m5disp45m1m3disp13s
             r!   test_procrusteszTestProcrustes.test_procrustes%   s     %TZ<<1i1Ir*** $DJ
;;BR$$$ $DJ
;;Br#   c                    t          | j        | j                  \  }}}t          | j        | j                  \  }}}t          ||           t	          j        g dg dg dg dg dg dg dg dg          }t	          j        g d	g d
g dg dg dg dg dg dg          }t          ||          \  }	}
}t          ||          \  }}}t          ||           d S )N)gߐ@gĈ?gYA?)gR;EQ?gzOg/߸cԿ)gwKi?gc3O?g٣ÿ)g) A	 @gJ?g:o?)gً3?gvO\?g<Р?)g}v#?gP#@g-@)gN	g;?go{1?gg=?)gW$g*?gDW?)gUϓ|6?g|_;?g\X3ƿ)g8g[g7~)gVD?s?g$SgB9?)gd?gq6ɿglx?)g#)w<?gyw<5?g;{?)gxi7?g9JNgv[Sj)gYNggj$#g^pտ)gDЍg6t(\ҿg1K[?)r   r   r   r   r   r   )r   r+   r,   r-   m3_2m1_2disp31rand1rand3res1res3res3_2res1_2s                r!   test_procrustes2zTestProcrustes.test_procrustes28   sN   #DJ
;;B'
DJ??dFFF+++ >>>???>>>======>>>======? @ @ <<<@@@>>>>>>===??????>>>@ A A (u55dF!+E5!9!9FF+++++r#   c           
          t          t          t          t          j        ddgddgg          t          j        g dg dg                     d S )Nr   r   r   r   )         )r   	   
   assert_raises
ValueErrorr   r   r   r   s    r!   test_procrustes_shape_mismatchz-TestProcrustes.test_procrustes_shape_mismatchT   sV    j*hAA/00h			:::677	9 	9 	9 	9 	9r#   c                 h    t          j        g g          }t          t          t          ||           d S )N)r   r   rA   rB   r   )r   emptys     r!   "test_procrustes_empty_rows_or_colsz1TestProcrustes.test_procrustes_empty_rows_or_colsY   s+    "j*eU;;;;;r#   c           
          t          t          t          t          j        ddgddgg          t          j        ddgddgg                     d S )N*   -   r@   rC   s    r!   test_procrustes_no_variationz+TestProcrustes.test_procrustes_no_variation]   sV    j*hR2r(344hR2r(344	6 	6 	6 	6 	6r#   c           
      0   t          t          t          t          j        g d          t          j        ddgddgg                     t          t          t          t          j        g d          t          j        g d                     t          t          t          t          j        d          t          j        d                     t          t          t          t          j        dgdggg          t          j        dd	ggg                     d S )
N)r   r   r   r   r;   r   r   r   r   r   r=      r;      r@   rC   s    r!   (test_procrustes_bad_number_of_dimensionsz7TestProcrustes.test_procrustes_bad_number_of_dimensionsb   s    j*h11122hAA/00	2 	2 	2
 	j*h11122h11122	4 	4 	4
 	j*bhqkk28B<<HHH 	j*h"s}--h!R	{++	- 	- 	- 	- 	-r#   N)
__name__
__module____qualname__r"   r.   r9   rD   rG   rK   rO    r#   r!   r	   r	      s}        0 0 08< < <&, , ,89 9 9
< < <6 6 6
- - - - -r#   r	   )numpyr   numpy.testingr   r   r   pytestr   rA   scipy.spatialr   r	   rS   r#   r!   <module>rX      s        L L L L L L L L L L * * * * * * $ $ $ $ $ $k- k- k- k- k- k- k- k- k- k-r#   