- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 .NET 2.0-3.5 框架中,当不需要类结构来支持它们时,LCG(也称为 DynamicMethod 类)是在运行时发出轻量级方法的一种不错的方式。
在 .NET 4.0 中,表达式树现在支持语句和块,因此似乎提供了足够的功能来构建您可能需要从这种方法中获得的任何功能,并且可以以比直接发出 CIL 更容易和更安全的方式构建操作码。 (此声明来自今天将我们一些最复杂的 LCG 代码转换为使用表达式树构建和编译的实验。)
那么有什么理由可以在任何新代码中使用 LCG 吗?有什么它可以做而表达式树不能做的事情吗?或者它现在是一个“死”的功能?
最佳答案
在没有任何中间步骤的情况下直接构建 CIL 是没有意义的。但是使用您自己的最终以 IL 为目标的中间语言是完全没问题的。表达式树等是不够的——它只是一种语言,而在实现 DSL 时,您需要许多不同的语义。
你可以很容易地发出不安全的代码(有很多 ldftns 等),你可以发出尾调用(不确定表达式是否可行),对虚方法的非虚调用,你可以有效地构造带有标签和跳转的大型状态自动机等. 表达式树是如此有限,以至于我根本无法理解如何将它们与原始 CIL 进行比较。
关于.net-4.0 - 轻量级代码生成(LCG)死了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001986/
例如这里:http://www.math.cornell.edu/~mec/Winter2009/Luo/Linear%20Congruential%20Generator/linear%20cong
下面是从一个开源项目的rand()中复制过来的,它使用了LCG rand_next = rand_next * 1103515245L + 12345L; //unsigned long rand_
在 .NET 2.0-3.5 框架中,当不需要类结构来支持它们时,LCG(也称为 DynamicMethod 类)是在运行时发出轻量级方法的一种不错的方式。 在 .NET 4.0 中,表达式树现在支持
我正在制作两个随机游走程序,一个使用 Java API Math.random() (工作正常),另一个使用 LCG,但范围为 8 的 LCG 仅返回偶数(2、4、 6、8)。 我以前从未尝试过制作自
我使用以下Python代码向学生演示随机变量的生成: import numpy as np import scipy.stats as stats def lcg(n, x0, M=2**32, a=
我想生成一个随机序列数组,这些序列重复并且每个数字只使用一次。例如,给定 0-9 的范围和 2 个不同的种子,您可能会得到 Seed 1: 7 3 5 9 0 8 1 2 6 4 | 7 3 5 9
我希望生成“占据”一个范围内的完整周期或完整周期的伪随机数/排列。通常,“线性同余生成器”(LCG) 可用于生成此类序列,使用的公式如下: X = (a*Xs+c) Mod R 其中 Xs 是种子,X
我想设计一个彩票调度程序,我需要一个非常好的(伪)随机数生成器,类似于 LCG,但我想知道是否还有其他更好的选择?我专门寻找用 C 语言编写的随机生成器。 LCG代码: unsigned long l
我正在使用 64 位 LCG (MMIX (by Knuth))。它在我的代码中生成一定的随机数 block ,使用它们来执行一些操作。我的代码在单核中工作,我想并行化工作以减少执行时间。 在开始从这
我是一名优秀的程序员,十分优秀!