blob: 190e092f028f491321b952c65c17595b8b8377f1 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.commons.math.stat.descriptive;
import org.apache.commons.math.DimensionMismatchException;
import org.apache.commons.math.linear.RealMatrix;
/**
* Implementation of
* {@link org.apache.commons.math.stat.descriptive.MultivariateSummaryStatistics} that
* is safe to use in a multithreaded environment. Multiple threads can safely
* operate on a single instance without causing runtime exceptions due to race
* conditions. In effect, this implementation makes modification and access
* methods atomic operations for a single instance. That is to say, as one
* thread is computing a statistic from the instance, no other thread can modify
* the instance nor compute another statistic.
* @since 1.2
* @version $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $
*/
public class SynchronizedMultivariateSummaryStatistics
extends MultivariateSummaryStatistics {
/** Serialization UID */
private static final long serialVersionUID = 7099834153347155363L;
/**
* Construct a SynchronizedMultivariateSummaryStatistics instance
* @param k dimension of the data
* @param isCovarianceBiasCorrected if true, the unbiased sample
* covariance is computed, otherwise the biased population covariance
* is computed
*/
public SynchronizedMultivariateSummaryStatistics(int k, boolean isCovarianceBiasCorrected) {
super(k, isCovarianceBiasCorrected);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void addValue(double[] value)
throws DimensionMismatchException {
super.addValue(value);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized int getDimension() {
return super.getDimension();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized long getN() {
return super.getN();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getSum() {
return super.getSum();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getSumSq() {
return super.getSumSq();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getSumLog() {
return super.getSumLog();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getMean() {
return super.getMean();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getStandardDeviation() {
return super.getStandardDeviation();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized RealMatrix getCovariance() {
return super.getCovariance();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getMax() {
return super.getMax();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getMin() {
return super.getMin();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized double[] getGeometricMean() {
return super.getGeometricMean();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized String toString() {
return super.toString();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void clear() {
super.clear();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized boolean equals(Object object) {
return super.equals(object);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized int hashCode() {
return super.hashCode();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getSumImpl() {
return super.getSumImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setSumImpl(StorelessUnivariateStatistic[] sumImpl)
throws DimensionMismatchException {
super.setSumImpl(sumImpl);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getSumsqImpl() {
return super.getSumsqImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setSumsqImpl(StorelessUnivariateStatistic[] sumsqImpl)
throws DimensionMismatchException {
super.setSumsqImpl(sumsqImpl);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getMinImpl() {
return super.getMinImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setMinImpl(StorelessUnivariateStatistic[] minImpl)
throws DimensionMismatchException {
super.setMinImpl(minImpl);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getMaxImpl() {
return super.getMaxImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setMaxImpl(StorelessUnivariateStatistic[] maxImpl)
throws DimensionMismatchException {
super.setMaxImpl(maxImpl);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getSumLogImpl() {
return super.getSumLogImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setSumLogImpl(StorelessUnivariateStatistic[] sumLogImpl)
throws DimensionMismatchException {
super.setSumLogImpl(sumLogImpl);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getGeoMeanImpl() {
return super.getGeoMeanImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setGeoMeanImpl(StorelessUnivariateStatistic[] geoMeanImpl)
throws DimensionMismatchException {
super.setGeoMeanImpl(geoMeanImpl);
}
/**
* {@inheritDoc}
*/
@Override
public synchronized StorelessUnivariateStatistic[] getMeanImpl() {
return super.getMeanImpl();
}
/**
* {@inheritDoc}
*/
@Override
public synchronized void setMeanImpl(StorelessUnivariateStatistic[] meanImpl)
throws DimensionMismatchException {
super.setMeanImpl(meanImpl);
}
}