Back to project page peepers.
The source code is released under:
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 ...
If you think the Android project peepers listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* Copyright 2013 Foxdog Studios Ltd */*from w ww . j av a 2 s. co m*/ * 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.foxdogstudios.peepers; /* package */ final class MovingAverage { private final int mNumValues; private final long[] mValues; private int mEnd = 0; private int mLength = 0; private long mSum = 0L; /* package */ MovingAverage(final int numValues) { super(); mNumValues = numValues; mValues = new long[numValues]; } // constructor() /* package */ void update(final long value) { mSum -= mValues[mEnd]; mValues[mEnd] = value; mEnd = (mEnd + 1) % mNumValues; if (mLength < mNumValues) { mLength++; } // if mSum += value; } // update(long) /* package */ double getAverage() { return mSum / (double) mLength; } // getAverage() } // class MovingAverage