📄 dpfafft.c
字号:
z[j00+1] = z[j00+1]+t5i; z[j01] = y1r-y4i; z[j01+1] = y1i+y4r; z[j2] = y2r-y3i; z[j2+1] = y2i+y3r; z[j3] = y2r+y3i; z[j3+1] = y2i-y3r; z[j4] = y1r+y4i; z[j4+1] = y1i-y4r; jt = j4+2; j4 = j3+2; j3 = j2+2; j2 = j01+2; j01 = j00+2; j00 = jt; } continue; } j5 = j4+jinc; if (j5>=jmax) j5 = j5-jmax; j6 = j5+jinc; if (j6>=jmax) j6 = j6-jmax; /* if factor is 7 */ if (ifac==7) { if (mu==1) { c1 = P623; c2 = -P222; c3 = -P900; c4 = P781; c5 = P974; c6 = P433; } else if (mu==2) { c1 = -P222; c2 = -P900; c3 = P623; c4 = P974; c5 = -P433; c6 = -P781; } else if (mu==3) { c1 = -P900; c2 = P623; c3 = -P222; c4 = P433; c5 = -P781; c6 = P974; } else if (mu==4) { c1 = -P900; c2 = P623; c3 = -P222; c4 = -P433; c5 = P781; c6 = -P974; } else if (mu==5) { c1 = -P222; c2 = -P900; c3 = P623; c4 = -P974; c5 = P433; c6 = P781; } else { c1 = P623; c2 = -P222; c3 = -P900; c4 = -P781; c5 = -P974; c6 = -P433; } for (l=0; l<m; l++) { t1r = z[j01]+z[j6]; t1i = z[j01+1]+z[j6+1]; t2r = z[j2]+z[j5]; t2i = z[j2+1]+z[j5+1]; t3r = z[j3]+z[j4]; t3i = z[j3+1]+z[j4+1]; t4r = z[j01]-z[j6]; t4i = z[j01+1]-z[j6+1]; t5r = z[j2]-z[j5]; t5i = z[j2+1]-z[j5+1]; t6r = z[j3]-z[j4]; t6i = z[j3+1]-z[j4+1]; t7r = z[j00]-0.5*t3r; t7i = z[j00+1]-0.5*t3i; t8r = t1r-t3r; t8i = t1i-t3i; t9r = t2r-t3r; t9i = t2i-t3i; y1r = t7r+c1*t8r+c2*t9r; y1i = t7i+c1*t8i+c2*t9i; y2r = t7r+c2*t8r+c3*t9r; y2i = t7i+c2*t8i+c3*t9i; y3r = t7r+c3*t8r+c1*t9r; y3i = t7i+c3*t8i+c1*t9i; y4r = c6*t4r-c4*t5r+c5*t6r; y4i = c6*t4i-c4*t5i+c5*t6i; y5r = c5*t4r-c6*t5r-c4*t6r; y5i = c5*t4i-c6*t5i-c4*t6i; y6r = c4*t4r+c5*t5r+c6*t6r; y6i = c4*t4i+c5*t5i+c6*t6i; z[j00] = z[j00]+t1r+t2r+t3r; z[j00+1] = z[j00+1]+t1i+t2i+t3i; z[j01] = y1r-y6i; z[j01+1] = y1i+y6r; z[j2] = y2r-y5i; z[j2+1] = y2i+y5r; z[j3] = y3r-y4i; z[j3+1] = y3i+y4r; z[j4] = y3r+y4i; z[j4+1] = y3i-y4r; z[j5] = y2r+y5i; z[j5+1] = y2i-y5r; z[j6] = y1r+y6i; z[j6+1] = y1i-y6r; jt = j6+2; j6 = j5+2; j5 = j4+2; j4 = j3+2; j3 = j2+2; j2 = j01+2; j01 = j00+2; j00 = jt; } continue; } j7 = j6+jinc; if (j7>=jmax) j7 = j7-jmax; /* if factor is 8 */ if (ifac==8) { if (mu==1) { c1 = 1.0; c2 = P707; } else if (mu==3) { c1 = -1.0; c2 = -P707; } else if (mu==5) { c1 = 1.0; c2 = -P707; } else { c1 = -1.0; c2 = P707; } c3 = c1*c2; for (l=0; l<m; l++) { t1r = z[j00]+z[j4]; t1i = z[j00+1]+z[j4+1]; t2r = z[j00]-z[j4]; t2i = z[j00+1]-z[j4+1]; t3r = z[j01]+z[j5]; t3i = z[j01+1]+z[j5+1]; t4r = z[j01]-z[j5]; t4i = z[j01+1]-z[j5+1]; t5r = z[j2]+z[j6]; t5i = z[j2+1]+z[j6+1]; t6r = c1*(z[j2]-z[j6]); t6i = c1*(z[j2+1]-z[j6+1]); t7r = z[j3]+z[j7]; t7i = z[j3+1]+z[j7+1]; t8r = z[j3]-z[j7]; t8i = z[j3+1]-z[j7+1]; t9r = t1r+t5r; t9i = t1i+t5i; t10r = t3r+t7r; t10i = t3i+t7i; t11r = c2*(t4r-t8r); t11i = c2*(t4i-t8i); t12r = c3*(t4r+t8r); t12i = c3*(t4i+t8i); y1r = t2r+t11r; y1i = t2i+t11i; y2r = t1r-t5r; y2i = t1i-t5i; y3r = t2r-t11r; y3i = t2i-t11i; y5r = t12r-t6r; y5i = t12i-t6i; y6r = c1*(t3r-t7r); y6i = c1*(t3i-t7i); y7r = t12r+t6r; y7i = t12i+t6i; z[j00] = t9r+t10r; z[j00+1] = t9i+t10i; z[j01] = y1r-y7i; z[j01+1] = y1i+y7r; z[j2] = y2r-y6i; z[j2+1] = y2i+y6r; z[j3] = y3r-y5i; z[j3+1] = y3i+y5r; z[j4] = t9r-t10r; z[j4+1] = t9i-t10i; z[j5] = y3r+y5i; z[j5+1] = y3i-y5r; z[j6] = y2r+y6i; z[j6+1] = y2i-y6r; z[j7] = y1r+y7i; z[j7+1] = y1i-y7r; jt = j7+2; j7 = j6+2; j6 = j5+2; j5 = j4+2; j4 = j3+2; j3 = j2+2; j2 = j01+2; j01 = j00+2; j00 = jt; } continue; } j8 = j7+jinc; if (j8>=jmax) j8 = j8-jmax; /* if factor is 9 */ if (ifac==9) { if (mu==1) { c1 = P866; c2 = P766; c3 = P642; c4 = P173; c5 = P984; } else if (mu==2) { c1 = -P866; c2 = P173; c3 = P984; c4 = -P939; c5 = P342; } else if (mu==4) { c1 = P866; c2 = -P939; c3 = P342; c4 = P766; c5 = -P642; } else if (mu==5) { c1 = -P866; c2 = -P939; c3 = -P342; c4 = P766; c5 = P642; } else if (mu==7) { c1 = P866; c2 = P173; c3 = -P984; c4 = -P939; c5 = -P342; } else { c1 = -P866; c2 = P766; c3 = -P642; c4 = P173; c5 = -P984; } c6 = c1*c2; c7 = c1*c3; c8 = c1*c4; c9 = c1*c5; for (l=0; l<m; l++) { t1r = z[j3]+z[j6]; t1i = z[j3+1]+z[j6+1]; t2r = z[j00]-0.5*t1r; t2i = z[j00+1]-0.5*t1i; t3r = c1*(z[j3]-z[j6]); t3i = c1*(z[j3+1]-z[j6+1]); t4r = z[j00]+t1r; t4i = z[j00+1]+t1i; t5r = z[j4]+z[j7]; t5i = z[j4+1]+z[j7+1]; t6r = z[j01]-0.5*t5r; t6i = z[j01+1]-0.5*t5i; t7r = z[j4]-z[j7]; t7i = z[j4+1]-z[j7+1]; t8r = z[j01]+t5r; t8i = z[j01+1]+t5i; t9r = z[j2]+z[j5]; t9i = z[j2+1]+z[j5+1]; t10r = z[j8]-0.5*t9r; t10i = z[j8+1]-0.5*t9i; t11r = z[j2]-z[j5]; t11i = z[j2+1]-z[j5+1]; t12r = z[j8]+t9r; t12i = z[j8+1]+t9i; t13r = t8r+t12r; t13i = t8i+t12i; t14r = t6r+t10r; t14i = t6i+t10i; t15r = t6r-t10r; t15i = t6i-t10i; t16r = t7r+t11r; t16i = t7i+t11i; t17r = t7r-t11r; t17i = t7i-t11i; t18r = c2*t14r-c7*t17r; t18i = c2*t14i-c7*t17i; t19r = c4*t14r+c9*t17r; t19i = c4*t14i+c9*t17i; t20r = c3*t15r+c6*t16r; t20i = c3*t15i+c6*t16i; t21r = c5*t15r-c8*t16r; t21i = c5*t15i-c8*t16i; t22r = t18r+t19r; t22i = t18i+t19i; t23r = t20r-t21r; t23i = t20i-t21i; y1r = t2r+t18r; y1i = t2i+t18i; y2r = t2r+t19r; y2i = t2i+t19i; y3r = t4r-0.5*t13r; y3i = t4i-0.5*t13i; y4r = t2r-t22r; y4i = t2i-t22i; y5r = t3r-t23r; y5i = t3i-t23i; y6r = c1*(t8r-t12r); y6i = c1*(t8i-t12i); y7r = t21r-t3r; y7i = t21i-t3i; y8r = t3r+t20r; y8i = t3i+t20i; z[j00] = t4r+t13r; z[j00+1] = t4i+t13i; z[j01] = y1r-y8i; z[j01+1] = y1i+y8r; z[j2] = y2r-y7i; z[j2+1] = y2i+y7r; z[j3] = y3r-y6i; z[j3+1] = y3i+y6r; z[j4] = y4r-y5i; z[j4+1] = y4i+y5r; z[j5] = y4r+y5i; z[j5+1] = y4i-y5r; z[j6] = y3r+y6i; z[j6+1] = y3i-y6r; z[j7] = y2r+y7i; z[j7+1] = y2i-y7r; z[j8] = y1r+y8i; z[j8+1] = y1i-y8r; jt = j8+2; j8 = j7+2; j7 = j6+2; j6 = j5+2; j5 = j4+2; j4 = j3+2; j3 = j2+2; j2 = j01+2; j01 = j00+2; j00 = jt; } continue; } j9 = j8+jinc; if (j9>=jmax) j9 = j9-jmax; j10 = j9+jinc; if (j10>=jmax) j10 = j10-jmax; /* if factor is 11 */ if (ifac==11) { if (mu==1) { c1 = P841; c2 = P415; c3 = -P142; c4 = -P654; c5 = -P959; c6 = P540; c7 = P909; c8 = P989; c9 = P755; c10 = P281; } else if (mu==2) { c1 = P415; c2 = -P654; c3 = -P959; c4 = -P142; c5 = P841; c6 = P909; c7 = P755; c8 = -P281; c9 = -P989; c10 = -P540; } else if (mu==3) { c1 = -P142; c2 = -P959; c3 = P415; c4 = P841; c5 = -P654; c6 = P989; c7 = -P281; c8 = -P909; c9 = P540; c10 = P755; } else if (mu==4) { c1 = -P654; c2 = -P142; c3 = P841; c4 = -P959; c5 = P415; c6 = P755; c7 = -P989; c8 = P540; c9 = P281; c10 = -P909; } else if (mu==5) { c1 = -P959; c2 = P841; c3 = -P654; c4 = P415; c5 = -P142; c6 = P281; c7 = -P540; c8 = P755; c9 = -P909; c10 = P989; } else if (mu==6) { c1 = -P959; c2 = P841; c3 = -P654; c4 = P415; c5 = -P142; c6 = -P281; c7 = P540; c8 = -P755; c9 = P909; c10 = -P989; } else if (mu==7) { c1 = -P654; c2 = -P142; c3 = P841; c4 = -P959; c5 = P415; c6 = -P755; c7 = P989; c8 = -P540; c9 = -P281; c10 = P909; } else if (mu==8) { c1 = -P142; c2 = -P959; c3 = P415; c4 = P841; c5 = -P654; c6 = -P989; c7 = P281; c8 = P909; c9 = -P540; c10 = -P755; } else if (mu==9) { c1 = P415; c2 = -P654; c3 = -P959; c4 = -P142; c5 = P841; c6 = -P909; c7 = -P755; c8 = P281; c9 = P989; c10 = P540; } else { c1 = P841; c2 = P415; c3 = -P142; c4 = -P654; c5 = -P959; c6 = -P540; c7 = -P909; c8 = -P989;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -