close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#1011 closed enhancement (fixed)

Nuevas funciones de modificación y borrado de elementos de un conjunto

Reported by: Víctor de Buen Remiro Owned by: Víctor de Buen Remiro
Priority: highest Milestone: Mantainance
Component: SetAlgebra Version: head
Severity: critical Keywords:
Cc:

Description

Al igual que existe una función para añadir elementos a un conjunto ya creado de forma eficiente

Set Append(Set set1, Set set2, [Real incrementalIndexByName=False])
/*
Concatena los elementos del conjunto set1 al final de set2 sin 
eliminar elementos repetidos y conservando el orden.
Si incrementalIndexByName es cierto entonces el índice de nombres, 
se mantendrá incrementalmente, siempre y cuando ya existiera 
previamente y los nuevos elementos sean compatibles, o bien se 
creará un índice nuevo si se parte del conjunto vacío.
*/

deberían existir las correspondientes funciones para eliminar y reemplazar un elemento ya existente.

Change History (5)

comment:1 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

(In [2679]) Fixes #1011

comment:2 Changed 14 years ago by Víctor de Buen Remiro

(In [2685]) Refs #1011

comment:3 Changed 14 years ago by Víctor de Buen Remiro

(In [2686]) Fixed #1011
Remove and Replace must update the index by name if exists

comment:4 Changed 14 years ago by Víctor de Buen Remiro

Esta es la API final de las funciones solicitadas

Set Remove(Set set, Real n, Real deleteOld)

Elimina el n-esimo elemento de un conjunto e intenta borrar el viejo de la memoria si deleteOld es cierto.
Devuelve el propio conjunto con el resto de elementos.
Si el conjunto estaba indexado por nombre el índice será actualizado

Set Replace(Set set, Real n, Anything new, Real deleteOld)

Reemplaza el n-ésimo elemento de un conjunto por otro nuevo e intenta borrar el viejo de la memoria si deleteOld es cierto.
Devuelve el propio conjunto con el elemento cambiado.
Si el conjunto estaba indexado por nombre el índice será actualizado

comment:5 Changed 14 years ago by Pedro Gea

(In [2687]) Se modifica la función IsTolName ya que provoca una advertencia a causa de la nueva función Replace.
Quizá dentro de la StdLib hay otras funciones en circunstancias similares.
Refs #1011

Note: See TracTickets for help on using tickets.