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

Closed 16 years ago

#608 closed defect (fixed)

BinGroup error

Reported by: jgarcia Owned by: Víctor de Buen Remiro
Priority: normal Milestone:
Component: SetAlgebra Version: head
Severity: blocker Keywords:
Cc:

Description

BinGroup function crash if Set param is an EvalSet as following example

TimeSet falla = BinGroup("Union", EvalSet(SetOfSerie(SubSer(CalInd(WD(7), Diario), y2008, y2009)), TimeSet(Serie sr)

{ SerTms(Not(IsUnknown(sr))) }));

If Set param is defined before BinGroup works perfectly

Set s = EvalSet(SetOfSerie(SubSer(CalInd(WD(7), Diario), y2008, y2009)), TimeSet(Serie sr)

{ SerTms(Not(IsUnknown(sr))) });

TimeSet falla = BinGroup("Union", s );

Change History (2)

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

Owner: changed from Jorge to Víctor de Buen Remiro

We are working about this bug
Thanks for reporting

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

Resolution: fixed
Status: newclosed

At first note that Union is not a binary operator as "+", but a n-ary one. So you should use Group("Union",...) that is more efficient that BinGroup("+",...). Even so, TOL should work fine and do not crash.
Problem was that BinGroup stores partial results using internal method CopyContens that was not implemented for TimeSet due it's imposible to make a copy of a pure virtual object. In order to avoid this problem CopyContens is implemented as a reference copy for TimeSet.
Problem has been fixed in HEAD

Note: See TracTickets for help on using tickets.