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

Last modified 14 years ago

#1016 closed defect

problema con la función "Unique" — at Version 1

Reported by: Jorge Conde Owned by: Víctor de Buen Remiro
Priority: normal Milestone:
Component: System Version:
Severity: normal Keywords:
Cc:

Description (last modified by Víctor de Buen Remiro)

La función Unique recibe un set como argumento, y comprueba si estos son iguales, en cuyo caso solo devuelve una vez el elemento "repetido". Seguramente la implementación de la función no consideraba la posibilidad de que los elementos de la comparación fueran Sets, aunque generalmente funciona para tal tipo de objetos, y casi más seguro no contemplaba la posibilidad de que sean NameBlocks. Si se usa con Nameblocks aparece un "problema", que se ve con el siguiente ejemplo:

si se compila

NameBlock A1 = [[
  Real a = 1,
  Real b = 2
]];
NameBlock A2 = [[
  Real a = 1,
  Real b = 2
]];
Set AB = [[A1, A2]];
Set C = Unique(AB); 

la función Unique funciona sin problemas, el set C contiene un elemento y se entiende que la comparación funciona con NameBlocks. Sin embargo si diferenciamos los NameBlocks...

NameBlock A1 = [[
  Real a = 1,
  Real b = 2,
  Real c = 3
]];
NameBlock A2 = [[
  Real a = 1,
  Real b = 2
]];
Set AB = [[A1, A2]];
Set C = Unique(AB); 

... tol tiene un error fatal y se cierra!

Seguramente el ticket es una curiosidad, pero seria deseable que si la operación no es correcta aparezca un error y que tol no se cierre.

Change History (1)

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

Description: modified (diff)
Status: newaccepted

Efectivamente, puede hacer cualquier cosa menos caerse.

Note: See TracTickets for help on using tickets.