| 1194 | } |
| 1195 | |
| 1196 | NOINLINE 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 |