谁能够帮我看看这函数是干吗的???

lanren_me 2002-12-26 01:55:00
void __fastcall walsh(double *fData,int nLevel)
{
int nSize=1<<nLevel;
double *buf=(double *)malloc(sizeof(double)*nSize);
double multi=1.0/sqrt(nSize);
int i,j,k,t;
for(i=0;i<nSize-1;i+=2)
{
double x=fData[i]+fData[i+1];
double y=fData[i]-fData[i+1];
fData[i]=x;
fData[i+1]=y;
}
for(i=2;i<nSize;i<<=1)
{
for(k=0;k<nSize;k+=2*i)
{
t=1;
memcpy(buf,fData+k,sizeof(double)*2*i);
for(j=0;j<i;j++,t=-t)
{
double x=buf[j]+buf[j+i];
double y=buf[j]-buf[j+i];
if(t<0)
{
fData[k+2*j]=y;
fData[k+2*j+1]=x;
}
else
{
fData[k+2*j]=x;
fData[k+2*j+1]=y;
}
}
}
}
for(j=0;j<nSize;j++)
fData[j]*=multi;
free(buf);
}
...全文
29 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjh1014 2002-12-26
  • 打赏
  • 举报
回复
应该是某个算法吧
weibz0525 2002-12-26
  • 打赏
  • 举报
回复
图形算法?
springai 2002-12-26
  • 打赏
  • 举报
回复
这应该是一个对以iLever*iLever的距阵进行变换的一个算法。
coolsnake_pp 2002-12-26
  • 打赏
  • 举报
回复
这段程序从哪里来的呀?
Behard 2002-12-26
  • 打赏
  • 举报
回复
有没有搞错呀?
还使用 malloc???
ArWen 2002-12-26
  • 打赏
  • 举报
回复
测试一下就知道了,啥也没干!
IT-司马青衫 2002-12-26
  • 打赏
  • 举报
回复
wo yi

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