Class DoubleSparseArrayVector

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

public class DoubleSparseArrayVector
extends Object
implements SparseVector
Permet de stocker des données à une position lineaire et de la redemander. Cette classe ne gére que les données lineaire. L'avantage de cette classe est de ne conserver que les elements differents de la valeur par defaut, ce qui minimize la taille du tableau necessaire a conserver les données. Created: 6 octobre 2005 01:29:23 CEST
Version:
$Revision$ Last update: $Date$ by : $Author$
Author:
Benjamin POUSSIN <poussin@codelutin.com>
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected int assignedSize
    current number of assigned value
    protected int capacity
    maximum number of element, maximum pos value
    protected double defaultValue
    la valeur par defaut
    protected int[] position
    contient la position de l'element, le tableau est trie
    protected double[] values  
  • Constructor Summary

    Constructors 
    Constructor Description
    DoubleSparseArrayVector()  
    DoubleSparseArrayVector​(int capacity)  
    DoubleSparseArrayVector​(int capacity, double defaultValue)  
  • Method Summary

    Modifier and Type Method Description
    void add​(Vector v)
    Ajoute les valeurs du vector passé en argument a ce vector.
    protected void addElementAt​(int index, int element, double value)  
    protected void checkPos​(int pos)  
    protected void ensureCapacity​(int mincap)  
    boolean equals​(Object o)  
    protected int findIndex​(int pos)
    retourne la position dans le tableau position de la position lineaire
    int[] getAssignedPosition()
    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
    double[] getAssignedValue()
    Return an array in same order that getAssignedPosition.
    double getDefaultValue()
    Value to used if not un assigned value
    String getInfo()
    return information on this vector.
    double getMaxOccurence()
    Deprecated.
    double getMaxOccurrence()
    Retourne la valeur la plus utilise dans le vector
    int getNumberOfAssignedValue()
    Returne number of assigned value, assigned value is value stored in memory
    double getValue​(int pos)  
    int hashCode()  
    void init​(int capacity)
    Init vector, before this method call, vector is in indetermined state.
    boolean isImplementedAdd​(Vector v)
    Permet de savoir si add est implanté par ce vector.
    boolean isImplementedMap()
    Permet de savoir si map est implanté par ce vector.
    boolean isImplementedMinus​(Vector v)
    Permet de savoir si minus est implanté par ce vector.
    boolean isImplementedPaste​(Vector v)
    Permet de savoir si paste est implanté par ce vector.
    VectorIterator iterator()
    Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.
    VectorIterator iteratorNotZero()
    Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element different de 0 de la matrice.
    void map​(MapFunction f)
    on applique sur chaque donnée existante et sur default
    void minus​(Vector v)
    Soustrait les valeurs du vector passé en argument a ce vector.
    void paste​(Vector v)
    On recopie tous les attributs pour que le vector ressemble exactement a celui passé en argument
    protected void removeElementAt​(int index)  
    void setValue​(int pos, double value)  
    int size()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • defaultValue

      protected double defaultValue
      la valeur par defaut
    • capacity

      protected int capacity
      maximum number of element, maximum pos value
    • assignedSize

      protected int assignedSize
      current number of assigned value
    • position

      protected int[] position
      contient la position de l'element, le tableau est trie
    • values

      protected double[] values
  • Constructor Details

  • Method Details

    • init

      public void init​(int 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
    • 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:
    • getDefaultValue

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

      public int[] 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:
    • getNumberOfAssignedValue

      public int 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 int 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​(int pos)
    • getValue

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

      public void setValue​(int 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
    • findIndex

      protected int findIndex​(int pos)
      retourne la position dans le tableau position de la position lineaire
      Parameters:
      pos -
      Returns:
      la position ou < 0 donnant la position de l'element s'il etait present
    • ensureCapacity

      protected void ensureCapacity​(int mincap)
    • addElementAt

      protected void addElementAt​(int index, int element, double value)
    • removeElementAt

      protected void removeElementAt​(int index)
    • 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
    • isImplementedAdd

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

      public boolean isImplementedMinus​(Vector v)
      Description copied from interface: Vector
      Permet de savoir si minus est implanté par ce vector.
      Specified by:
      isImplementedMinus 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)
      On recopie tous les attributs pour que le vector ressemble exactement a celui passé en argument
      Specified by:
      paste in interface Vector
      Parameters:
      v - vector to paste
    • add

      public void add​(Vector v)
      Description copied from interface: Vector
      Ajoute les valeurs du vector passé en argument a ce vector.
      Specified by:
      add in interface Vector
      Parameters:
      v - vector to add
    • minus

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

      public void map​(MapFunction f)
      on applique sur chaque donnée existante et sur default
      Specified by:
      map in interface Vector
      Parameters:
      f - funtion to apply
    • 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é