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

Function radf5

numpy/fft/_pocketfft.c:1196–1242  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1194 }
1195
1196NOINLINE static void radf5(size_t ido, size_t l1, const double * restrict cc,
1197 double * restrict ch, const double * restrict wa)
1198 {
1199 const size_t cdim=5;
1200 static const double tr11= 0.3090169943749474241, ti11=0.95105651629515357212,
1201 tr12=-0.8090169943749474241, ti12=0.58778525229247312917;
1202
1203 for (size_t k=0; k<l1; k++)
1204 {
1205 double cr2, cr3, ci4, ci5;
1206 PM (cr2,ci5,CC(0,k,4),CC(0,k,1))
1207 PM (cr3,ci4,CC(0,k,3),CC(0,k,2))
1208 CH(0,0,k)=CC(0,k,0)+cr2+cr3;
1209 CH(ido-1,1,k)=CC(0,k,0)+tr11*cr2+tr12*cr3;
1210 CH(0,2,k)=ti11*ci5+ti12*ci4;
1211 CH(ido-1,3,k)=CC(0,k,0)+tr12*cr2+tr11*cr3;
1212 CH(0,4,k)=ti12*ci5-ti11*ci4;
1213 }
1214 if (ido==1) return;
1215 for (size_t k=0; k<l1;++k)
1216 for (size_t i=2; i<ido; i+=2)
1217 {
1218 double ci2, di2, ci4, ci5, di3, di4, di5, ci3, cr2, cr3, dr2, dr3,
1219 dr4, dr5, cr5, cr4, ti2, ti3, ti5, ti4, tr2, tr3, tr4, tr5;
1220 size_t ic=ido-i;
1221 MULPM (dr2,di2,WA(0,i-2),WA(0,i-1),CC(i-1,k,1),CC(i,k,1))
1222 MULPM (dr3,di3,WA(1,i-2),WA(1,i-1),CC(i-1,k,2),CC(i,k,2))
1223 MULPM (dr4,di4,WA(2,i-2),WA(2,i-1),CC(i-1,k,3),CC(i,k,3))
1224 MULPM (dr5,di5,WA(3,i-2),WA(3,i-1),CC(i-1,k,4),CC(i,k,4))
1225 PM(cr2,ci5,dr5,dr2)
1226 PM(ci2,cr5,di2,di5)
1227 PM(cr3,ci4,dr4,dr3)
1228 PM(ci3,cr4,di3,di4)
1229 CH(i-1,0,k)=CC(i-1,k,0)+cr2+cr3;
1230 CH(i ,0,k)=CC(i ,k,0)+ci2+ci3;
1231 tr2=CC(i-1,k,0)+tr11*cr2+tr12*cr3;
1232 ti2=CC(i ,k,0)+tr11*ci2+tr12*ci3;
1233 tr3=CC(i-1,k,0)+tr12*cr2+tr11*cr3;
1234 ti3=CC(i ,k,0)+tr12*ci2+tr11*ci3;
1235 MULPM(tr5,tr4,cr5,cr4,ti11,ti12)
1236 MULPM(ti5,ti4,ci5,ci4,ti11,ti12)
1237 PM(CH(i-1,2,k),CH(ic-1,1,k),tr2,tr5)
1238 PM(CH(i ,2,k),CH(ic ,1,k),ti5,ti2)
1239 PM(CH(i-1,4,k),CH(ic-1,3,k),tr3,tr4)
1240 PM(CH(i ,4,k),CH(ic ,3,k),ti4,ti3)
1241 }
1242 }
1243
1244#undef CC
1245#undef CH

Callers 1

rfftp_forwardFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected