mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 09:46:02 +02:00
Cleaned up random number generation in DSF examples.
Fixed two FindBugs problems: (1) doing Math.abs(random.nextInt()) (which may be negative if nextInt() returns Integer.MIN_VALUE), and (2) creating a new Random() object for each nextInt() invocation. Change-Id: I037a8f6c6c875c951a20beb315c54dc3759c963f Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
This commit is contained in:
parent
bb50c58c02
commit
7542722436
2 changed files with 8 additions and 9 deletions
|
@ -180,7 +180,7 @@ public class DataGeneratorWithExecutor implements IDataGenerator {
|
||||||
public DataGeneratorWithExecutor(DsfExecutor executor) {
|
public DataGeneratorWithExecutor(DsfExecutor executor) {
|
||||||
// Create the executor
|
// Create the executor
|
||||||
fExecutor = executor;
|
fExecutor = executor;
|
||||||
|
final Random rand = new Random();
|
||||||
// Schedule a runnable to make the random changes.
|
// Schedule a runnable to make the random changes.
|
||||||
fExecutor.scheduleAtFixedRate(
|
fExecutor.scheduleAtFixedRate(
|
||||||
new DsfRunnable() {
|
new DsfRunnable() {
|
||||||
|
@ -188,7 +188,7 @@ public class DataGeneratorWithExecutor implements IDataGenerator {
|
||||||
randomChanges();
|
randomChanges();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new Random().nextInt() % RANDOM_CHANGE_INTERVAL,
|
rand.nextInt(RANDOM_CHANGE_INTERVAL),
|
||||||
RANDOM_CHANGE_INTERVAL, //Add a 10% variance to the interval.
|
RANDOM_CHANGE_INTERVAL, //Add a 10% variance to the interval.
|
||||||
TimeUnit.MILLISECONDS);
|
TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
|
@ -409,8 +409,7 @@ public class DataGeneratorWithExecutor implements IDataGenerator {
|
||||||
private void randomCountReset() {
|
private void randomCountReset() {
|
||||||
// Calculate the new count.
|
// Calculate the new count.
|
||||||
Random random = new java.util.Random();
|
Random random = new java.util.Random();
|
||||||
fCount = MIN_COUNT +
|
fCount = MIN_COUNT + random.nextInt(MAX_COUNT - MIN_COUNT);
|
||||||
Math.abs(random.nextInt()) % (MAX_COUNT - MIN_COUNT);
|
|
||||||
|
|
||||||
// Reset the changed values.
|
// Reset the changed values.
|
||||||
fChangedValues.clear();
|
fChangedValues.clear();
|
||||||
|
@ -435,8 +434,8 @@ public class DataGeneratorWithExecutor implements IDataGenerator {
|
||||||
Random random = new java.util.Random();
|
Random random = new java.util.Random();
|
||||||
Map<Integer, Integer> changed = new HashMap<Integer, Integer>();
|
Map<Integer, Integer> changed = new HashMap<Integer, Integer>();
|
||||||
for (int i = 0; i < fCount * RANDOM_CHANGE_SET_PERCENTAGE / 100; i++) {
|
for (int i = 0; i < fCount * RANDOM_CHANGE_SET_PERCENTAGE / 100; i++) {
|
||||||
int randomIndex = Math.abs(random.nextInt()) % fCount;
|
int randomIndex = random.nextInt(fCount);
|
||||||
int randomValue = Math.abs(random.nextInt()) % fCount;
|
int randomValue = random.nextInt(fCount);
|
||||||
changed.put(randomIndex, randomValue);
|
changed.put(randomIndex, randomValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -222,7 +222,7 @@ public class DataGeneratorWithThread extends Thread
|
||||||
private void randomCountReset() {
|
private void randomCountReset() {
|
||||||
// Calculate the new count.
|
// Calculate the new count.
|
||||||
Random random = new java.util.Random();
|
Random random = new java.util.Random();
|
||||||
fCount = MIN_COUNT + Math.abs(random.nextInt()) % (MAX_COUNT - MIN_COUNT);
|
fCount = MIN_COUNT + random.nextInt(MAX_COUNT - MIN_COUNT);
|
||||||
|
|
||||||
// Reset the changed values.
|
// Reset the changed values.
|
||||||
fChangedValues.clear();
|
fChangedValues.clear();
|
||||||
|
@ -238,8 +238,8 @@ public class DataGeneratorWithThread extends Thread
|
||||||
Random random = new java.util.Random();
|
Random random = new java.util.Random();
|
||||||
Map<Integer, Integer> changed = new HashMap<Integer, Integer>();
|
Map<Integer, Integer> changed = new HashMap<Integer, Integer>();
|
||||||
for (int i = 0; i < fCount * RANDOM_CHANGE_SET_PERCENTAGE / 100; i++) {
|
for (int i = 0; i < fCount * RANDOM_CHANGE_SET_PERCENTAGE / 100; i++) {
|
||||||
int randomIndex = Math.abs(random.nextInt()) % fCount;
|
int randomIndex = random.nextInt(fCount);
|
||||||
int randomValue = Math.abs(random.nextInt()) % fCount;
|
int randomValue = random.nextInt(fCount);
|
||||||
changed.put(randomIndex, randomValue);
|
changed.put(randomIndex, randomValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue