L inLddlZddlmZmZmZddlmZddl m Z GddZ y)N)assert_allclose assert_equalassert_almost_equal)raises) procrustesc6eZdZdZdZdZdZdZdZdZ y) TestProcrustesc tjddgddgddgddggd|_tjddgddgddgddggd|_tjddgddgddgdd ggd|_tj d z }tjdd gd dgd d gd d ggdtj dz |_tjtj|tj|gtjtj dz |z tjtj dz |z gtj| tj| gtjtj dz |z  tjtj dz |z  ggdtj dz |_ y )zcreates inputsdig@rN) nparraydata1data2data3pisqrtdata4cossindata5)self shiftangles j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/spatial/tests/test__procrustes.py setup_methodzTestProcrustes.setup_method sXX1v1v1v1v>D XX2wB!R1b'BCH XX1v1v1v3x@#F UUQY XX1v1vAw "g'(+-/1wwqz: XXz 2BFF:4FG!vvbeeai*&<=!vvbeeai*&<=? "z 22 "z 224 "ruuqy:'= >> "ruuqy:'= >>@ A"#&(WWQZ0 c8t|j|j\}}}t||t |dt|j |j \}}}t||j t|j|j\}}} y)Ng) rrrrrrrrr) rab disparitym4m5disp45m1m3disp13s r!test_procrusteszTestProcrustes.test_procrustes%sx%TZZ<1i1Ir*$DJJ ;BR$$DJJ ;Br#c t|j|j\}}}t|j|j\}}}t||t j gdgdgdgdgdgdgdgdg}t j gd gd gd gd gd gdgdgdg}t||\} } }t||\} } }t||y)N)gߐ@gĈ?gYA?)gR;EQ?gzOg/߸ cԿ)gwKi?gc3O?g ٣ÿ)g)A @gJ ?g:o?)gً 3?gvO\?g<Р?)g}v#?gP#@g-@)gN g;?go{1?gg=?)gW$g*?gDW?)gUϓ|6?g|_;?g\X3ƿ)g8g[g7~)gVD?s?g $SgB9?)g d?g q6ɿglx?)g#)w?>==>==?@<@>>=??>@A(u5dF!+E5!9FF+r#c ttttjddgddggtjgdgdgy)Nr r r r))r  assert_raises ValueErrorrrrrs r!test_procrustes_shape_mismatchz-TestProcrustes.test_procrustes_shape_mismatchTs8j*hhAA/0hh :67 9r#c\tjgg}ttt||y)N)rrrArBr)remptys r!"test_procrustes_empty_rows_or_colsz1TestProcrustes.test_procrustes_empty_rows_or_colsYs"j*eU;r#c ttttjddgddggtjddgddggy)N*-r@rCs r!test_procrustes_no_variationz+TestProcrustes.test_procrustes_no_variation]s@j*hhR2r(34hhR2r(34 6r#c ttttjgdtjddgddggttttjgdtjgdttttjdtjdttttjdgdgggtjdd gggy) N)r r r r r;rr r r rr= r; r@rCs r!(test_procrustes_bad_number_of_dimensionsz7TestProcrustes.test_procrustes_bad_number_of_dimensionsbsj*hh12hhAA/0 2 j*hh12hh12 4 j*bhhqk288B<H j*hh"s }-hh!R {+ -r#N) __name__ __module__ __qualname__r"r.r9rDrGrKrOr#r!r r s%08<&,89 <6 -r#r ) numpyr numpy.testingrrrpytestrrA scipy.spatialrr rSr#r!rXs LL*$k-k-r#