random.f

来自「lpc 2400 bps语音编解码程序」· F 代码 · 共 32 行

F
32
字号
***********************************************************************
*
*	RANDOM Version 49
*
**********************************************************************
*
*  Pseudo random number generator based on Knuth, Vol 2, p. 27.
*
* Function Return:
*  RANDOM - Integer variable, uniformly distributed over -32768 to 32767
*
	FUNCTION RANDOM ()
	INTEGER RANDOM, J, K, MIDTAP, MAXTAP
	PARAMETER (MIDTAP=2, MAXTAP=5)
	INTEGER*2 Y(MAXTAP)
	SAVE J, K, Y
	DATA Y /-21161, -8478, 30892,-10216, 16950/
	DATA J/MIDTAP/, K/MAXTAP/

*   The following is a 16 bit 2's complement addition,
*   with overflow checking disabled

	Y(K) = Y(K) + Y(J)
	RANDOM = Y(K)
	K = K - 1
	IF (K .LE. 0) K = MAXTAP
	J = J - 1
	IF (J .LE. 0) J = MAXTAP

	RETURN
	END

⌨️ 快捷键说明

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