C#,数值计算——Ranlim32的计算方法与源程序

news2024/11/29 1:53:58

1 文本格式

using System;

namespace Legalsoft.Truffer
{
    /// <summary>
    /// High-quality random generator using only 32-bit arithmetic.Same conventions
    /// as Ran.Period is 3.11E37 . Recommended only when 64-bit arithmetic is not
    /// available.
    /// </summary>
    public class Ranlim32
    {
        private uint u { get; set; }
        private uint v { get; set; } = 0x85ca18e3; // 0x85ca18e3=2244614371;
        private uint w1 { get; set; } = 521288629;
        private uint w2 { get; set; } = 362436069;

        public Ranlim32(uint j)
        {
            this.v = 2244614371U;
            this.w1 = 521288629U;
            this.w2 = 362436069U;
            u = j ^ v; int32();
            v = u; int32();
        }

        public uint int32()
        {
            u = u * 2891336453U + 1640531513U;
            v ^= v >> 13;
            v ^= v << 17;
            v ^= v >> 5;
            w1 = (uint)(33378 * (w1 & 0xffff) + (w1 >> 16));
            w2 = (uint)(57225 * (w2 & 0xffff) + (w2 >> 16));
            uint x = u ^ (u << 9);
            x ^= x >> 17;
            x ^= x << 6;
            uint y = w1 ^ (w1 << 17);
            y ^= y >> 15;
            y ^= y << 5;
            return (x + v) ^ (y + w2);
        }

        public double doub()
        {
            double r = 2.32830643653869629E-10 * int32();
            return (r < 0.0) ? (1 + r) : r;
        }

        public double truedoub()
        {
            return 2.32830643653869629E-10 * (int32() + 2.32830643653869629E-10 * int32());
        }
    }
}
 

2 代码格式

using System;

namespace Legalsoft.Truffer
{
    /// <summary>
    /// High-quality random generator using only 32-bit arithmetic.Same conventions
    /// as Ran.Period is 3.11E37 . Recommended only when 64-bit arithmetic is not
    /// available.
    /// </summary>
    public class Ranlim32
    {
        private uint u { get; set; }
        private uint v { get; set; } = 0x85ca18e3; // 0x85ca18e3=2244614371;
        private uint w1 { get; set; } = 521288629;
        private uint w2 { get; set; } = 362436069;

        public Ranlim32(uint j)
        {
            this.v = 2244614371U;
            this.w1 = 521288629U;
            this.w2 = 362436069U;
            u = j ^ v; int32();
            v = u; int32();
        }

        public uint int32()
        {
            u = u * 2891336453U + 1640531513U;
            v ^= v >> 13;
            v ^= v << 17;
            v ^= v >> 5;
            w1 = (uint)(33378 * (w1 & 0xffff) + (w1 >> 16));
            w2 = (uint)(57225 * (w2 & 0xffff) + (w2 >> 16));
            uint x = u ^ (u << 9);
            x ^= x >> 17;
            x ^= x << 6;
            uint y = w1 ^ (w1 << 17);
            y ^= y >> 15;
            y ^= y << 5;
            return (x + v) ^ (y + w2);
        }

        public double doub()
        {
            double r = 2.32830643653869629E-10 * int32();
            return (r < 0.0) ? (1 + r) : r;
        }

