/testability-explorer/src/main/java/com/google/test/metric/WeightedAverage.java
http://testability-explorer.googlecode.com/ · Java · 47 lines · 24 code · 8 blank · 15 comment · 0 complexity · 0e37f80c9b6f7ae9f678c3750487dadd MD5 · raw file
- /*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
- package com.google.test.metric;
- public class WeightedAverage {
- public static final double WEIGHT = 0.3;
- private final double weight;
- private double overallSum = 0;
- private double overallSqr = 0;
- public WeightedAverage() {
- this(WEIGHT);
- }
- public WeightedAverage(double weight) {
- this.weight = weight;
- }
- public void addValue(long value) {
- overallSqr += Math.pow(value, weight + 1);
- overallSum += Math.pow(value, weight);
- }
- public double getAverage() {
- return overallSqr / overallSum;
- }
- @Override
- public String toString() {
- return String.format("%.2f / %.2f = %.2f", overallSqr, overallSum, getAverage());
- }
- }