rand.c

来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· C语言 代码 · 共 40 行

C
40
字号
/****************************************************************************/
/*  rand.c v2.24							    */
/*  Copyright (c) 1993-2002  Texas Instruments Incorporated                 */
/****************************************************************************/
#include <stdlib.h>
#include <_lock.h>

/***************************************************************/
/* THIS IS AN IMPLEMENTATION WHICH IS INTENDED TO BE PORTABLE, */
/* AS PER THE ANSI STANDARD C SPECIFICATION                    */
/***************************************************************/
static _DATA_ACCESS unsigned long next = 1;

_CODE_ACCESS int rand(void)
{
     int r;
     _lock();
     next = next * 1103515245 + 12345;
     r = (int)((next/65536) % ((unsigned long)RAND_MAX + 1));
     _unlock();
     return r;
}

_CODE_ACCESS void srand(unsigned seed)
{
     _lock();
     next = seed;
     _unlock();
}

_CODE_ACCESS unsigned long speek(void)
{
     unsigned long r;
     _lock();
     r = next;
     _unlock();
     return r;
}

⌨️ 快捷键说明

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