📄 dpfafft.c
字号:
c9 = -P755; c10 = -P281; } for (l=0; l<m; l++) { t1r = z[j01]+z[j10]; t1i = z[j01+1]+z[j10+1]; t2r = z[j2]+z[j9]; t2i = z[j2+1]+z[j9+1]; t3r = z[j3]+z[j8]; t3i = z[j3+1]+z[j8+1]; t4r = z[j4]+z[j7]; t4i = z[j4+1]+z[j7+1]; t5r = z[j5]+z[j6]; t5i = z[j5+1]+z[j6+1]; t6r = z[j01]-z[j10]; t6i = z[j01+1]-z[j10+1]; t7r = z[j2]-z[j9]; t7i = z[j2+1]-z[j9+1]; t8r = z[j3]-z[j8]; t8i = z[j3+1]-z[j8+1]; t9r = z[j4]-z[j7]; t9i = z[j4+1]-z[j7+1]; t10r = z[j5]-z[j6]; t10i = z[j5+1]-z[j6+1]; t11r = z[j00]-0.5*t5r; t11i = z[j00+1]-0.5*t5i; t12r = t1r-t5r; t12i = t1i-t5i; t13r = t2r-t5r; t13i = t2i-t5i; t14r = t3r-t5r; t14i = t3i-t5i; t15r = t4r-t5r; t15i = t4i-t5i; y1r = t11r+c1*t12r+c2*t13r+c3*t14r+c4*t15r; y1i = t11i+c1*t12i+c2*t13i+c3*t14i+c4*t15i; y2r = t11r+c2*t12r+c4*t13r+c5*t14r+c3*t15r; y2i = t11i+c2*t12i+c4*t13i+c5*t14i+c3*t15i; y3r = t11r+c3*t12r+c5*t13r+c2*t14r+c1*t15r; y3i = t11i+c3*t12i+c5*t13i+c2*t14i+c1*t15i; y4r = t11r+c4*t12r+c3*t13r+c1*t14r+c5*t15r; y4i = t11i+c4*t12i+c3*t13i+c1*t14i+c5*t15i; y5r = t11r+c5*t12r+c1*t13r+c4*t14r+c2*t15r; y5i = t11i+c5*t12i+c1*t13i+c4*t14i+c2*t15i; y6r = c10*t6r-c6*t7r+c9*t8r-c7*t9r+c8*t10r; y6i = c10*t6i-c6*t7i+c9*t8i-c7*t9i+c8*t10i; y7r = c9*t6r-c8*t7r+c6*t8r+c10*t9r-c7*t10r; y7i = c9*t6i-c8*t7i+c6*t8i+c10*t9i-c7*t10i; y8r = c8*t6r-c10*t7r-c7*t8r+c6*t9r+c9*t10r; y8i = c8*t6i-c10*t7i-c7*t8i+c6*t9i+c9*t10i; y9r = c7*t6r+c9*t7r-c10*t8r-c8*t9r-c6*t10r; y9i = c7*t6i+c9*t7i-c10*t8i-c8*t9i-c6*t10i; y10r = c6*t6r+c7*t7r+c8*t8r+c9*t9r+c10*t10r; y10i = c6*t6i+c7*t7i+c8*t8i+c9*t9i+c10*t10i; z[j00] = z[j00]+t1r+t2r+t3r+t4r+t5r; z[j00+1] = z[j00+1]+t1i+t2i+t3i+t4i+t5i; z[j01] = y1r-y10i; z[j01+1] = y1i+y10r; z[j2] = y2r-y9i; z[j2+1] = y2i+y9r; z[j3] = y3r-y8i; z[j3+1] = y3i+y8r; z[j4] = y4r-y7i; z[j4+1] = y4i+y7r; z[j5] = y5r-y6i; z[j5+1] = y5i+y6r; z[j6] = y5r+y6i; z[j6+1] = y5i-y6r; z[j7] = y4r+y7i; z[j7+1] = y4i-y7r; z[j8] = y3r+y8i; z[j8+1] = y3i-y8r; z[j9] = y2r+y9i; z[j9+1] = y2i-y9r; z[j10] = y1r+y10i; z[j10+1] = y1i-y10r; jt = j10+2; j10 = j9+2; j9 = 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; } j11 = j10+jinc; if (j11>=jmax) j11 = j11-jmax; j12 = j11+jinc; if (j12>=jmax) j12 = j12-jmax; /* if factor is 13 */ if (ifac==13) { if (mu==1) { c1 = P885; c2 = P568; c3 = P120; c4 = -P354; c5 = -P748; c6 = -P970; c7 = P464; c8 = P822; c9 = P992; c10 = P935; c11 = P663; c12 = P239; } else if (mu==2) { c1 = P568; c2 = -P354; c3 = -P970; c4 = -P748; c5 = P120; c6 = P885; c7 = P822; c8 = P935; c9 = P239; c10 = -P663; c11 = -P992; c12 = -P464; } else if (mu==3) { c1 = P120; c2 = -P970; c3 = -P354; c4 = P885; c5 = P568; c6 = -P748; c7 = P992; c8 = P239; c9 = -P935; c10 = -P464; c11 = P822; c12 = P663; } else if (mu==4) { c1 = -P354; c2 = -P748; c3 = P885; c4 = P120; c5 = -P970; c6 = P568; c7 = P935; c8 = -P663; c9 = -P464; c10 = P992; c11 = -P239; c12 = -P822; } else if (mu==5) { c1 = -P748; c2 = P120; c3 = P568; c4 = -P970; c5 = P885; c6 = -P354; c7 = P663; c8 = -P992; c9 = P822; c10 = -P239; c11 = -P464; c12 = P935; } else if (mu==6) { c1 = -P970; c2 = P885; c3 = -P748; c4 = P568; c5 = -P354; c6 = P120; c7 = P239; c8 = -P464; c9 = P663; c10 = -P822; c11 = P935; c12 = -P992; } else if (mu==7) { c1 = -P970; c2 = P885; c3 = -P748; c4 = P568; c5 = -P354; c6 = P120; c7 = -P239; c8 = P464; c9 = -P663; c10 = P822; c11 = -P935; c12 = P992; } else if (mu==8) { c1 = -P748; c2 = P120; c3 = P568; c4 = -P970; c5 = P885; c6 = -P354; c7 = -P663; c8 = P992; c9 = -P822; c10 = P239; c11 = P464; c12 = -P935; } else if (mu==9) { c1 = -P354; c2 = -P748; c3 = P885; c4 = P120; c5 = -P970; c6 = P568; c7 = -P935; c8 = P663; c9 = P464; c10 = -P992; c11 = P239; c12 = P822; } else if (mu==10) { c1 = P120; c2 = -P970; c3 = -P354; c4 = P885; c5 = P568; c6 = -P748; c7 = -P992; c8 = -P239; c9 = P935; c10 = P464; c11 = -P822; c12 = -P663; } else if (mu==11) { c1 = P568; c2 = -P354; c3 = -P970; c4 = -P748; c5 = P120; c6 = P885; c7 = -P822; c8 = -P935; c9 = -P239; c10 = P663; c11 = P992; c12 = P464; } else { c1 = P885; c2 = P568; c3 = P120; c4 = -P354; c5 = -P748; c6 = -P970; c7 = -P464; c8 = -P822; c9 = -P992; c10 = -P935; c11 = -P663; c12 = -P239; } for (l=0; l<m; l++) { t1r = z[j01]+z[j12]; t1i = z[j01+1]+z[j12+1]; t2r = z[j2]+z[j11]; t2i = z[j2+1]+z[j11+1]; t3r = z[j3]+z[j10]; t3i = z[j3+1]+z[j10+1]; t4r = z[j4]+z[j9]; t4i = z[j4+1]+z[j9+1]; t5r = z[j5]+z[j8]; t5i = z[j5+1]+z[j8+1]; t6r = z[j6]+z[j7]; t6i = z[j6+1]+z[j7+1]; t7r = z[j01]-z[j12]; t7i = z[j01+1]-z[j12+1]; t8r = z[j2]-z[j11]; t8i = z[j2+1]-z[j11+1]; t9r = z[j3]-z[j10]; t9i = z[j3+1]-z[j10+1]; t10r = z[j4]-z[j9]; t10i = z[j4+1]-z[j9+1]; t11r = z[j5]-z[j8]; t11i = z[j5+1]-z[j8+1]; t12r = z[j6]-z[j7]; t12i = z[j6+1]-z[j7+1]; t13r = z[j00]-0.5*t6r; t13i = z[j00+1]-0.5*t6i; t14r = t1r-t6r; t14i = t1i-t6i; t15r = t2r-t6r; t15i = t2i-t6i; t16r = t3r-t6r; t16i = t3i-t6i; t17r = t4r-t6r; t17i = t4i-t6i; t18r = t5r-t6r; t18i = t5i-t6i; y1r = t13r+c1*t14r+c2*t15r+c3*t16r+c4*t17r+c5*t18r; y1i = t13i+c1*t14i+c2*t15i+c3*t16i+c4*t17i+c5*t18i; y2r = t13r+c2*t14r+c4*t15r+c6*t16r+c5*t17r+c3*t18r; y2i = t13i+c2*t14i+c4*t15i+c6*t16i+c5*t17i+c3*t18i; y3r = t13r+c3*t14r+c6*t15r+c4*t16r+c1*t17r+c2*t18r; y3i = t13i+c3*t14i+c6*t15i+c4*t16i+c1*t17i+c2*t18i; y4r = t13r+c4*t14r+c5*t15r+c1*t16r+c3*t17r+c6*t18r; y4i = t13i+c4*t14i+c5*t15i+c1*t16i+c3*t17i+c6*t18i; y5r = t13r+c5*t14r+c3*t15r+c2*t16r+c6*t17r+c1*t18r; y5i = t13i+c5*t14i+c3*t15i+c2*t16i+c6*t17i+c1*t18i; y6r = t13r+c6*t14r+c1*t15r+c5*t16r+c2*t17r+c4*t18r; y6i = t13i+c6*t14i+c1*t15i+c5*t16i+c2*t17i+c4*t18i; y7r = c12*t7r-c7*t8r+c11*t9r-c8*t10r+c10*t11r-c9*t12r; y7i = c12*t7i-c7*t8i+c11*t9i-c8*t10i+c10*t11i-c9*t12i; y8r = c11*t7r-c9*t8r+c8*t9r-c12*t10r-c7*t11r+c10*t12r; y8i = c11*t7i-c9*t8i+c8*t9i-c12*t10i-c7*t11i+c10*t12i; y9r = c10*t7r-c11*t8r-c7*t9r+c9*t10r-c12*t11r-c8*t12r; y9i = c10*t7i-c11*t8i-c7*t9i+c9*t10i-c12*t11i-c8*t12i; y10r = c9*t7r+c12*t8r-c10*t9r-c7*t10r+c8*t11r+c11*t12r; y10i = c9*t7i+c12*t8i-c10*t9i-c7*t10i+c8*t11i+c11*t12i; y11r = c8*t7r+c10*t8r+c12*t9r-c11*t10r-c9*t11r-c7*t12r; y11i = c8*t7i+c10*t8i+c12*t9i-c11*t10i-c9*t11i-c7*t12i; y12r = c7*t7r+c8*t8r+c9*t9r+c10*t10r+c11*t11r+c12*t12r; y12i = c7*t7i+c8*t8i+c9*t9i+c10*t10i+c11*t11i+c12*t12i; z[j00] = z[j00]+t1r+t2r+t3r+t4r+t5r+t6r; z[j00+1] = z[j00+1]+t1i+t2i+t3i+t4i+t5i+t6i; z[j01] = y1r-y12i; z[j01+1] = y1i+y12r; z[j2] = y2r-y11i; z[j2+1] = y2i+y11r; z[j3] = y3r-y10i; z[j3+1] = y3i+y10r; z[j4] = y4r-y9i; z[j4+1] = y4i+y9r; z[j5] = y5r-y8i; z[j5+1] = y5i+y8r; z[j6] = y6r-y7i; z[j6+1] = y6i+y7r; z[j7] = y6r+y7i; z[j7+1] = y6i-y7r; z[j8] = y5r+y8i; z[j8+1] = y5i-y8r; z[j9] = y4r+y9i; z[j9+1] = y4i-y9r; z[j10] = y3r+y10i; z[j10+1] = y3i-y10r; z[j11] = y2r+y11i; z[j11+1] = y2i-y11r; z[j12] = y1r+y12i; z[j12+1] = y1i-y12r; jt = j12+2; j12 = j11+2; j11 = j10+2; j10 = j9+2; j9 = 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; } j13 = j12+jinc; if (j13>=jmax) j13 = j13-jmax; j14 = j13+jinc; if (j14>=jmax) j14 = j14-jmax; j15 = j14+jinc; if (j15>=jmax) j15 = j15-jmax; /* if factor is 16 */ if (ifac==16) { if (mu==1) { c1 = 1.0; c2 = P923; c3 = P382; c4 = P707; } else if (mu==3) { c1 = -1.0; c2 = P382; c3 = P923; c4 = -P707; } else if (mu==5) { c1 = 1.0; c2 = -P382; c3 = P923; c4 = -P707; } else if (mu==7) { c1 = -1.0; c2 = -P923; c3 = P382; c4 = P707; } else if (mu==9) { c1 = 1.0; c2 = -P923; c3 = -P382; c4 = P707; } else if (mu==11) { c1 = -1.0; c2 = -P382; c3 = -P923; c4 = -P707; } else if (mu==13) { c1 = 1.0; c2 = P382; c3 = -P923; c4 = -P707; } else { c1 = -1.0; c2 = P923; c3 = -P382; c4 = P707; } c5 = c1*c4; c6 = c1*c3; c7 = c1*c2; for (l=0; l<m; l++) { t1r = z[j00]+z[j8]; t1i = z[j00+1]+z[j8+1]; t2r = z[j4]+z[j12]; t2i = z[j4+1]+z[j12+1]; t3r = z[j00]-z[j8]; t3i = z[j00+1]-z[j8+1]; t4r = c1*(z[j4]-z[j12]); t4i = c1*(z[j4+1]-z[j12+1]); t5r = t1r+t2r; t5i = t1i+t2i; t6r = t1r-t2r; t6i = t1i-t2i; t7r = z[j01]+z[j9]; t7i = z[j01+1]+z[j9+1]; t8r = z[j5]+z[j13]; t8i = z[j5+1]+z[j13+1]; t9r = z[j01]-z[j9]; t9i = z[j01+1]-z[j9+1]; t10r = z[j5]-z[j13]; t10i = z[j5+1]-z[j13+1]; t11r = t7r+t8r; t11i = t7i+t8i; t12r = t7r-t8r; t12i = t7i-t8i; t13r = z[j2]+z[j10]; t13i = z[j2+1]+z[j10+1]; t14r = z[j6]+z[j14]; t14i = z[j6+1]+z[j14+1]; t15r = z[j2]-z[j10]; t15i = z[j2+1]-z[j10+1]; t16r = z[j6]-z[j14]; t16i = z[j6+1]-z[j14+1]; t17r = t13r+t14r; t17i = t13i+t14i; t18r = c4*(t15r-t16r); t18i = c4*(t15i-t16i); t19r = c5*(t15r+t16r); t19i = c5*(t15i+t16i); t20r = c1*(t13r-t14r); t20i = c1*(t13i-t14i); t21r = z[j3]+z[j11]; t21i = z[j3+1]+z[j11+1]; t22r = z[j7]+z[j15]; t22i = z[j7+1]+z[j15+1]; t23r = z[j3]-z[j11]; t23i = z[j3+1]-z[j11+1]; t24r = z[j7]-z[j15]; t24i = z[j7+1]-z[j15+1]; t25r = t21r+t22r; t25i = t21i+t22i;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -