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
  • Field Details

  • Constructor Details

    • 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 Details

    • 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 class AbstractFunction
    • 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:
      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:
      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:
      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:
      UnsupportedOperationException - If the function is not able to work on double data type.