资源简介
改进的快速Mersenne twister随机数算法 非常适合做FPGA算法使用 随机性好,占用资源非常少,标准算法的1/1000, 非常适合用来做快速加密用,在我的几个项目中使效果非常好。
代码片段和文件信息
#include “stdafx.h“
#define MT_LEN 4
#define MT_VL 2
#define MSK_UP 0xFFFE0000
#define MSK_DN 0x0001FFFF
#define MERS_A 0xF4973C15
#define MERS_B 0x452796A4
#define MERS_C 0x165F7B46
static unsigned int mt[MT_LEN];
static unsigned int mti = 0;
static void init0(unsigned int seed)
{
unsigned int y;
unsigned int i;
mt[0] = seed;
for( mti = 1; mti < MT_LEN; mti++ ) {
mt[mti] = (((mt[mti-1] ^ (mt[mti-1]>>3))<<10)|0x025D) + mti;
}
for( i = 0; i < MT_LEN - MT_VL; i++ ) {
y = (mt[i] & MSK_UP) | (mt[i+1] & MSK_DN);
mt[i] = mt[i+MT_VL] ^ (y>>1) ^ (((y & 0x01) == 1) ? MERS_A : 0);
}
for( ; i < MT_LEN - 1; i++ ) {
y = (mt[i] & MSK_UP) | (mt[i+1] & MSK_DN);
mt[i] = mt[i+(MT_VL - MT_LEN)] ^ (y>>1) ^ (((y & 0x01) == 1) ? MERS_A : 0);
}
y = (mt[i] & MSK_UP) | (mt[0] & MSK_DN);
mt[i] = mt[MT_VL - 1] ^ (y>>1) ^ (((y & 0x01) == 1) ? MERS_A : 0);
mti = 0;
return;
}
static unsigned int BRandom(void)
{
unsigned int ret = 0;
ret = mt[mti];
ret ^= ret>>13;
ret ^= (ret<<7) & MERS_B;
ret ^= (ret<<15) & MERS_C;
ret ^= ret>>8;
mt[mti++] = ret + 1;
if( mti == MT_LEN ) {
mti = 0;
}
return ret;
}
int _tmain(int argc _TCHAR* argv[])
{
unsigned int i;
unsigned int firstr;
unsigned int t;
init0(0x33914F8D);
firstr = BRandom();
printf(“%08X\r\n“ firstr);
i = 1;
while(1) {
t = BRandom();
if( t == firstr ) {
break;
}
i++;
printf(“%08X\r\n“ t);
}
printf(“[%lu]\r\n“ i);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1736 2017-06-03 09:35 MTSRandom.cpp
- 上一篇:USB设备状态监控插拔事件响应等。
- 下一篇:串口发送接收图片文件
相关资源
- 遗传算法用于机械臂运动规划
- 北邮算法课贪心算法作业代码
- 计算机图形学裁剪算法
- 粒子群算法和引力搜索算法
- 随机算法以及素数生成实验报告
- lz4压缩算法源码
- 神经网络新算法
- 算法心得-高效算法的奥秘原书第2版
- 银行家算法流程图.edd
- MIMO基础,包括包括MIMO的信号模型和各
- MOEA/D -AWA算法实验代码
- 基于FPGA的5B6B编译码器的设计
- A5算法的FPGA实现
- fisher分类器算法及程序
- 用flash制作的常见的排序算法的演子
- 用于单片机的模糊控制算法程序
- 多功能数字时钟FPGA 实现含代码.zip
- 国密算法计算工具SM2SM3SM4
- 基于FPGA的IRIG-B的编码及解码
- 整数规划问题的遗传算法
- 基于FPGA的扫频信号源的研究与设计
- 代价敏感分类算法的实验比较
- 32位ARM的ALU设计基于FPGA
- 无线传感器网络RBS的优化算法.pdf
- 基于RBS的无线传感器网络时间同步算
- 聚类中k_means算法的一种改进算法
- b*寻路算法
- FPGA驱动LCD1602完整工程
- 邓俊辉算法训练营 第二期 代码
- sigmoid函数的FPGA实现
评论
共有 条评论