/Users/lyon/j4p/src/math/MathUtils.java
```
1    /*
2     * Created by IntelliJ IDEA.
3     * User: lyon
4     * Date: Feb 15, 2003
5     * Time: 1:22:04 PM
6     */
7    package math;
8
9    import futils.WriterUtil;
10
11   import java.awt.*;
12
13   public class MathUtils {
14       public static int getRandom() {
15           return (int) ((Math.random() * 100) + 1);
16       }
17
18       public static void main(String args[]) {
19           writeOutRandomNumbersToAFile();
20       }
21
22       public static void writeOutRandomNumbersToAFile() {
23           int ia[] = new int[100];
24           for (int i = 0; i < ia.length; i++)
25               ia[i] = rand(1, 100);
26           WriterUtil.writeString(
27                   WriterUtil.getCSVString(ia));
28       }
29
30       public static void randTest() {
31           for (int i = 0; i < 100; i++) {
32               System.out.print(rand(1, 10) + " ");
33               if (i % 20 == 0) System.out.println();
34           }
35       }
36
37       /**
38        * Compute a random integer
39        * @param min  minimum int
40        * @param max  maximum int
41        * @return random int between <code>min</code> and
42        * <code>max</code> inclusive.
43        */
44       public static int rand(int min, int max) {
45           return (int) (Math.round(
46                   Math.random() * (max - min) + min));
47       }
48       public static Color getRandomColor() {
49           return new Color(rand(0,255),rand(0,255),rand(0,255));
50       }
51
52       public static boolean odd(int i) {
53           if ((i & 1) == 1) return true;
54           return false;
55       }
56
57       /**
58        *
59        * @param d input argument to the log2 function
60        * @return  base 2 log.
61        */
62       public static int getLogBase2(double d) {
63           return (int) (Math.log(d) / Math.log(2));
64       }
65
66       public static final double getGauss(
67               double x,
68               double xc, double sigma) {
69           double oneOnSigmaSquaredOn2 = 1 / (sigma * sigma) / 2;
70           return
71                   Math.exp(-((x - xc) * (x - xc)) *
72                   oneOnSigmaSquaredOn2) / Math.PI * oneOnSigmaSquaredOn2;
73       }
74
75       public static final double[] getGauss(int n) {
76           double g[] = new double[n];
77           for (int x = 0; x < n; x++)
78               g[x] = getGauss(x, n / 2, 2);
79           return g;
80       }
81
82       public static final void testGauss() {
83           print(getGauss(10));
84       }
85
86       public static final void print(double d[]) {
87           for (int i = 0; i < d.length; i++)
88               System.out.println(d[i]);
89       }
90   }
91   ```