1dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond/* 2dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * Licensed to the Apache Software Foundation (ASF) under one or more 3dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * contributor license agreements. See the NOTICE file distributed with 4dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * this work for additional information regarding copyright ownership. 5dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * The ASF licenses this file to You under the Apache License, Version 2.0 6dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * (the "License"); you may not use this file except in compliance with 7dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * the License. You may obtain a copy of the License at 8dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * 9dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * http://www.apache.org/licenses/LICENSE-2.0 10dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * 11dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * Unless required by applicable law or agreed to in writing, software 12dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * distributed under the License is distributed on an "AS IS" BASIS, 13dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * See the License for the specific language governing permissions and 15dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * limitations under the License. 16dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 17dee0849a9704d532af0b550146cbafbaa6ee1d19Raymondpackage org.apache.commons.math.stat.descriptive; 18dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 19dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond/** 20dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * Implementation of 21dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@link org.apache.commons.math.stat.descriptive.SummaryStatistics} that 22dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * is safe to use in a multithreaded environment. Multiple threads can safely 23dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * operate on a single instance without causing runtime exceptions due to race 24dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * conditions. In effect, this implementation makes modification and access 25dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * methods atomic operations for a single instance. That is to say, as one 26dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * thread is computing a statistic from the instance, no other thread can modify 27dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * the instance nor compute another statistic. 28dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * 29dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @since 1.2 30dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @version $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $ 31dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 32dee0849a9704d532af0b550146cbafbaa6ee1d19Raymondpublic class SynchronizedSummaryStatistics extends SummaryStatistics { 33dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 34dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** Serialization UID */ 35dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond private static final long serialVersionUID = 1909861009042253704L; 36dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 37dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 38dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * Construct a SynchronizedSummaryStatistics instance 39dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 40dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public SynchronizedSummaryStatistics() { 41dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super(); 42dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 43dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 44dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 45dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * A copy constructor. Creates a deep-copy of the {@code original}. 46dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * 47dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @param original the {@code SynchronizedSummaryStatistics} instance to copy 48dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 49dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public SynchronizedSummaryStatistics(SynchronizedSummaryStatistics original) { 50dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond copy(original, this); 51dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 52dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 53dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 54dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 55dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 56dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 57dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StatisticalSummary getSummary() { 58dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getSummary(); 59dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 60dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 61dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 62dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 63dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 64dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 65dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void addValue(double value) { 66dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.addValue(value); 67dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 68dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 69dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 70dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 71dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 72dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 73dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized long getN() { 74dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getN(); 75dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 76dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 77dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 78dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 79dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 80dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 81dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getSum() { 82dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getSum(); 83dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 84dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 85dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 86dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 87dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 88dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 89dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getSumsq() { 90dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getSumsq(); 91dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 92dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 93dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 94dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 95dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 96dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 97dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getMean() { 98dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getMean(); 99dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 100dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 101dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 102dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 103dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 104dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 105dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getStandardDeviation() { 106dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getStandardDeviation(); 107dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 108dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 109dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 110dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 111dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 112dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 113dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getVariance() { 114dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getVariance(); 115dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 116dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 117dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 118dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 119dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 120dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 121dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getMax() { 122dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getMax(); 123dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 124dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 125dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 126dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 127dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 128dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 129dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getMin() { 130dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getMin(); 131dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 132dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 133dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 134dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 135dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 136dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 137dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized double getGeometricMean() { 138dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getGeometricMean(); 139dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 140dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 141dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 142dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 143dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 144dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 145dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized String toString() { 146dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.toString(); 147dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 148dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 149dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 150dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 151dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 152dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 153dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void clear() { 154dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.clear(); 155dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 156dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 157dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 158dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 159dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 160dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 161dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized boolean equals(Object object) { 162dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.equals(object); 163dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 164dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 165dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 166dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 167dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 168dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 169dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized int hashCode() { 170dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.hashCode(); 171dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 172dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 173dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 174dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 175dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 176dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 177dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getSumImpl() { 178dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getSumImpl(); 179dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 180dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 181dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 182dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 183dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 184dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 185dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setSumImpl(StorelessUnivariateStatistic sumImpl) { 186dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setSumImpl(sumImpl); 187dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 188dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 189dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 190dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 191dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 192dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 193dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getSumsqImpl() { 194dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getSumsqImpl(); 195dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 196dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 197dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 198dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 199dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 200dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 201dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setSumsqImpl(StorelessUnivariateStatistic sumsqImpl) { 202dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setSumsqImpl(sumsqImpl); 203dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 204dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 205dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 206dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 207dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 208dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 209dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getMinImpl() { 210dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getMinImpl(); 211dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 212dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 213dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 214dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 215dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 216dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 217dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setMinImpl(StorelessUnivariateStatistic minImpl) { 218dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setMinImpl(minImpl); 219dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 220dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 221dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 222dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 223dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 224dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 225dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getMaxImpl() { 226dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getMaxImpl(); 227dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 228dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 229dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 230dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 231dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 232dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 233dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setMaxImpl(StorelessUnivariateStatistic maxImpl) { 234dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setMaxImpl(maxImpl); 235dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 236dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 237dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 238dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 239dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 240dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 241dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getSumLogImpl() { 242dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getSumLogImpl(); 243dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 244dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 245dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 246dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 247dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 248dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 249dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setSumLogImpl(StorelessUnivariateStatistic sumLogImpl) { 250dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setSumLogImpl(sumLogImpl); 251dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 252dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 253dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 254dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 255dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 256dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 257dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getGeoMeanImpl() { 258dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getGeoMeanImpl(); 259dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 260dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 261dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 262dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 263dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 264dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 265dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setGeoMeanImpl(StorelessUnivariateStatistic geoMeanImpl) { 266dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setGeoMeanImpl(geoMeanImpl); 267dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 268dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 269dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 270dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 271dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 272dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 273dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getMeanImpl() { 274dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getMeanImpl(); 275dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 276dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 277dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 278dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 279dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 280dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 281dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setMeanImpl(StorelessUnivariateStatistic meanImpl) { 282dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setMeanImpl(meanImpl); 283dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 284dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 285dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 286dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 287dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 288dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 289dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized StorelessUnivariateStatistic getVarianceImpl() { 290dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return super.getVarianceImpl(); 291dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 292dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 293dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 294dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * {@inheritDoc} 295dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 296dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 297dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized void setVarianceImpl(StorelessUnivariateStatistic varianceImpl) { 298dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond super.setVarianceImpl(varianceImpl); 299dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 300dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 301dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 302dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * Returns a copy of this SynchronizedSummaryStatistics instance with the 303dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * same internal state. 304dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * 305dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @return a copy of this 306dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 307dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond @Override 308dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public synchronized SynchronizedSummaryStatistics copy() { 309dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond SynchronizedSummaryStatistics result = 310dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond new SynchronizedSummaryStatistics(); 311dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond copy(this, result); 312dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond return result; 313dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 314dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 315dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond /** 316dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * Copies source to dest. 317dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * <p>Neither source nor dest can be null.</p> 318dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * <p>Acquires synchronization lock on source, then dest before copying.</p> 319dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * 320dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @param source SynchronizedSummaryStatistics to copy 321dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @param dest SynchronizedSummaryStatistics to copy to 322dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond * @throws NullPointerException if either source or dest is null 323dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond */ 324dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond public static void copy(SynchronizedSummaryStatistics source, 325dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond SynchronizedSummaryStatistics dest) { 326dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond synchronized (source) { 327dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond synchronized (dest) { 328dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond SummaryStatistics.copy(source, dest); 329dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 330dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 331dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond } 332dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond 333dee0849a9704d532af0b550146cbafbaa6ee1d19Raymond} 334