Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 不接收双精度值的双精度数组_C++_Debugging - Fatal编程技术网

C++ 不接收双精度值的双精度数组

C++ 不接收双精度值的双精度数组,c++,debugging,C++,Debugging,我有这段代码(我从FFT开发的),它看起来不错,根据VisualStudio。。。但是,当它到达块[a][b]必须接收该值的点时(例如,即使它不是pow(),而只是expo_final),块[a][b]的值并没有按照我的预期进行 消息来源在这里 void twiddle_factor(float *d_isub_matrix) { double block[THREAD_SIZE][THREAD_SIZE]; float *d_osub_matrix = new float[

我有这段代码(我从FFT开发的),它看起来不错,根据VisualStudio。。。但是,当它到达块[a][b]必须接收该值的点时(例如,即使它不是pow(),而只是expo_final),块[a][b]的值并没有按照我的预期进行

消息来源在这里

void twiddle_factor(float *d_isub_matrix)
{


    double block[THREAD_SIZE][THREAD_SIZE];
    float *d_osub_matrix = new float[THREAD_SIZE*THREAD_SIZE];
    int a,b,c,d,x,y,z;


    float sum_sines=0.0;
    double expo1,expo2,expo_final;
    float sum_cosines=0.0;
    float sum_sin[THREAD_SIZE][THREAD_SIZE],sum_cos[THREAD_SIZE][THREAD_SIZE];
    float angle=(2*PI)/THREAD_SIZE;

    //put into shared memory the FFT calculation (F(u))

    for(x=0;x<THREAD_SIZE;x++)
    {
        for(y=0;y<THREAD_SIZE;y++)
        {

            for(z=0;z<THREAD_SIZE;z++)
            {
                sum_sines=sum_sines+sin(d_isub_matrix[y*THREAD_SIZE+z]*(angle*(2*z)))+sin(d_isub_matrix[y*THREAD_SIZE+z]*(angle*(2*z+1)));
                sum_cosines=sum_cosines+cos(d_isub_matrix[y*THREAD_SIZE+z]*(angle*(2*z)))+cos(d_isub_matrix[y*THREAD_SIZE+z]*(angle*(2*z+1)));

            }
            sum_sin[x][y]=sum_sines/(2*THREAD_SIZE);
            sum_cos[x][y]=sum_cosines/(2*THREAD_SIZE);

        }
    }

    //getting the value!

    for(a=0;a<THREAD_SIZE;a++)
    {
        for(b=0;b<THREAD_SIZE;a++)
        {
            expo1=exp(sum_sin[a][b]);
            expo2=exp(sum_cos[a][b]);
            expo_final=expo1+expo2;
            block[a][b]=expo_final;
        }

    }
void twidle_因子(float*d_isub_矩阵)
{
双块[螺纹尺寸][螺纹尺寸];
float*d_osub_矩阵=新浮点[螺纹尺寸*螺纹尺寸];
int a,b,c,d,x,y,z;
浮动总和=0.0;
双展1、双展2、双展决赛;
浮点数和余弦=0.0;
浮动和单[线程大小][线程大小],和cos[线程大小][线程大小];
浮动角度=(2*PI)/螺纹尺寸;
//将FFT计算(F(u))放入共享内存
对于(x=0;x这是您的问题:

for(b=0;b<THREAD_SIZE;a++)
(b=0;b)的