        public double truedoub()
        {
            return 2.32830643653869629E-10 * (int32() + 2.32830643653869629E-10 * int32());
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1055403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国1km土壤特征数据集(2010年)

简介&#xff1a; 中国1km土壤特征数据集&#xff08;2010&#xff09;是基于第二次全国土壤调查的中国1:1000000比例尺土壤图和8595个土壤剖面图&#xff0c;以及美国农业部&#xff08;USDA&#xff09;中国区域土地和气候模拟标准&#xff0c;开发了一个多层土壤粒度分布数…

开源layui前端框架 收款码生成系统源码 多合一收款码生成源码 带50多套UI模板

Layui前端的多合一收款码在线生成系统源码_附多套前端UI模板。 卡特三合一收款码生成系统源码&#xff0c;和收款啦采用一样的原理。 内部多达50多套模板&#xff0c;前端跟付款界面都特别好看。 识别收款码之后会自动加密&#xff0c;非常安全。 一样没有后台&#xff0c;一样…

2023年全球接口IP市场发展趋势分析:市占率第二IP品类,受大数据及计算需求推动高速增长[图]

接口IP是基于标准接口协议&#xff0c;实现芯片与内外部设备进行通信、传输数据的电路模块&#xff0c;分为有线接口IP与无线接口IP&#xff0c;主要用于数字信号处理和嵌入式系统中的接口设计。 接口IP分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#xff09; …

深度学习:基于长短时记忆网络LSTM实现情感分析

目录 1 LSTM网络介绍 1.1 LSTM概述 1.2 LSTM网络结构 1.3 LSTM门机制 1.4 双向LSTM 2 Pytorch LSTM输入输出 2.1 LSTM参数 2.2 LSTM输入 2.3 LSTM输出 2.4 隐藏层状态初始化 3 基于LSTM实现情感分析 3.1 情感分析介绍 3.2 数据集介绍 3.3 基于pytorch的代码实现 3…

在Windows11家庭中文版中启用Copilot(预览版)

1、下载ViveTool-vx.x.x.zip 2、解压下载的压缩包ViveTool-vx.x.x.zip 3、复制ViveTool文件夹的路径 4、按下wins&#xff0c;打开搜索 5、输入cmd&#xff0c;并选择“以管理员身份运行” 6、在cmd中输入以下命令&#xff0c;进入ViveTool文件夹&#xff1a; cd ViveTool…

【最新版配置conda环境】新版pycharm导入新版anaconda环境

最近下载了新版pycharm和新版anaconda&#xff0c;并且在命令行创建了环境&#xff0c;想着在pycharm里面导入环境。结果现在的导入方式发生了变化。 之前是通过导入Python.exe进行的。 现在&#xff1a; 当我们点击进去之后&#xff0c;会发现找不到python.exe了。 具体什么…

网络安全复习大纲wcf

单选10判断10填空30简答25分析25 选择 &#xff08;1&#xff09;计算机网络安全是指利用计算机网络管理控制和技术措施&#xff0c;保证在网络环境中数据的&#xff08; &#xff09;、完整性、网络服务可用性和可审查性受到保护。 A、保密性 B、抗攻击性 C、网络服务管理性 …

mysql服务器时间(时区问题)

本地能查询出来数据&#xff0c;而服务端查询不出来 这是sql代码 在studentId没问题的情况我首先怀疑的就是NOW&#xff08;&#xff09;获取的时间出了问题&#xff0c;后来我想到我的数据库是上海的&#xff0c;时间应该没问题啊&#xff0c;百思不得其解。date去查了系统的…

如何将超大文件压缩到最小

1、一个文件目录&#xff0c;查看属性发现这个文件达到了2.50GB&#xff1b; 2、右键此目录选择添加到压缩文件&#xff1b; 3、在弹出的窗口中将压缩文件格式选择为RAR4&#xff0c;压缩方式选择为最好&#xff0c;选择字典大小最大&#xff0c;勾选压缩选项中的创建固实压缩&…

svn下载安装与使用教程/方法

1、官网下载SVN服务器 官网网址&#xff1a;Subversion Server for Windows | VisualSVN Server 本地新建空文件夹 桌面右击选择如下图所示&#xff1a; 填入刚刚拷贝的仓库地址&#xff0c;与所建立文件要放得地方&#xff0c;点击ok即可。 2、提交代码 新建文件&#xf…

正则表达式基本使用

文章目录 1. 基本介绍2. 元字符(Metacharacter)-转义号 \\3. 元字符-字符匹配符3.1 案例 4. 元字符-选择匹配符5. 元字符-限定符6. 元字符-定位符7. 分组7.1 捕获分组7.2 非捕获分组 8. 非贪婪匹配9. 应用实例10. 正则验证复杂URL 1. 基本介绍 如果要想灵活的运用正则表达式&a…

【计算机取证篇】Windows禁用驱动程序签名教程

【计算机取证篇】Windows禁用驱动程序签名教程 高级启动—【蘇小沐】 文章目录 【计算机取证篇】Windows禁用驱动程序签名教程1、实验环境 &#xff08;一&#xff09;驱动问题&#xff1a;驱动安装失败&#xff08;二&#xff09;高级启动&#xff1a;F7禁用驱动程序强制签名…

2023年9月随笔之摩托车驾考

1. 回头看 日更坚持了273天。 读《SQL学习指南&#xff08;第3版&#xff09;》更新完成 读《高性能MySQL&#xff08;第4版&#xff09;》持续更新 学信息系统项目管理师第4版系列持续更新 9月码字81307字&#xff0c;日均码字数2710字&#xff0c;累计码字451704字&…

基于Java的二手交易系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

IIS管理器无法打开。启动后,在任务栏中有,但是窗口不见了

找到IIS管理器启动程序的所在位置 并在cmd命令行中调用 inetmgr.exe /reset 进行重启 先查看IIS管理器属性&#xff0c;找到其位置 管理员模式打开cmd命令行&#xff0c;并切换到上面的文件夹下运行Inetmgr.exe /reset 运行完成后可以重新看到IIS窗口 原因&#xff1a;由于某…

图神经网络GNN(一)GraphEmbedding

DeepWalk 使用随机游走采样得到每个结点x的上下文信息&#xff0c;记作Context(x)。 SkipGram优化的目标函数&#xff1a;P(Context(x)|x;θ) θ argmax P(Context(x)|x;θ) DeepWalk这种GraphEmbedding方法是一种无监督方法&#xff0c;个人理解有点类似生成模型的Encoder过程…

【多线程初阶】多线程案例之线程池

文章目录 前言1. 什么是线程池1.1 线程池的优势 2. 标准库中的线程池2.1 聊聊工厂模式2.2 Executors 创建线程池的几种方式2.3 ThreadPoolExecutor 构造方法中的几个参数2.3.1 RejectedExecutionHandler handler 的几个拒绝策略 3. 自己实现一个线程池总结 前言 本文主要给大家…

【COMP304 LEC3】

LEC 3 1. Contingent Formulas&#xff1a; 定义&#xff1a;Truth or falsity of a propositional formula depends on the truth/falsity of the atoms in the formula 例子&#xff1a;p ∧ q is true if both p and q are true, false otherwise.这里p和q就是atoms&…

[React] 性能优化相关 (一)

文章目录 1.React.memo2.useMemo3.useCallback4.useTransition5.useDeferredValue 1.React.memo 当父组件被重新渲染的时候&#xff0c;也会触发子组件的重新渲染&#xff0c;这样就多出了无意义的性能开销。如果子组件的状态没有发生变化&#xff0c;则子组件是不需要被重新渲…

计算机网络笔记 第二章 物理层

2.1 物理层概述 物理层要实现的功能 物理层接口特性 机械特性 形状和尺寸引脚数目和排列固定和锁定装置 电气特性 信号电压的范围阻抗匹配的情况传输速率距离限制 功能特性 -规定接口电缆的各条信号线的作用 过程特性 规定在信号线上传输比特流的一组操作过程&#xff0…