Помогите преобразовать код из C++ в VB:
Функции вычисления значений гауссовых вейвлетов первых шести по-рядков описаны в файле wavelet.h, этот файл также содержит определения нормировочных множителей, здесь же определена функция ().0xg
/* wavelet.h
*/
#ifndef __WAVELET_H__
#define __WAVELET_H__
#ifndef __MATH_H
#include <math.h>
#endif
double gauss (double);
#define WAVELETS 6
#define g1coef (2 * M_PI)
#define g2coef (2 * M_PI)
#define g3coef (4 * M_PI)
#define g4coef (12 * M_PI)
#define g5coef (48 * M_PI)
#define g6coef (120 * M_PI)
107
#define g1coefsq 2.5066282746310005
#define g2coefsq 2.5066282746310005
#define g3coefsq 3.544907701811032
#define g4coefsq 6.1399602476789308
#define g5coefsq 12.279920495357862
#define g6coefsq 19.416259125556991
double g0wavelet (double);
double g1wavelet (double);
double g2wavelet (double);
double g3wavelet (double);
double g4wavelet (double);
double g5wavelet (double);
double g6wavelet (double);
#define g1waveletFast g0wavelet
#define g2waveletFast g1wavelet
#define g3waveletFast g2wavelet
#define g4waveletFast g3wavelet
#define g5waveletFast g4wavelet
#define g6waveletFast g5wavelet
inline double g0wavelet (double x)
{
return -gauss (x);
}
#endif
Реализации самих функций определены в файле wavelet.cpp:
/* wavelet.cpp
*/
#include "wavelet.h"
double gauss (double x)
{
return exp (- x * x / 2);
}
double g1wavelet (double x)
{
return - x * exp (- x * x / 2);
}
double g2wavelet (double x)
108
{
double xsqr = x * x;
return (1 - xsqr) * exp (- xsqr / 2);
}
double g3wavelet (double x)
{
double xsqr = x * x;
return (3 - xsqr) * x * exp (- xsqr / 2);
}
double g4wavelet (double x)
{
double xsqr = x * x;
return ((6 - xsqr) * xsqr - 3) * exp (- xsqr / 2);
}
double g5wavelet (double x)
{
double xsqr = x * x;
return ((10 - xsqr) * xsqr - 15) * x *
exp (- xsqr / 2);
}
double g6wavelet (double x)
{
double xsqr = x * x;
return (((15 - xsqr) * xsqr - 45) * xsqr + 15) *
exp (- xsqr /2);
}