﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
707	InterpolaL (StdLib) works wrong for a Series with negative changes only	Alfredo Torre	Víctor de Buen Remiro	"InterpolaL (from StdLib) works wrong when the original Series only has negative changes and, at least, one no change. Please, see the next example:

{{{
Serie Ser.Qua = SubSer(
100*Pulse(y2009m01d01, Quarterly) +
 90*Pulse(y2009m04d01, Quarterly) +
 90*Pulse(y2009m07d01, Quarterly) +
 80*Pulse(y2009m10d01, Quarterly),
y2009m01d01, y2010m01d01);
Serie Ser.Mon = InterpolaL(Ser.Qua, Monthly);


The problem is in InvChEx function. I suggest this new code for InterpolaL:

Serie InterpolaL(Serie ser, TimeSet dtn)
{
  Serie dser   = ((F-1):ser)>>CalInd(W,Dating(ser));
  Serie iper   = SubSer(CalVar(dtn,Dating(ser)),First(ser),Last(ser));
  Serie inc    = dser/iper;
  Serie dNser1 = InvCh(inc, Log(CalInd(W, dtn2)));
  Serie dNser2 = ExpandOmit(dNser1);
  Serie dNser  = (B):dNser2;
  Date  ini    = Succ(First(dNser),dtn,-1);
  Serie sIniP  = FirstS(ser)*CalInd(C,dtn);
  Serie sIni   = SubSer(sIniP,ini,ini);
  SubSer(DifEq(1/(1-B),dNser,sIni),ini,Last(ser))
};
}}}"	defect	closed	highest		Various	1.1.7	blocker	fixed	InterpolaL, negative changes	
