MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / random

Method random

ij/src/main/java/ij/macro/Functions.java:1301–1332  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1299
1300 Random ran;
1301 double random() {
1302 double dseed = Double.NaN;
1303 boolean gaussian = false;
1304 if (interp.nextToken()=='(') {
1305 interp.getLeftParen();
1306 if (isStringArg()) {
1307 String arg = getString().toLowerCase(Locale.US);
1308 if (arg.equals("seed")) {
1309 interp.getComma();
1310 dseed = interp.getExpression();
1311 long seed = (long)dseed;
1312 if (seed!=dseed)
1313 interp.error("Seed not integer");
1314 ran = new Random(seed);
1315 ImageProcessor.setRandomSeed(seed);
1316 } else if (arg.equals("gaussian"))
1317 gaussian = true;
1318 else
1319 interp.error("'seed' or ''gaussian' expected");
1320 }
1321 interp.getRightParen();
1322 if (!Double.isNaN(dseed)) return Double.NaN;
1323 }
1324 ImageProcessor.setRandomSeed(Double.NaN);
1325 interp.getParens();
1326 if (ran==null)
1327 ran = new Random();
1328 if (gaussian)
1329 return ran.nextGaussian();
1330 else
1331 return ran.nextDouble();
1332 }
1333
1334 double getResult(ResultsTable rt) {
1335 interp.getLeftParen();

Callers 1

getFunctionValueMethod · 0.95

Calls 11

isStringArgMethod · 0.95
getStringMethod · 0.95
setRandomSeedMethod · 0.95
getLeftParenMethod · 0.80
getCommaMethod · 0.80
getExpressionMethod · 0.80
getRightParenMethod · 0.80
getParensMethod · 0.80
nextTokenMethod · 0.45
equalsMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected