Class DoubleSparseHashVector

java.lang.Object
org.nuiton.math.matrix.DoubleSparseHashVector
All Implemented Interfaces:
SparseVector, Vector

public class DoubleSparseHashVector extends Object implements SparseVector
Permet de stocker des données differente de la valeur par defaut (0.0) dans une Map<int, double>. L'implantation pcj ne supporte pas la modification de la valeur par defaut. On permet que la matrice est plus de Integer.MAX_VALUE cellules mais on ne permet pas que la matrice est plus que Integer.MAX_VALUE valeur différente que le default value. Created: 05 septembre 2012
Version:
$Revision$ Last update: $Date$ by : $Author$
Author:
Benjamin POUSSIN <poussin@codelutin.com>
  • Field Details

    • defaultValue

      protected double defaultValue
    • data

      protected OpenLongDoubleHashMap data
    • capacity

      protected long capacity
  • Constructor Details

    • DoubleSparseHashVector

      public DoubleSparseHashVector()
    • DoubleSparseHashVector

      public DoubleSparseHashVector(long capacity)
    • DoubleSparseHashVector

      public DoubleSparseHashVector(long capacity, double defaultValue)
  • Method Details

    • init

      public void init(long capacity)
      Description copied from interface: Vector
      Init vector, before this method call, vector is in indetermined state. multiple call to init method must be permit. Only first call must do some work, extra call must do nothing
      Specified by:
      init in interface Vector
      Parameters:
      capacity -
    • getInfo

      public String getInfo()
      Description copied from interface: Vector
      return information on this vector. This information depends on implementation example: - size - max occurence number - ...
      Specified by:
      getInfo in interface Vector
      Returns:
    • getNumberOfAssignedValue

      public long getNumberOfAssignedValue()
      Description copied from interface: Vector
      Returne number of assigned value, assigned value is value stored in memory
      Specified by:
      getNumberOfAssignedValue in interface Vector
    • size

      public long size()
      Specified by:
      size in interface Vector
    • getMaxOccurence

      @Deprecated public double getMaxOccurence()
      Deprecated.
      Specified by:
      getMaxOccurence in interface Vector
    • getMaxOccurrence

      public double getMaxOccurrence()
      Description copied from interface: Vector
      Retourne la valeur la plus utilise dans le vector
      Specified by:
      getMaxOccurrence in interface Vector
      Returns:
    • checkPos

      protected void checkPos(long pos)
    • getValue

      public double getValue(long pos)
      Specified by:
      getValue in interface Vector
    • setValue

      public void setValue(long pos, double value)
      Specified by:
      setValue in interface Vector
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isImplementedPaste

      public boolean isImplementedPaste(Vector v)
      Description copied from interface: Vector
      Permet de savoir si paste est implanté par ce vector.
      Specified by:
      isImplementedPaste in interface Vector
      Parameters:
      v - vector to test
      Returns:
      true if operation is supported
    • isImplementedMap

      public boolean isImplementedMap()
      Description copied from interface: Vector
      Permet de savoir si map est implanté par ce vector.
      Specified by:
      isImplementedMap in interface Vector
      Returns:
      true if operation is supported
    • paste

      public void paste(Vector v)
      Description copied from interface: Vector
      Copie les valeurs du vector passé en argument dans ce vector.
      Specified by:
      paste in interface Vector
      Parameters:
      v - vector to paste
    • map

      public void map(MapFunction f)
      Description copied from interface: Vector
      applique a chaque valeur du vector la MapFunction. ATTENTION cette function ne doit pas converser d'etat interne qui modifierait son comportement a chaque execution, sinon cette methode ne fonctionne pas, car pour les Vector implanter a base de Map la fonction n'est appliqué qu'au defaultValue et au valeur deja existante
      Specified by:
      map in interface Vector
      Parameters:
      f - funtion to apply
    • getAssignedPosition

      public long[] getAssignedPosition()
      Description copied from interface: SparseVector
      Return an orderer array of position assigned, this array can be longer than realy assigned value, you must used getNumberOfAssignedValue to know number of significant position in array
      Specified by:
      getAssignedPosition in interface SparseVector
      Returns:
    • getAssignedValue

      public double[] getAssignedValue()
      Description copied from interface: SparseVector
      Return an array in same order that getAssignedPosition. This array contains values. This array can be longer than realy assigned value, you must used getNumberOfAssignedValue to know number of significant position in array
      Specified by:
      getAssignedValue in interface SparseVector
      Returns:
    • getDefaultValue

      public double getDefaultValue()
      Description copied from interface: SparseVector
      Value to used if not un assigned value
      Specified by:
      getDefaultValue in interface SparseVector
      Returns:
    • iterator

      public VectorIterator iterator()
      Description copied from interface: Vector
      Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.
      Specified by:
      iterator in interface Vector
      Returns:
      un objet Inc pret à être utilisé
    • iteratorNotZero

      public VectorIterator iteratorNotZero()
      Description copied from interface: Vector
      Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element different de 0 de la matrice.
      Specified by:
      iteratorNotZero in interface Vector
      Returns:
      un objet Inc pret à être utilisé
    • forEachNotZero

      public void forEachNotZero(VectorForEachFunction f)
      Specified by:
      forEachNotZero in interface Vector