random.c

来自「4.8kcelp语音压缩编码程序」· C语言 代码 · 共 58 行

C
58
字号
/**************************************************************************** ROUTINE*		RANDOM2 (LPC-10e Version 49)** FUNCTION**		Pseudo random number generator.** SYNOPSIS*		function random2()**   formal *                       data    I/O*       name            type    type    function*       -------------------------------------------------------------------*	random2		i	fun	uniformly distributed*					over -32768 to 32767****************************************************************************	* DESCRIPTION**	See reference.****************************************************************************** CALLED FROM**	noise2	biterror** CALLS******************************************************************************	* REFERENCE**	Knuth, The Art of Programming, Volume 2, p. 27.***************************************************************************/# define MIDTAP 2# define MAXTAP 5random2(){  static int j = MIDTAP-1, k = MAXTAP-1;  static int y[MAXTAP] = {-21161,-8478,30892,-10216,16950};  int temp;  /* * simulate 2's complement 16-bit addition				 */  temp = (y[k] + y[j]) & 65535;  temp = (temp > 32767 ? temp - 65536 : temp);  y[k] = temp;  k = (--k < 0 ? MAXTAP-1 : k);  j = (--j < 0 ? MAXTAP-1 : j);  return(temp);}	

⌨️ 快捷键说明

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