/*** preinitBlock ***/ $super() boolean $actorSymbol(haveNextNextGaussian) = false; double $actorSymbol(nextNextGaussian); double $actorSymbol(xRawNum); double $actorSymbol(yRawNum); /**/ /*** randomBlock ***/ $actorSymbol(xRawNum) = RandomSource_nextGaussian(&$actorSymbol(seed), &$actorSymbol(haveNextNextGaussian), &$actorSymbol(nextNextGaussian)); $actorSymbol(yRawNum) = RandomSource_nextGaussian(&$actorSymbol(seed), &$actorSymbol(haveNextNextGaussian), &$actorSymbol(nextNextGaussian)); $ref(output) = sqrt(pow( ($actorSymbol(xRawNum) * $val(standardDeviation)) + $val(xMean), 2) + pow(($actorSymbol(yRawNum) * $val(standardDeviation)) + $val(yMean), 2)); /**/
// The algorithm of generating the random number with Gaussian distribution // is based on source code from Java.util.Random. Given the same seed, it // generates the same list of random numbers as the java.util.Random object. /*** preinitBlock ***/ double $actorSymbol(seed); boolean $actorSymbol(haveNextNextGaussian) = false; double $actorSymbol(nextNextGaussian); /**/ /*** randomBlock ***/ $ref(output) = (RandomSource_nextGaussian(&$actorSymbol(seed), &$actorSymbol(haveNextNextGaussian), &$actorSymbol(nextNextGaussian)) * $val(standardDeviation)) + $val(mean); /**/