+
    0in                     N    ^ RI t^ RIHtHtHt ^ RIHt ^ RI	H
t
  ! R R4      tR# )    N)assert_allcloseassert_equalassert_almost_equal)raises)
procrustesc                   J   a  ] tR t^t o R tR tR tR tR tR t	R t
RtV tR	# )
TestProcrustesc           
     X   \         P                  ! ^^.^^.^^.^^..R4      V n        \         P                  ! ^R.^R.^R.^R..R4      V n        \         P                  ! ^^.^^.^^.^R..R4      V n        \         P
                  ^,          p\         P                  ! ^^ .^ ^.R^ .^ R..R4      \         P                  ! ^4      ,          V n        \         P                  ! \         P                  ! V4      \         P                  ! V4      .\         P                  ! \         P
                  ^,          V,
          4      \         P                  ! \         P
                  ^,          V,
          4      .\         P                  ! V4      ) \         P                  ! V4      ) .\         P                  ! \         P
                  ^,          V,
          4      ) \         P                  ! \         P
                  ^,          V,
          4      ) ..R4      \         P                  ! ^4      ,          V n
        R# )zcreates inputsdg      @Ni)nparraydata1data2data3pisqrtdata4cossindata5)self
shiftangles   & b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/spatial/tests/test__procrustes.pysetup_methodTestProcrustes.setup_method	   s    XX1v1v1v1v>D
 XX2wB!R1b'BCH

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

 UUQY
XX1v1vAw "g'(+-/1wwqz:
XXz 2BFF:4FG!vvbeeai*&<=!vvbeeai*&<=? "z 22 "z 224 "ruuqy:'= >> "ruuqy:'= >>@A "# &(WWQZ0
    c                0   \        V P                  V P                  4      w  rp\        W!4       \	        VR 4       \        V P
                  V P                  4      w  rEp\        W@P
                  4       \        V P                  V P                  4      w  rxp	R# )g        N)	r   r   r   r   r   r   r   r   r   )
r   ab	disparitym4m5disp45m1m3disp13s
   &         r   test_procrustesTestProcrustes.test_procrustes%   sn     %TZZ<iIr* $DJJ

;R$ $DJJ

;r   c                   \        V P                  V P                  4      w  rp\        V P                  V P                  4      w  rEp\        W64       \        P
                  ! . RO. RO. RO. RO. RO. RO. RO. R	O.4      p\        P
                  ! . R
O. RO. RO. RO. RO. RO. RO. RO.4      p\        Wx4      w  rp\        W4      w  rp\        W64       R# )ߐ@N)r-   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_procrustes2TestProcrustes.test_procrustes28   s    #DJJ

;'

DJJ?FF+ >?>==>==? @ <@>>=??>@ A (5F!+E!9F+r   c           
         \        \        \        \        P                  ! ^^.^^..4      \        P                  ! . RO. RO.4      4       R# )   N)         )   	   
   assert_raises
ValueErrorr   r   r   r   s   &r   test_procrustes_shape_mismatch-TestProcrustes.test_procrustes_shape_mismatchT   s8    j*hhAA/0hh	:67	9r   c                ^    \         P                  ! . .4      p\        \        \        W4       R # )N)r   r   rB   rC   r   )r   emptys   & r   "test_procrustes_empty_rows_or_cols1TestProcrustes.test_procrustes_empty_rows_or_colsY   s    "j*e;r   c           
         \        \        \        \        P                  ! ^*^*.^*^*..4      \        P                  ! ^-^-.^-^-..4      4       R# )*   NrA   rD   s   &r   test_procrustes_no_variation+TestProcrustes.test_procrustes_no_variation]   s@    j*hhR2r(34hhR2r(34	6r   c           
         \        \        \        \        P                  ! . RO4      \        P                  ! ^^.^^..4      4       \        \        \        \        P                  ! . RO4      \        P                  ! . RO4      4       \        \        \        \        P                  ! ^4      \        P                  ! ^4      4       \        \        \        \        P                  ! ^.^...4      \        P                  ! ^^...4      4       R# )r:   N)r:   r:         r;   r>   rA   rD   s   &r   (test_procrustes_bad_number_of_dimensions7TestProcrustes.test_procrustes_bad_number_of_dimensionsb   s    j*hh12hhAA/0	2
 	j*hh12hh12	4
 	j*bhhqk288B<H 	j*hh"s}-hh!R	{+	-r   )r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r*   r7   rE   rI   rM   rR   __static_attributes____classdictcell__)__classdict__s   @r   r	   r	      s-     08<&,89
<6
- -r   r	   )numpyr   numpy.testingr   r   r   pytestr   rB   scipy.spatialr   r	    r   r   <module>r`      s      L L * $k- k-r   