MCPcopy Create free account
hub / github.com/numpy/numpy / pass7

Function pass7

numpy/fft/_pocketfft.c:660–696  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

658 }
659
660NOINLINE static void pass7(size_t ido, size_t l1, const cmplx * restrict cc,
661 cmplx * restrict ch, const cmplx * restrict wa, const int sign)
662 {
663 const size_t cdim=7;
664 const double tw1r= 0.623489801858733530525,
665 tw1i= sign * 0.7818314824680298087084,
666 tw2r= -0.222520933956314404289,
667 tw2i= sign * 0.9749279121818236070181,
668 tw3r= -0.9009688679024191262361,
669 tw3i= sign * 0.4338837391175581204758;
670
671 if (ido==1)
672 for (size_t k=0; k<l1; ++k)
673 {
674 PREP7(0)
675 PARTSTEP7a(1,6,tw1r,tw2r,tw3r,+tw1i,+tw2i,+tw3i)
676 PARTSTEP7a(2,5,tw2r,tw3r,tw1r,+tw2i,-tw3i,-tw1i)
677 PARTSTEP7a(3,4,tw3r,tw1r,tw2r,+tw3i,-tw1i,+tw2i)
678 }
679 else
680 for (size_t k=0; k<l1; ++k)
681 {
682 {
683 PREP7(0)
684 PARTSTEP7a(1,6,tw1r,tw2r,tw3r,+tw1i,+tw2i,+tw3i)
685 PARTSTEP7a(2,5,tw2r,tw3r,tw1r,+tw2i,-tw3i,-tw1i)
686 PARTSTEP7a(3,4,tw3r,tw1r,tw2r,+tw3i,-tw1i,+tw2i)
687 }
688 for (size_t i=1; i<ido; ++i)
689 {
690 PREP7(i)
691 PARTSTEP7(1,6,tw1r,tw2r,tw3r,+tw1i,+tw2i,+tw3i)
692 PARTSTEP7(2,5,tw2r,tw3r,tw1r,+tw2i,-tw3i,-tw1i)
693 PARTSTEP7(3,4,tw3r,tw1r,tw2r,+tw3i,-tw1i,+tw2i)
694 }
695 }
696 }
697
698#define PREP11(idx) \
699 cmplx t1 = CC(idx,0,k), t2, t3, t4, t5, t6, t7, t8, t9, t10, t11; \

Callers 1

pass_allFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected