Package org.nuiton.math.matrix
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 intassignedSizecurrent number of assigned valueprotected intcapacitymaximum number of element, maximum pos valueprotected doubledefaultValuela valeur par defautprotected int[]positioncontient la position de l'element, le tableau est trieprotected double[]values -
Constructor Summary
Constructors Constructor Description DoubleSparseArrayVector()DoubleSparseArrayVector(int capacity)DoubleSparseArrayVector(int capacity, double defaultValue) -
Method Summary
Modifier and Type Method Description voidadd(Vector v)Ajoute les valeurs du vector passé en argument a ce vector.protected voidaddElementAt(int index, int element, double value)protected voidcheckPos(int pos)protected voidensureCapacity(int mincap)booleanequals(Object o)protected intfindIndex(int pos)retourne la position dans le tableau position de la position lineaireint[]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 arraydouble[]getAssignedValue()Return an array in same order that getAssignedPosition.doublegetDefaultValue()Value to used if not un assigned valueStringgetInfo()return information on this vector.doublegetMaxOccurence()Deprecated.doublegetMaxOccurrence()Retourne la valeur la plus utilise dans le vectorintgetNumberOfAssignedValue()Returne number of assigned value, assigned value is value stored in memorydoublegetValue(int pos)inthashCode()voidinit(int capacity)Init vector, before this method call, vector is in indetermined state.booleanisImplementedAdd(Vector v)Permet de savoir si add est implanté par ce vector.booleanisImplementedMap()Permet de savoir si map est implanté par ce vector.booleanisImplementedMinus(Vector v)Permet de savoir si minus est implanté par ce vector.booleanisImplementedPaste(Vector v)Permet de savoir si paste est implanté par ce vector.VectorIteratoriterator()Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.VectorIteratoriteratorNotZero()Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element different de 0 de la matrice.voidmap(MapFunction f)on applique sur chaque donnée existante et sur defaultvoidminus(Vector v)Soustrait les valeurs du vector passé en argument a ce vector.voidpaste(Vector v)On recopie tous les attributs pour que le vector ressemble exactement a celui passé en argumentprotected voidremoveElementAt(int index)voidsetValue(int pos, double value)intsize()
-
Field Details
-
defaultValue
protected double defaultValuela valeur par defaut -
capacity
protected int capacitymaximum number of element, maximum pos value -
assignedSize
protected int assignedSizecurrent number of assigned value -
position
protected int[] positioncontient la position de l'element, le tableau est trie -
values
protected double[] values
-
-
Constructor Details
-
DoubleSparseArrayVector
public DoubleSparseArrayVector() -
DoubleSparseArrayVector
public DoubleSparseArrayVector(int capacity) -
DoubleSparseArrayVector
public DoubleSparseArrayVector(int capacity, double defaultValue)
-
-
Method Details
-
init
public void init(int capacity)Description copied from interface:VectorInit 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 -
getInfo
Description copied from interface:Vectorreturn information on this vector. This information depends on implementation example: - size - max occurence number - ... -
getDefaultValue
public double getDefaultValue()Description copied from interface:SparseVectorValue to used if not un assigned value- Specified by:
getDefaultValuein interfaceSparseVector- Returns:
-
getAssignedPosition
public int[] getAssignedPosition()Description copied from interface:SparseVectorReturn 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:
getAssignedPositionin interfaceSparseVector- Returns:
-
getAssignedValue
public double[] getAssignedValue()Description copied from interface:SparseVectorReturn 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:
getAssignedValuein interfaceSparseVector- Returns:
-
getNumberOfAssignedValue
public int getNumberOfAssignedValue()Description copied from interface:VectorReturne number of assigned value, assigned value is value stored in memory- Specified by:
getNumberOfAssignedValuein interfaceVector
-
size
public int size() -
getMaxOccurence
Deprecated.- Specified by:
getMaxOccurencein interfaceVector
-
getMaxOccurrence
public double getMaxOccurrence()Description copied from interface:VectorRetourne la valeur la plus utilise dans le vector- Specified by:
getMaxOccurrencein interfaceVector- Returns:
-
checkPos
protected void checkPos(int pos) -
getValue
public double getValue(int pos) -
setValue
public void setValue(int pos, double value) -
equals
-
hashCode
public int hashCode() -
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
Description copied from interface:VectorPermet de savoir si paste est implanté par ce vector.- Specified by:
isImplementedPastein interfaceVector- Parameters:
v- vector to test- Returns:
trueif operation is supported
-
isImplementedAdd
Description copied from interface:VectorPermet de savoir si add est implanté par ce vector.- Specified by:
isImplementedAddin interfaceVector- Parameters:
v- vector to test- Returns:
trueif operation is supported
-
isImplementedMinus
Description copied from interface:VectorPermet de savoir si minus est implanté par ce vector.- Specified by:
isImplementedMinusin interfaceVector- Parameters:
v- vector to test- Returns:
trueif operation is supported
-
isImplementedMap
public boolean isImplementedMap()Description copied from interface:VectorPermet de savoir si map est implanté par ce vector.- Specified by:
isImplementedMapin interfaceVector- Returns:
trueif operation is supported
-
paste
On recopie tous les attributs pour que le vector ressemble exactement a celui passé en argument -
add
Description copied from interface:VectorAjoute les valeurs du vector passé en argument a ce vector. -
minus
Description copied from interface:VectorSoustrait les valeurs du vector passé en argument a ce vector. -
map
on applique sur chaque donnée existante et sur default -
iterator
Description copied from interface:VectorRetourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice. -
iteratorNotZero
Description copied from interface:VectorRetourne un objet Inc pret a etre utilisé pour boucler sur tous les element different de 0 de la matrice.- Specified by:
iteratorNotZeroin interfaceVector- Returns:
- un objet Inc pret à être utilisé
-