Package org.nuiton.math.matrix
Class LazyVector
java.lang.Object
org.nuiton.math.matrix.LazyVector
- All Implemented Interfaces:
Vector
Cette classe encapsule un Vector et permet de l'initialiser reellement que
lorsqu'on souhaite modifier une valeur. Cela permet de ne pas initialise
d'enorme tableau s'il n'y en a pas besoin. Chaque lazy est initialisé avec
un Vector non initialise, lorsque l'on fait un paste, si le vector a partir
duquel on fait le paste est aussi un lazy, alors on partage le backend
jusqu'a ce qu'un des deux vector veuille modifier une de ses valeurs.
- Version:
- $Revision$ Last update: $Date$ by : $Author$
- Author:
- poussin
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classIterator qui retourne toujours la meme valeur un certain nombre de foisprotected classIterator qui prepare le backend que lors d'un set -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Vectorreel backend, not initialized since not necessaryprotected longprotected booleanprotected AtomicInteger -
Constructor Summary
ConstructorsConstructorDescriptionLazyVector(Vector backend) Create new lazy, with initialized backendLazyVector(Vector backend, long capacity) Create new lazy with not initialized backend -
Method Summary
Modifier and TypeMethodDescriptionvoidAjoute les valeurs du vector passé en argument a ce vector.booleangetInfo()return information on this vector.doubledoubleRetourne la valeur la plus utilise dans le vectorlongReturne number of assigned value, assigned value is value stored in memorydoublegetValue(long pos) inthashCode()voidinit(long capacity) Init vector, before this method call, vector is in indetermined state.booleanPermet de savoir si add est implanté par ce vector.booleanPermet de savoir si map est implanté par ce vector.booleanPermet de savoir si minus est implanté par ce vector.booleanPermet de savoir si paste est implanté par ce vector.iterator()Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element different de 0 de la matrice.voidmap(MapFunction f) applique a chaque valeur du vector laMapFunction.voidSoustrait les valeurs du vector passé en argument a ce vector.voidCopie les valeurs du vector passé en argument dans ce vector.protected voidpasteToBackend(Vector target, Vector copy) Before call this method backend, must be initializedprotected voidvoidsetValue(long pos, double value) longsize()
-
Field Details
-
isInitBackend
protected boolean isInitBackend -
backend
reel backend, not initialized since not necessary -
users
-
capacity
protected long capacity
-
-
Constructor Details
-
LazyVector
Create new lazy, with initialized backend- Parameters:
backend-
-
LazyVector
Create new lazy with not initialized backend- Parameters:
backend-capacity-
-
-
Method Details
-
init
public void init(long 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 - ... -
getNumberOfAssignedValue
public long getNumberOfAssignedValue()Description copied from interface:VectorReturne number of assigned value, assigned value is value stored in memory- Specified by:
getNumberOfAssignedValuein interfaceVector
-
getMaxOccurence
public double getMaxOccurence()- 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:
-
getValue
public double getValue(long pos) -
setValue
public void setValue(long pos, double value) -
size
public long size() -
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
Description copied from interface:VectorCopie les valeurs du vector passé en argument dans ce vector. -
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
Description copied from interface:Vectorapplique a chaque valeur du vector laMapFunction. 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 -
equals
-
hashCode
public int hashCode() -
prepareBackendForModification
protected void prepareBackendForModification() -
pasteToBackend
Before call this method backend, must be initialized- Parameters:
target-copy-
-
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é
-