本文主要是介绍CurvletLab2.1.2在ubuntu18下计算异常及解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CurvletLab2.1.2在ubuntu18下计算异常及解决方法
1、问题描述
计算程序(A) 调用了CurveletLab2.1.2库(B)的fdct_wrapping 及ifdct_wrapping两个函数,B调用了fftw-2.1.5库(C)。
同样的源码在win10-eclipse-cpp -cygwin下运行正常,转到ubuntu下输出数据异常。
2、解决办法
修改B的源码
更改fdct_wrapping_inc.hpp:
-- typedef std::complex<double> cpx;
++ typedef std::complex<float> cpx;
更改fdct_wrapping.cpp (修改位置,可通过编译报告信息来确定):
for(int j=-XF2n; j<-XF2n+XS2n; j++)
for(int i=-XF1n; i<-XF1n+XS1n; i++)
-- Xlow(i,j) = X(i,j) * lowpass(i,j);
++Xlow(i,j) = X(i,j) * (float)lowpass(i,j);
这篇关于CurvletLab2.1.2在ubuntu18下计算异常及解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!