Class AbstractWeightedArrayFunction
- java.lang.Object
-
- microsim.statistics.functions.AbstractFunction
-
- microsim.statistics.weighted.functions.AbstractWeightedArrayFunction
-
- All Implemented Interfaces:
EventListener
,IUpdatableSource
- Direct Known Subclasses:
Weighted_MeanArrayFunction
,Weighted_SumArrayFunction
public abstract class AbstractWeightedArrayFunction extends AbstractFunction
This class represents the skeleton for all the function which operate on array of native data type values, appropriately weighted by weights specified in a corresponding array of doubles. Each inheriting class automatically implements the IUpdatableSource and the ISimEventListener, which are managed by the AbstractWeightedArrayFunction.Title: JAS-mine
Description: Java Agent-based Simulation library. Modelling in a Networked Environment
Copyright (C) 2017 Michele Sonnessa and Ross Richardson
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.- Author:
- Michele Sonnessa and Ross Richardson
-
-
Constructor Summary
Constructors Constructor Description AbstractWeightedArrayFunction(IWeightedDoubleArraySource source)
Create a function on a double array source.AbstractWeightedArrayFunction(IWeightedFloatArraySource source)
Create a function on a float array source.AbstractWeightedArrayFunction(IWeightedIntArraySource source)
Create a function on an integer array source.AbstractWeightedArrayFunction(IWeightedLongArraySource source)
Create a function on a long array source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
apply(double[] data, double[] weights)
Apply the function on a the given array of double values.void
apply(float[] data, double[] weights)
Apply the function on a the given array of float values.void
apply(int[] data, double[] weights)
Apply the function on a the given array of integer values.void
apply(long[] data, double[] weights)
Apply the function on a the given array of long values.void
applyFunction()
Force the function to update itself.-
Methods inherited from class microsim.statistics.functions.AbstractFunction
isCheckingTime, onEvent, setCheckingTime, updateSource
-
-
-
-
Constructor Detail
-
AbstractWeightedArrayFunction
public AbstractWeightedArrayFunction(IWeightedDoubleArraySource source)
Create a function on a double array source.- Parameters:
source
- The data source.
-
AbstractWeightedArrayFunction
public AbstractWeightedArrayFunction(IWeightedFloatArraySource source)
Create a function on a float array source.- Parameters:
source
- The data source.
-
AbstractWeightedArrayFunction
public AbstractWeightedArrayFunction(IWeightedIntArraySource source)
Create a function on an integer array source.- Parameters:
source
- The data source.
-
AbstractWeightedArrayFunction
public AbstractWeightedArrayFunction(IWeightedLongArraySource source)
Create a function on a long array source.- Parameters:
source
- The data source.
-
-
Method Detail
-
applyFunction
public void applyFunction()
Force the function to update itself. If the data source implements the IUpdatableSource interface it is updated before reading data.- Specified by:
applyFunction
in classAbstractFunction
-
apply
public void apply(double[] data, double[] weights)
Apply the function on a the given array of double values.- Parameters:
data
- A source array of values.weights
- An array of weights.- Throws:
java.lang.UnsupportedOperationException
- If the function is not able to work on double data type.
-
apply
public void apply(float[] data, double[] weights)
Apply the function on a the given array of float values.- Parameters:
data
- A source array of values.weights
- An array of weights.- Throws:
java.lang.UnsupportedOperationException
- If the function is not able to work on double data type.
-
apply
public void apply(int[] data, double[] weights)
Apply the function on a the given array of integer values.- Parameters:
data
- A source array of values.weights
- An array of weights.- Throws:
java.lang.UnsupportedOperationException
- If the function is not able to work on double data type.
-
apply
public void apply(long[] data, double[] weights)
Apply the function on a the given array of long values.- Parameters:
data
- A source array of values.weights
- An array of weights.- Throws:
java.lang.UnsupportedOperationException
- If the function is not able to work on double data type.
-
-