MathUtils.java

00001 package edu.stanford.hci.r3.util;
00002 
00014 public class MathUtils {
00015 
00022         public static double average(double... vals) {
00023                 if (vals == null || vals.length == 0) {
00024                         return 0;
00025                 }
00026                 return sum(vals) / vals.length;
00027         }
00028 
00036         public static double distance(double x1, double y1, double x2, double y2) {
00037                 return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));
00038         }
00039 
00044         public static int rint(double val) {
00045                 return (int) Math.round(val);
00046         }
00047 
00054         public static double standardDeviation(double... vals) {
00055                 if (vals == null || vals.length == 0) {
00056                         return 0;
00057                 }
00058 
00059                 final double mean = average(vals);
00060                 double variance = 0;
00061                 for (double val : vals) {
00062                         variance += Math.pow((val - mean), 2);
00063                 }
00064                 return Math.sqrt(variance / vals.length);
00065         }
00066 
00071         public static double standardDeviation(Double... vals) {
00072                 double[] valsArray = new double[vals.length];
00073                 for (int i = 0; i < valsArray.length; i++) {
00074                         valsArray[i] = vals[i];
00075                 }
00076                 return standardDeviation(valsArray);
00077         }
00078 
00083         private static double sum(double... vals) {
00084                 double sum = 0;
00085                 for (double val : vals) {
00086                         sum += val;
00087                 }
00088                 return sum;
00089         }
00090 }

Generated on Sat Apr 14 18:21:36 2007 for R3 Paper Toolkit by  doxygen 1.4.7