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

Opened 12 years ago

Closed 12 years ago

#1058 closed defect (fixed)

Error en ExtractOrthoBlocks

Reported by: Ines Miranda Owned by: Pedro Gea
Priority: blocker Milestone: Development 1A
Component: Models Keywords: Ortho, Block
Cc: aberzosa@…

Description

Hola,

hemos detectado que el ExtractOrthoBlocks devuelve el bloque para ortogonalizar en orden incorrecta. Entrando en esta función (un código que entiendo que no ha cambiado desde la versión que yo tengo en local) hemos visto que se hace un Compare

Compare(v1::GetAttribute_Default("_.orthoOrder", 0), 
        v2::GetAttribute_Default("_.orthoOrder", 0))

y que aquí está el error. Al traer un texto no está detectando bien el orden. Añadiento un TextToReal

Compare(TextToReal(v1::GetAttribute_Default("_.orthoOrder", 0)), 
        TextToReal(v2::GetAttribute_Default("_.orthoOrder", 0)))

parece que se soluciona.
Lo podríais revisar y cambiar?

Gracias

Change History (2)

comment:1 Changed 12 years ago by Pedro Gea

Component: ModelExcelModels
Milestone: Development 1A
Status: newaccepted
version: 1

Entiendo que esto se ha detectado al ortogonalizar más de 10 términos.

El código que mencionas presupone que el atributo _.orthoOrder es de tipo Real, pero parece que por el método de creación (entiendo que ModelExcel) se están creando como textos, y el orden entre textos difiere del propio de los números cuando éstos tienen distinto número de cifras.

Haré lo siguiente:

Text order1 = ""<<v1::GetAttribute_Default("_.orthoOrder", 0);
Text order2 = ""<<v2::GetAttribute_Default("_.orthoOrder", 0);
Compare(Real Eval(order1), Real Eval(order2))

para considerar también la opción de que el atributo sea un número real.

comment:2 Changed 12 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

(In [3288]) Closes #1058

Note: See TracTickets for help on using tickets.