Я пытаюсь преобразовать сценарий VB6 в сценарий C ++.Выход нового скрипта не совпадает со старым скриптом.Но после многих испытаний я начинаю задумываться, равны ли результаты.
Старый скрипт VB начинается с массива значений типа double, а затем вызывает функцию, в которой массивы передаются по ссылке.Эта функция имеет заголовок с массивом вариантов вместо двойных типов.Я проверил данные перед входом в метод, и к этому моменту вход равен.Затем этот метод выполняет некоторые вычисления с данными в этих массивах, и выходные данные больше не совпадают.Если я выписываю данные сразу после ввода метода, я уже вижу другие данные в старом скрипте.
В моем новом скрипте я делаю те же вычисления, но ввод после ввода метода остается таким же, как он был передан в метод.
Теперь у меня вопрос, что, если я на 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)