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

Function radb5

numpy/fft/_pocketfft.c:1502–1552  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1500 }
1501
1502NOINLINE static void radb5(size_t ido, size_t l1, const double * restrict cc,
1503 double * restrict ch, const double * restrict wa)
1504 {
1505 const size_t cdim=5;
1506 static const double tr11= 0.3090169943749474241, ti11=0.95105651629515357212,
1507 tr12=-0.8090169943749474241, ti12=0.58778525229247312917;
1508
1509 for (size_t k=0; k<l1; k++)
1510 {
1511 double ti5=CC(0,2,k)+CC(0,2,k);
1512 double ti4=CC(0,4,k)+CC(0,4,k);
1513 double tr2=CC(ido-1,1,k)+CC(ido-1,1,k);
1514 double tr3=CC(ido-1,3,k)+CC(ido-1,3,k);
1515 CH(0,k,0)=CC(0,0,k)+tr2+tr3;
1516 double cr2=CC(0,0,k)+tr11*tr2+tr12*tr3;
1517 double cr3=CC(0,0,k)+tr12*tr2+tr11*tr3;
1518 double ci4, ci5;
1519 MULPM(ci5,ci4,ti5,ti4,ti11,ti12)
1520 PM(CH(0,k,4),CH(0,k,1),cr2,ci5)
1521 PM(CH(0,k,3),CH(0,k,2),cr3,ci4)
1522 }
1523 if (ido==1) return;
1524 for (size_t k=0; k<l1;++k)
1525 for (size_t i=2; i<ido; i+=2)
1526 {
1527 size_t ic=ido-i;
1528 double tr2, tr3, tr4, tr5, ti2, ti3, ti4, ti5;
1529 PM(tr2,tr5,CC(i-1,2,k),CC(ic-1,1,k))
1530 PM(ti5,ti2,CC(i ,2,k),CC(ic ,1,k))
1531 PM(tr3,tr4,CC(i-1,4,k),CC(ic-1,3,k))
1532 PM(ti4,ti3,CC(i ,4,k),CC(ic ,3,k))
1533 CH(i-1,k,0)=CC(i-1,0,k)+tr2+tr3;
1534 CH(i ,k,0)=CC(i ,0,k)+ti2+ti3;
1535 double cr2=CC(i-1,0,k)+tr11*tr2+tr12*tr3;
1536 double ci2=CC(i ,0,k)+tr11*ti2+tr12*ti3;
1537 double cr3=CC(i-1,0,k)+tr12*tr2+tr11*tr3;
1538 double ci3=CC(i ,0,k)+tr12*ti2+tr11*ti3;
1539 double ci4, ci5, cr5, cr4;
1540 MULPM(cr5,cr4,tr5,tr4,ti11,ti12)
1541 MULPM(ci5,ci4,ti5,ti4,ti11,ti12)
1542 double dr2, dr3, dr4, dr5, di2, di3, di4, di5;
1543 PM(dr4,dr3,cr3,ci4)
1544 PM(di3,di4,ci3,cr4)
1545 PM(dr5,dr2,cr2,ci5)
1546 PM(di2,di5,ci2,cr5)
1547 MULPM(CH(i,k,1),CH(i-1,k,1),WA(0,i-2),WA(0,i-1),di2,dr2)
1548 MULPM(CH(i,k,2),CH(i-1,k,2),WA(1,i-2),WA(1,i-1),di3,dr3)
1549 MULPM(CH(i,k,3),CH(i-1,k,3),WA(2,i-2),WA(2,i-1),di4,dr4)
1550 MULPM(CH(i,k,4),CH(i-1,k,4),WA(3,i-2),WA(3,i-1),di5,dr5)
1551 }
1552 }
1553
1554#undef CC
1555#undef CH

Callers 1

rfftp_backwardFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected