我正在尝试将VB6脚本转换为C ++脚本。新脚本的输出与旧脚本不同。但经过大量的测试,我开始怀疑结果是否相等。
旧的VB脚本以一个双精度数组开始,然后调用一个函数,其中数组通过引用传递。此函数的标头具有variant-type数组而不是double-type。我在输入方法之前测试了数据,到那时输入是相等的。然后,此方法使用这些数组中的数据进行一些计算,输出不再相同。如果我在输入方法后立即写出数据,我已经在旧脚本中看到了其他数据。
在我的新脚本中,我进行相同的计算,但输入方法后的输入仍然与传递给方法的输入相同。
现在我的问题是,如果我100%确定计算是正确的,那么输出可能是相等的。那么它们只是以另一种格式呈现?
提前致谢,以及我的写作技巧的借口。我的母语是荷兰语,因此......
Newscript:
double * reeel = new double[NFFT]; //Declaration
double * imag = new double[NFFT];
FastDiscreteFourier::forwardTransForm(reeel,imag,NFFT); //Method call
void forwardTransForm(double * reeel, double * imag, int size); //Header
Oldscript:
ReDim real(NFFT - 1) As Double, imag(NFFT - 1) As Double //Declaration
FourierTransform real, imag, NFFT //Method Call
Public Sub FourierTransform(real As Variant, imag As Variant, arraysize As Long)