📄 convolution.c
字号:
x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z[i+1] = z1; z[i] = z0; } } else if (lx==25) { x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; x24 = x[ifx+24]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z1 += x24*ya; yb = y[i-ifx-24]; z0 += x24*yb; z[i+1] = z1; z[i] = z0; } } else if (lx==26) { x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; x24 = x[ifx+24]; x25 = x[ifx+25]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z1 += x24*ya; yb = y[i-ifx-24]; z0 += x24*yb; z1 += x25*yb; ya = y[i-ifx-25]; z0 += x25*ya; z[i+1] = z1; z[i] = z0; } } else if (lx==27) { x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; x24 = x[ifx+24]; x25 = x[ifx+25]; x26 = x[ifx+26]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z1 += x24*ya; yb = y[i-ifx-24]; z0 += x24*yb; z1 += x25*yb; ya = y[i-ifx-25]; z0 += x25*ya; z1 += x26*ya; yb = y[i-ifx-26]; z0 += x26*yb; z[i+1] = z1; z[i] = z0; } } else if (lx==28) { x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; x24 = x[ifx+24]; x25 = x[ifx+25]; x26 = x[ifx+26]; x27 = x[ifx+27]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z1 += x24*ya; yb = y[i-ifx-24]; z0 += x24*yb; z1 += x25*yb; ya = y[i-ifx-25]; z0 += x25*ya; z1 += x26*ya; yb = y[i-ifx-26]; z0 += x26*yb; z1 += x27*yb; ya = y[i-ifx-27]; z0 += x27*ya; z[i+1] = z1; z[i] = z0; } } else if (lx==29) { x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; x24 = x[ifx+24]; x25 = x[ifx+25]; x26 = x[ifx+26]; x27 = x[ifx+27]; x28 = x[ifx+28]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z1 += x24*ya; yb = y[i-ifx-24]; z0 += x24*yb; z1 += x25*yb; ya = y[i-ifx-25]; z0 += x25*ya; z1 += x26*ya; yb = y[i-ifx-26]; z0 += x26*yb; z1 += x27*yb; ya = y[i-ifx-27]; z0 += x27*ya; z1 += x28*ya; yb = y[i-ifx-28]; z0 += x28*yb; z[i+1] = z1; z[i] = z0; } } else if (lx==30) { x0 = x[ifx]; x1 = x[ifx+1]; x2 = x[ifx+2]; x3 = x[ifx+3]; x4 = x[ifx+4]; x5 = x[ifx+5]; x6 = x[ifx+6]; x7 = x[ifx+7]; x8 = x[ifx+8]; x9 = x[ifx+9]; x10 = x[ifx+10]; x11 = x[ifx+11]; x12 = x[ifx+12]; x13 = x[ifx+13]; x14 = x[ifx+14]; x15 = x[ifx+15]; x16 = x[ifx+16]; x17 = x[ifx+17]; x18 = x[ifx+18]; x19 = x[ifx+19]; x20 = x[ifx+20]; x21 = x[ifx+21]; x22 = x[ifx+22]; x23 = x[ifx+23]; x24 = x[ifx+24]; x25 = x[ifx+25]; x26 = x[ifx+26]; x27 = x[ifx+27]; x28 = x[ifx+28]; x29 = x[ifx+29]; for (i=ilow; i<=ihigh-1; i+=2) { ya = y[i+1-ifx]; z1 = x0*ya; yb = y[i-ifx]; z0 = x0*yb; z1 += x1*yb; ya = y[i-ifx-1]; z0 += x1*ya; z1 += x2*ya; yb = y[i-ifx-2]; z0 += x2*yb; z1 += x3*yb; ya = y[i-ifx-3]; z0 += x3*ya; z1 += x4*ya; yb = y[i-ifx-4]; z0 += x4*yb; z1 += x5*yb; ya = y[i-ifx-5]; z0 += x5*ya; z1 += x6*ya; yb = y[i-ifx-6]; z0 += x6*yb; z1 += x7*yb; ya = y[i-ifx-7]; z0 += x7*ya; z1 += x8*ya; yb = y[i-ifx-8]; z0 += x8*yb; z1 += x9*yb; ya = y[i-ifx-9]; z0 += x9*ya; z1 += x10*ya; yb = y[i-ifx-10]; z0 += x10*yb; z1 += x11*yb; ya = y[i-ifx-11]; z0 += x11*ya; z1 += x12*ya; yb = y[i-ifx-12]; z0 += x12*yb; z1 += x13*yb; ya = y[i-ifx-13]; z0 += x13*ya; z1 += x14*ya; yb = y[i-ifx-14]; z0 += x14*yb; z1 += x15*yb; ya = y[i-ifx-15]; z0 += x15*ya; z1 += x16*ya; yb = y[i-ifx-16]; z0 += x16*yb; z1 += x17*yb; ya = y[i-ifx-17]; z0 += x17*ya; z1 += x18*ya; yb = y[i-ifx-18]; z0 += x18*yb; z1 += x19*yb; ya = y[i-ifx-19]; z0 += x19*ya; z1 += x20*ya; yb = y[i-ifx-20]; z0 += x20*yb; z1 += x21*yb; ya = y[i-ifx-21]; z0 += x21*ya; z1 += x22*ya; yb = y[i-ifx-22]; z0 += x22*yb; z1 += x23*yb; ya = y[i-ifx-23]; z0 += x23*ya; z1 += x24*ya; yb = y[i-ifx-24]; z0 += x24*yb; z1 += x25*yb; ya = y[i-ifx-25]; z0 += x25*ya; z1 += x26*ya; yb = y[i-ifx-26]; z0 += x26*yb; z1 += x27*yb; ya = y[i-ifx-27]; z0 += x27*ya; z1 += x28*ya; yb = y[i-ifx-28]; z0 += x28*yb; z1 += x29*yb; ya = y[i-ifx-29]; z0 += x29*ya; z[i+1] = z1; z[i] = z0; } } if (ihigh>=ilow && (ihigh-ilow)%2==0) { ilow = ihigh; jlow = ifx; jhigh = ilx; for (i=ilow; i<=ihigh; ++i) { for (j=jlow,sum=0.0; j<=jhigh; ++j) sum += x[j]*y[i-j]; z[i] = sum; } } /* ROLLING OFF: ily+ifx < i <= ily+ilx */ ilow = ily+ifx+1; if (ilow<ifz) ilow = ifz; ihigh = ily+ilx; if (ihigh>ilz) ihigh = ilz; jlow = ilow-ily; jhigh = ilx; for (i=ilow; i<=ihigh; ++i,++jlow) { for (j=jlow,sum=0.0; j<=jhigh; ++j) sum += x[j]*y[i-j]; z[i] = sum; } /* OFF RIGHT: ily+ilx < i */ ilow = ily+ilx+1; if (ilow<ifz) ilow = ifz; ihigh = ilz; for (i=ilow; i<=ihigh; ++i) z[i] = 0.0;}#endif#ifdef TESTstatic void conv1 (int lx, int ifx, float *x, int ly, int ify, float *y, int lz, int ifz, float *z){ int ilx=ifx+lx-1,ily=ify+ly-1,ilz=ifz+lz-1,i,j,jlow,jhigh; float sum; x -= ifx; y -= ify; z -= ifz; for (i=ifz; i<=ilz; ++i) { jlow = i-ily; if (jlow<ifx) jlow = ifx; jhigh = i-ify; if (jhigh>ilx) jhigh = ilx; for (j=jlow,sum=0.0; j<=jhigh; ++j) sum += x[j]*y[i-j]; z[i] = sum; }}#include "cwp.h"main(){ int lx,ly,lz,ifx,ify,ifz,i; float *x,*y,*z,*z1; /* loop over tests */ while(1) { /* make parameters */ lx = 1+100*franuni(); ly = 1+100*franuni(); lz = 1+100*franuni(); ifx = -100+200*franuni(); ify = -100+200*franuni(); ifz = -100+200*franuni(); /* allocate space */ x = alloc1float(lx); y = alloc1float(ly); z = alloc1float(lz); z1 = alloc1float(lz); /* fill x and y arrays */ for (i=0; i<lx; i++) x[i] = i+1; for (i=0; i<ly; i++) y[i] = i+1; /* convolve and check */ conv1(lx,ifx,x,ly,ify,y,lz,ifz,z1); conv(lx,ifx,x,ly,ify,y,lz,ifz,z); for (i=0; i<lz; ++i) if (z[i]!=z1[i]) break; if (i<lz) { printf("%10d %10d %10d %10d %10d %10d\n", lx,ifx,ly,ify,lz,ifz); printf("z1[%d]=%g != z[%d]=%g\n", i+ifz,z1[i],i+ifz,z[i]); pp1d(stdout,"simple",lz,ifz,z1); pp1d(stdout,"optimized",lz,ifz,z); exit(-1); } /* free space */ free1float(x); free1float(y); free1float(z); free1float(z1); }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -