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 9 years ago

Closed 8 years ago

#1919 closed enhancement (fixed)

Agilizar la función SetSumC

Reported by: Pedro Gea Owned by: Pedro Gea
Priority: normal Milestone: Mantainance
Component: Kernel Version:
Severity: normal Keywords:
Cc:

Description

Se necesita aumentar la eficiencia de SetSumC del paquete StdLib en la medida de lo posible.

Change History (4)

comment:1 Changed 9 years ago by Pedro Gea

SetSumC suma las series en el mayor intervalo posible, suponiendo ceros en las series que no están definidas en él.

La función es especialmente costosa en la concatenación de series, por eso, se intenta evitar en la medida de lo posible.
Se sugiere una posible alternativa:

Serie SetSumC(Set s) {
  Date begin = Group("Min", EvalSet(s, First));
  Date end = Group("Max", EvalSet(s, Last));
  Serie w = SubSer(CalInd(W, Dating(s[1])), begin, end);
  Serie SetSum(EvalSet(s, Serie (Serie ss) { 
    Date b = First(ss);
    Date e = Last(ss);
    If(b==begin, If(e==end, ss, ss>>w), If(e==end, w<<ss, w<<ss>>w))
    //w<<ss>>w 
  }))
};

Necesitaría comprobar que el conjunto de series no es vacío y quizá que todas las series están en el mismo fechado.

comment:2 Changed 9 years ago by Jorge

(In [7243]) refs #1919, se implementa una funcion SetSumC mas eficiente, incluido un test que verifica resultado respecto a la anterior implementacion

comment:3 Changed 9 years ago by Jorge

(In [7289]) refs #1919, se incrmenta aún más la eficiencia convirtiendo a matrices

comment:4 Changed 8 years ago by Pedro Gea

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.