KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > h2 > test > bench > BenchCRandom


1 /*
2  * Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
3  * Initial Developer: H2 Group
4  */

5 package org.h2.test.bench;
6
7 import java.math.BigDecimal JavaDoc;
8 import java.math.BigInteger JavaDoc;
9 import java.util.Random JavaDoc;
10
11 public class BenchCRandom {
12
13     private Random JavaDoc random = new Random JavaDoc(10);
14     
15     int getNonUniform(int a, int min, int max) {
16         int c = 0;
17         return (((getInt(0, a) | getInt(min, max)) + c) % (max - min + 1))
18                 + min;
19     }
20
21     int getInt(int min, int max) {
22         return max <= min ? min : (random.nextInt(max - min) + min);
23     }
24
25     boolean[] getBoolean(int length, int trueCount) {
26         boolean[] data = new boolean[length];
27         for (int i = 0, pos; i < trueCount; i++) {
28             do {
29                 pos = getInt(0, length);
30             } while (data[pos]);
31             data[pos] = true;
32         }
33         return data;
34     }
35
36     String JavaDoc replace(String JavaDoc text, String JavaDoc replacement) {
37         int pos = getInt(0, text.length() - replacement.length());
38         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc(text);
39         buffer.replace(pos, pos + 7, replacement);
40         return buffer.toString();
41     }
42
43     String JavaDoc getNumberString(int min, int max) {
44         int len = getInt(min, max);
45         char[] buff = new char[len];
46         for (int i = 0; i < len; i++) {
47             buff[i] = (char) getInt('0', '9');
48         }
49         return new String JavaDoc(buff);
50     }
51
52     String JavaDoc[] getAddress() {
53         String JavaDoc str1 = getString(10, 20);
54         String JavaDoc str2 = getString(10, 20);
55         String JavaDoc city = getString(10, 20);
56         String JavaDoc state = getString(2);
57         String JavaDoc zip = getNumberString(9, 9);
58         return new String JavaDoc[] { str1, str2, city, state, zip };
59     }
60
61     String JavaDoc getString(int min, int max) {
62         return getString(getInt(min, max));
63     }
64
65     String JavaDoc getString(int len) {
66         char[] buff = new char[len];
67         for (int i = 0; i < len; i++) {
68             buff[i] = (char) getInt('A', 'Z');
69         }
70         return new String JavaDoc(buff);
71     }
72
73     int[] getPermutation(int length) {
74         int[] data = new int[length];
75         for (int i = 0; i < length; i++) {
76             data[i] = i;
77         }
78         for (int i = 0; i < length; i++) {
79             int j = getInt(0, length);
80             int temp = data[i];
81             data[i] = data[j];
82             data[j] = temp;
83         }
84         return data;
85     }
86
87
88     BigDecimal JavaDoc getBigDecimal(int value, int scale) {
89         return new BigDecimal JavaDoc(new BigInteger JavaDoc(String.valueOf(value)), scale);
90     }
91
92     String JavaDoc getLastname(int i) {
93         String JavaDoc[] n = { "BAR", "OUGHT", "ABLE", "PRI", "PRES", "ESE", "ANTI",
94                 "CALLY", "ATION", "EING" };
95         StringBuffer JavaDoc buff = new StringBuffer JavaDoc();
96         buff.append(n[i / 100]);
97         buff.append(n[(i / 10) % 10]);
98         buff.append(n[i % 10]);
99         return buff.toString();
100     }
101
102 }
103
Popular Tags