walsh.c

来自「超声波成像算法」· C语言 代码 · 共 39 行

C
39
字号
/*************************************************
	Subroutine Package ( Walsh Function)
	eigen.c
 -------------------------------------------------
	*wal	Hadamard Matrix
	n	Size	n = 2^k
**************************************************/

#include <stdio.h> 
#include <math.h>
#include "GuoShuqiang.h"

void walsh(int wal[]/* Output */,int n /* Input  */)
{
	int	nw, i, j, k, m=1;

	nw = (int)(log((double)(n))/log(2.0)+0.0001);

	wal[0] = 1;
	for ( k=0; k<nw; k++ ) {
		for ( i=0; i<m; i++ ) {
			for ( j=0; j<m; j++ ) {
				wal[    i*n+j+m] =  wal[i*n+j];
				wal[(i+m)*n+j  ] =  wal[i*n+j];
				wal[(i+m)*n+j+m] = -wal[i*n+j];
			}
		}
		m <<= 1;
	}

	/*****************妔*********************/

	//WalshOutput(wal,n);

	/*****************妔*********************/

	return;
}

⌨️ 快捷键说明

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