所以我正在尝试将这段代码转换为在我的 Java 程序中使用。但是,它有一个指针,我不确定将它翻译成 Java 的最佳方式是什么。
/**
* 32-bit Multiplicative Congruential Pseudo Random Number Generator
* Microsoft Visual C++ Version
*/
#include <math.h>
/**
* The seed used by randomNumberGenerator.
*/
long gv_lRandomNumberSeed;
/**
* Returns a random number between 0.0 and 1.0.
* plSeed - Pointer to the seed value to use.
*/
double randomNumberGenerator( long* plSeed ) {
double dZ;
double dQuot;
long lQuot;
dZ = ( *plSeed ) * 16807;
dQuot = dZ / 2147483647;
lQuot = ( long ) floor( dQuot );
dZ -= lQuot * 2147483647;
( *plSeed ) = ( long ) floor( dZ );
return ( dZ / 2147483647 );
}
我需要能够使用此函数中返回的上述数字:
/**
* Returns a random variate from an exponential probability
* distribution with the given mean value of dMean.
*/
double exponentialRVG( double dMean ) {
return ( -dMean * log( randomNumberGenerator( &gv_lRandomNumberSeed
) ) );
}
并且能够为 dMean 输入一个值并获得一个值作为回报..
有什么帮助吗?
(我知道很多人对这个网站上发布的问题很生气,请尽量不要消极,如果是这样的话,请帮助我更好地提出问题)