📄 processdata.h
字号:
#include <math.h>
#include "Number1Dlg1.h"
int GetNumber(const char *prompt,int number,int max)
{
CNumber1Dlg dlg;
dlg.m_Prompt=prompt;
dlg.m_Number=number;
//显示电话框
dlg.DoModal();
if (dlg.m_Number>max) dlg.m_Number=max;
return dlg.m_Number;
}
//////////////////
void DWT(double g[], double h[], int wlen, double c[], double d[], int m, int sca[])
{
int i,j,k,mid,flag[20];
double p,q;
for(flag[0]=0,i=0;i<m;i++)
{
flag[i+1]=flag[i]+sca[i];
}
for(j=1;j<=m;j++)
{
for(i=0;i<sca[j];i++)
{
p=0;
q=0;
for(k=0;k<wlen;k++)
{
mid=k+2*i;
if(mid>=sca[j-1]) mid=mid-sca[j-1];
p=p+h[k]*c[flag[j-1]+mid];
q=q+g[k]*c[flag[j-1]+mid];
}
c[flag[j]+i]=p;
d[flag[j]+i]=q;
}
}
}
void IDWT(double g[], double h[], int wlen, double c[], double d[], int m, int sca[])
{
int i,j,k,mid,flag[20];
double p,q;
for(flag[0]=0,j=0;j<m;j++)
{
flag[j+1]=flag[j]+sca[j];
}
for(k=m;k>0;k--)
{
for(i=0;i<sca[k];i++)
{
p=0;
q=0;
for(j=0;j<wlen/2;j++)
{
mid=i-j;
if(mid<0) mid=sca[k]+(i-j);
p+=h[2*j]*c[flag[k]+mid]+g[2*j]*d[flag[k]+mid];
q+=h[2*j+1]*c[flag[k]+mid]+g[2*j+1]*d[flag[k]+mid];
}
c[flag[k-1]+2*i]=p;
c[flag[k-1]+2*i+1]=q;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -