⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.h

📁 东南大学版本
💻 H
📖 第 1 页 / 共 2 页
字号:
						dh3[s][BOR+i][BOR+j].w=0;
						dh3[s][BOR+i][BOR+j].c=2;
						for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									dh3[s][BOR+(i<<(s-l))+g][BOR+(j<<(s-l))+h].w=0;
									dh3[s][BOR+(i<<(s-l))+g][BOR+(j<<(s-l))+h].c=2;
								}
						}
					}
				}
			}
	}
	for(s=0;s<5;s++)
		for(int i=0;i<H;i++)
			for(int j=0;j<W;j++)
			{
				dh1x[s][BOR+i][BOR+j]=dh1[s][BOR+i][BOR+j].w;
				dh2x[s][BOR+i][BOR+j]=dh2[s][BOR+i][BOR+j].w;
				dh3x[s][BOR+i][BOR+j]=dh3[s][BOR+i][BOR+j].w;
			}
}
//D4小波变换
void PwtD4(double ah[][PN][PN],double dh1[][PN][PN],double dh2[][PN][PN],double dh3[][PN][PN],int height,int width,int j)
{
    int hei=height/2;
	int wid=width/2;
	for(int i=1;i<=j;i++)
	{
		for(int m=0;m<hei;m++)
		{
			for(int n=0;n<wid;n++)
			{
				ah[i][BOR+m][BOR+n]=0;
				dh1[i][BOR+m][BOR+n]=0;
				dh2[i][BOR+m][BOR+n]=0;
				dh3[i][BOR+m][BOR+n]=0;
				int m2=(m*2);
				int n2=(n*2);
				for(int l=0;l<4;l++)
					for(int k=0;k<4;k++)
					{
						ah[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+l][BOR+n2+k];
						if(k%2==0)dh1[i][BOR+m][BOR+n]-=hh[l][k]*ah[i-1][BOR+m2+l][BOR+n2+1-k];
						else dh1[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+l][BOR+n2+1-k];
					    if(l%2==0)dh2[i][BOR+m][BOR+n]-=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+k];
						else dh2[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+k];
						if((k%2)==(l%2))dh3[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+1-k];
						else dh3[i][BOR+m][BOR+n]-=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+1-k];
					}
				if(abs(ah[i][BOR+m][BOR+n])>NOSE){ah[i][BOR+m][BOR+n]/=4;CNOSE++;}
				else ah[i][BOR+m][BOR+n]=0;
				if(abs(dh1[i][BOR+m][BOR+n])>NOSE){dh1[i][BOR+m][BOR+n]/=4;CNOSE++;}
				else dh1[i][BOR+m][BOR+n]=0;
				if(abs(dh2[i][BOR+m][BOR+n])>NOSE){dh2[i][BOR+m][BOR+n]/=4;CNOSE++;}
				else dh2[i][BOR+m][BOR+n]=0;
				if(abs(dh3[i][BOR+m][BOR+n])>NOSE){dh3[i][BOR+m][BOR+n]/=4;CNOSE++;}
			    else dh3[i][BOR+m][BOR+n]=0;
			}
		}
		hei=hei/2;
	    wid=wid/2;
	}
}
void PwtD4(double ah[][PN][PN],double dh1[][PN][PN],double dh2[][PN][PN],double dh3[][PN][PN],int height,int width,int j,int TH)
{
    int hei=height/2;
	int wid=width/2;
	for(int i=1;i<=j;i++)
	{
		for(int m=0;m<hei;m++)
		{
			for(int n=0;n<wid;n++)
			{
				ah[i][BOR+m][BOR+n]=0;
				dh1[i][BOR+m][BOR+n]=0;
				dh2[i][BOR+m][BOR+n]=0;
				dh3[i][BOR+m][BOR+n]=0;
				int m2=(m*2);
				int n2=(n*2);
				for(int l=0;l<4;l++)
					for(int k=0;k<4;k++)
					{
						ah[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+l][BOR+n2+k];
						if(k%2==0)dh1[i][BOR+m][BOR+n]-=hh[l][k]*ah[i-1][BOR+m2+l][BOR+n2+1-k];
						else dh1[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+l][BOR+n2+1-k];
					    if(l%2==0)dh2[i][BOR+m][BOR+n]-=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+k];
						else dh2[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+k];
						if((k%2)==(l%2))dh3[i][BOR+m][BOR+n]+=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+1-k];
						else dh3[i][BOR+m][BOR+n]-=hh[l][k]*ah[i-1][BOR+m2+1-l][BOR+n2+1-k];
					}
				if(abs(ah[i][BOR+m][BOR+n])>(TH>>i)){ah[i][BOR+m][BOR+n]/=4;CNOSE++;}
				else ah[i][BOR+m][BOR+n]=0;
				if(abs(dh1[i][BOR+m][BOR+n])>(TH>>i)){dh1[i][BOR+m][BOR+n]/=4;CNOSE++;}
				else dh1[i][BOR+m][BOR+n]=0;
				if(abs(dh2[i][BOR+m][BOR+n])>(TH>>i)){dh2[i][BOR+m][BOR+n]/=4;CNOSE++;}
				else dh2[i][BOR+m][BOR+n]=0;
				if(abs(dh3[i][BOR+m][BOR+n])>(TH>>i)){dh3[i][BOR+m][BOR+n]/=4;CNOSE++;}
			    else dh3[i][BOR+m][BOR+n]=0;
			}
		}
		hei=hei/2;
	    wid=wid/2;
	}
}
//D4小波重构
void PresD4(double ah[][PN][PN],double dh1[][PN][PN],double dh2[][PN][PN],double dh3[][PN][PN],int height,int width,int j,int TH)
{
	int hei=height*2;
	int wid=width*2;
	for(int i=j;i>0;i--)
	{
		for(int m=0;m<hei;m++)
		{
			for(int n=0;n<wid;n++)
			{
				ah[i-1][BOR+m][BOR+n]=0;
				if(m%2==0&&n%2==0)
				{
					for(int l=0;l<2;l++)
						for(int k=0;k<2;k++)
						{
							if(abs(ah[i][BOR+m/2-l][BOR+n/2-k])>TH)
								ah[i-1][BOR+m][BOR+n]+=hh[2*l][2*k]*ah[i][BOR+m/2-l][BOR+n/2-k];
							if(abs(dh1[i][BOR+m/2-l][BOR+n/2+k])>TH)	                  
								ah[i-1][BOR+m][BOR+n]+=hh[2*l][2*k+1]*dh1[i][BOR+m/2-l][BOR+n/2+k];
							if(abs(dh2[i][BOR+m/2+l][BOR+n/2-k])>TH)
								ah[i-1][BOR+m][BOR+n]+=hh[2*l+1][2*k]*dh2[i][BOR+m/2+l][BOR+n/2-k];
                            if(abs(dh3[i][BOR+m/2+l][BOR+n/2+k])>TH)
								ah[i-1][BOR+m][BOR+n]+=hh[2*l+1][2*k+1]*dh3[i][BOR+m/2+l][BOR+n/2+k];
						}
				}
				else if(m%2==1&&n%2==0)
				{
					for(int l=0;l<2;l++)
						for(int k=0;k<2;k++)
						{
							if(abs(ah[i][BOR+(m-1)/2-l][BOR+n/2-k])>TH)
							ah[i-1][BOR+m][BOR+n]+=hh[2*l+1][2*k]*ah[i][BOR+(m-1)/2-l][BOR+(n)/2-k];
							if(abs(dh1[i][BOR+(m-1)/2-l][BOR+n/2+k])>TH)
						    ah[i-1][BOR+m][BOR+n]+=hh[2*l+1][2*k+1]*dh1[i][BOR+(m-1)/2-l][BOR+(n)/2+k];
							if(abs(dh2[i][BOR+(m-1)/2+l][BOR+n/2-k])>TH)
							ah[i-1][BOR+m][BOR+n]-=hh[2*l][2*k]*dh2[i][BOR+(m-1)/2+l][BOR+(n)/2-k];
							if(abs(dh3[i][BOR+(m-1)/2+l][BOR+n/2+k])>TH)
							ah[i-1][BOR+m][BOR+n]-=hh[2*l][2*k+1]*dh3[i][BOR+(m-1)/2+l][BOR+(n)/2+k];
						}
				}
				else if(m%2==0&&n%2==1)
				{
					for(int l=0;l<2;l++)
						for(int k=0;k<2;k++)
						{
							if(abs(ah[i][BOR+(m)/2-l][BOR+(n-1)/2-k])>TH)
							ah[i-1][BOR+m][BOR+n]+=hh[2*l][2*k+1]*ah[i][BOR+(m)/2-l][BOR+(n-1)/2-k];
							if(abs(dh1[i][BOR+(m)/2-l][BOR+(n-1)/2+k])>TH)
							ah[i-1][BOR+m][BOR+n]-=hh[2*l][2*k]*dh1[i][BOR+(m)/2-l][BOR+(n-1)/2+k];
							if(abs(dh2[i][BOR+(m)/2+l][BOR+(n-1)/2-k])>TH)
							ah[i-1][BOR+m][BOR+n]+=hh[2*l+1][2*k+1]*dh2[i][BOR+(m)/2+l][BOR+(n-1)/2-k];
                            if(abs(dh3[i][BOR+(m-1)/2+l][BOR+(n-1)/2+k])>TH)
							ah[i-1][BOR+m][BOR+n]-=hh[2*l+1][2*k]*dh3[i][BOR+(m)/2+l][BOR+(n-1)/2+k];
						}
				}
				else 
				{
					for(int l=0;l<2;l++)
						for(int k=0;k<2;k++)
						{
                            if(abs(ah[i][BOR+(m-1)/2-l][BOR+(n-1)/2-k])>TH)
							ah[i-1][BOR+m][BOR+n]+=hh[2*l+1][2*k+1]*ah[i][BOR+(m-1)/2-l][BOR+(n-1)/2-k];
                            if(abs(dh1[i][BOR+(m-1)/2-l][BOR+(n-1)/2+k])>TH)
							ah[i-1][BOR+m][BOR+n]-=hh[2*l+1][2*k]*dh1[i][BOR+(m-1)/2-l][BOR+(n-1)/2+k];
							if(abs(dh2[i][BOR+(m-1)/2+l][BOR+(n-1)/2-k])>TH)
							ah[i-1][BOR+m][BOR+n]-=hh[2*l][2*k+1]*dh2[i][BOR+(m-1)/2+l][BOR+(n-1)/2-k];
							if(abs(dh3[i][BOR+(m-1)/2+l][BOR+(n-1)/2+k])>TH)
							ah[i-1][BOR+m][BOR+n]+=hh[2*l][2*k]*dh3[i][BOR+(m-1)/2+l][BOR+(n-1)/2+k];
						}
				}
			}
		}
		hei=hei*2;
	    wid=wid*2;
		TH<<=1;
	}
}

void PwtCDF97(double ah[][PN][PN],double dh1[][PN][PN],double dh2[][PN][PN],double dh3[][PN][PN],int height,int width,int j)
{
	double axx;//=ah[i-1][BOR+m2+l][BOR+n2+k];;
	double d1xx;
	double d2xx;
	double d3xx;
	for(int i=1;i<=j;i++)
	{
		for(int m=0;m<height*pow(2,-i);m++)
		{
			for(int n=0;n<width*pow(2,-i);n++)
			{
				int m2=2*m;
				int n2=2*n;
				ah[i][BOR+m][BOR+n]=0;
				dh1[i][BOR+m][BOR+n]=0;
				dh2[i][BOR+m][BOR+n]=0;
				dh3[i][BOR+m][BOR+n]=0;
				for(int l=0;l<=4;l++)
					for(int k=0;k<=4;k++)
					{
						if(l==0&&k)
						{
							 axx=ah[i-1][BOR+m2][BOR+n2+k]+ah[i-1][BOR+m2][BOR+n2-k];
							 d1xx=ah[i-1][BOR+m2][BOR+n2+1+k]+ah[i-1][BOR+m2][BOR+n2+1-k];
							 d2xx=ah[i-1][BOR+m2+1][BOR+n2+k]+ah[i-1][BOR+m2+1][BOR+n2-k];
							 d3xx=ah[i-1][BOR+m2+1][BOR+n2+1+k]+ah[i-1][BOR+m2+1][BOR+n2+1-k];
						}
						else if(l&&k==0)
						{
							 axx=ah[i-1][BOR+m2+l][BOR+n2]+ah[i-1][BOR+m2-l][BOR+n2];
							 d1xx=ah[i-1][BOR+m2+l][BOR+n2+1]+ah[i-1][BOR+m2-l][BOR+n2+1];
							 d2xx=ah[i-1][BOR+m2+1+l][BOR+n2]+ah[i-1][BOR+m2+1-l][BOR+n2];
							 d3xx=ah[i-1][BOR+m2+1+l][BOR+n2+1]+ah[i-1][BOR+m2+1-l][BOR+n2+1];
						}
						else if((l==0)&&(k==0))
						{
							 axx=ah[i-1][BOR+m2][BOR+n2];
							 d1xx=ah[i-1][BOR+m2][BOR+n2+1];
							 d2xx=ah[i-1][BOR+m2+1][BOR+n2];
							 d3xx=ah[i-1][BOR+m2+1][BOR+n2+1];
						}
						else
						{
							 axx=ah[i-1][BOR+m2+l][BOR+n2+k]+ah[i-1][BOR+m2+l][BOR+n2-k]
						         +ah[i-1][BOR+m2-l][BOR+n2+k]+ah[i-1][BOR+m2-l][BOR+n2-k];
							 d1xx=ah[i-1][BOR+m2+l][BOR+n2+1+k]+ah[i-1][BOR+m2+l][BOR+n2+1-k]
								 +ah[i-1][BOR+m2-l][BOR+n2+1+k]+ah[i-1][BOR+m2-l][BOR+n2+1-k];
							 d2xx=ah[i-1][BOR+m2+1+l][BOR+n2+k]+ah[i-1][BOR+m2+1+l][BOR+n2-k]
								 +ah[i-1][BOR+m2+1-l][BOR+n2+k]+ah[i-1][BOR+m2+1-l][BOR+n2-k];
							 d3xx=ah[i-1][BOR+m2+1+l][BOR+n2+1+k]+ah[i-1][BOR+m2+1+l][BOR+n2+1-k]
								 +ah[i-1][BOR+m2+1-l][BOR+n2+1+k]+ah[i-1][BOR+m2+1-l][BOR+n2+1-k];
						}
						ah[i][BOR+m][BOR+n]+=hbhb[CEN+l][CEN+k]*axx;
						if(k%2==0)dh1[i][BOR+m][BOR+n]-=hbhr[CEN+l][CENR+k]*d1xx;
						else dh1[i][BOR+m][BOR+n]+=hbhr[CEN+l][CENR+k]*d1xx;
						if(l%2==0)dh2[i][BOR+m][BOR+n]-=hrhb[CENR+l][CEN+k]*d2xx;
						else dh2[i][BOR+m][BOR+n]+=hrhb[CENR+l][CEN+k]*d2xx;
						if((k+l)%2==0)dh3[i][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*d3xx;
						else dh3[i][BOR+m][BOR+n]-=hrhr[CENR+l][CENR+k]*d3xx;
					}
			   ah[i][BOR+m][BOR+n]/=4;CNOSE++;
			   dh1[i][BOR+m][BOR+n]/=4;CNOSE++;
			   dh2[i][BOR+m][BOR+n]/=4;CNOSE++;
			   dh3[i][BOR+m][BOR+n]/=4;CNOSE++;	
			}
		}
	}
}
//CDF97小波变换
void PresCDF97(double ah[][PN][PN],double dh1[][PN][PN],double dh2[][PN][PN],double dh3[][PN][PN],int height,int width,int j)
{
	int hei=height*2;
	int wid=width*2;
	for(int i=j;i>0;i--)
	{
		for(int m=0;m<hei;m++)
		{
			for(int n=0;n<wid;n++)
			{
				ah[i-1][BOR+m][BOR+n]=0;
				if((m%2==0)&&(n%2==0))
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if((l%2==0)&&(k%2==0))  ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if((l%2==0)&&(k%2))ah[i-1][BOR+m][BOR+n]+=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if((l%2)&&(k%2==0))ah[i-1][BOR+m][BOR+n]+=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else ah[i-1][BOR+m][BOR+n]+=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];
			
						}
				}
				else if((m%2==1)&&(n%2==0))
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if(l%2&&k%2==0)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if(l%2&&k%2)ah[i-1][BOR+m][BOR+n]+=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if(l%2==0&&k%2==0)ah[i-1][BOR+m][BOR+n]-=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else ah[i-1][BOR+m][BOR+n]-=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];
			
						}

				}
				else if((m%2==0)&&(n%2==1))
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if(l%2==0&&k%2)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if(l%2==0&&k%2==0)ah[i-1][BOR+m][BOR+n]-=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if(l%2&&k%2)ah[i-1][BOR+m][BOR+n]+=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else ah[i-1][BOR+m][BOR+n]-=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];
			
						}
				}
				else 
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if(l%2&&k%2)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if(l%2&&k%2==0)ah[i-1][BOR+m][BOR+n]-=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if(l%2==0&&k%2)ah[i-1][BOR+m][BOR+n]-=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else ah[i-1][BOR+m][BOR+n]+=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];			
						}
				}
			}
		}
		hei=hei*2;
	    wid=wid*2;
	}
}
//CDF97小波重构
void PresCDF97(double ah[][PN][PN],double dh1[][PN][PN],double dh2[][PN][PN],double dh3[][PN][PN],int height,int width,int j,int TH)
{
	int hei=height*2;
	int wid=width*2;
	for(int i=j;i>0;i--)
	{
		TH<<=1;
		for(int m=0;m<hei;m++)
		{
			for(int n=0;n<wid;n++)
			{
				ah[i-1][BOR+m][BOR+n]=0;
				if((m%2==0)&&(n%2==0))
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if((l%2==0)&&(k%2==0)&&abs(ah[i][BOR+(m-l)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if((l%2==0)&&(k%2)&&abs(dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if((l%2)&&(k%2==0)&&abs(dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else if((l%2)&&(k%2)&&abs(dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];
			
						}
				}
				else if((m%2==1)&&(n%2==0))
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if(l%2&&k%2==0&&abs(ah[i][BOR+(m-l)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if(l%2&&k%2&&abs(dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if(l%2==0&&k%2==0&&abs(dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]-=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else if((l%2==0)&&(k%2)&&abs(dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]-=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];
			
						}

				}
				else if((m%2==0)&&(n%2==1))
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if(l%2==0&&k%2&&abs(ah[i][BOR+(m-l)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if(l%2==0&&k%2==0&&abs(dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]-=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if(l%2&&k%2&&abs(dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else if((l%2)&&(k%2==0)&&abs(dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]-=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];
			
						}
				}
				else 
				{
					for(int l=-4;l<=4;l++)
						for(int k=-4;k<=4;k++)
						{
							if(l%2&&k%2&&abs(ah[i][BOR+(m-l)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hrhr[CENR+l][CENR+k]*ah[i][BOR+(m-l)/2][BOR+(n-k)/2];
							else if(l%2&&k%2==0&&abs(dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]-=hrhb[CENR+l][CEN+k]*dh1[i][BOR+(m-l)/2][BOR+(n+k-1)/2];
							else if(l%2==0&&k%2&&abs(dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2])>TH)ah[i-1][BOR+m][BOR+n]-=hbhr[CEN+l][CENR+k]*dh2[i][BOR+(m+l-1)/2][BOR+(n-k)/2];
							else if((l%2==0)&&(k%2)&&abs(dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2])>TH)ah[i-1][BOR+m][BOR+n]+=hbhb[CEN+l][CEN+k]*dh3[i][BOR+(m+l-1)/2][BOR+(n+k-1)/2];			
						}
				}
			}
		}
		hei=hei*2;
	    wid=wid*2;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -