[Libreoffice-commits] core.git: sc/source
Johnny_M
klasse at partyheld.de
Wed Nov 1 18:48:26 UTC 2017
sc/source/core/opencl/op_financial.cxx | 294 ++++++++++++++++-----------------
1 file changed, 147 insertions(+), 147 deletions(-)
New commits:
commit d943d9e7f738d539a9715c8ba376d2c64833117d
Author: Johnny_M <klasse at partyheld.de>
Date: Sat Oct 28 13:29:40 2017 +0200
Translate German variable names in Calc (financial)
These names of variables correspond to German function names in Calc and were
translated to their English equivalents. For used translations, see, e.g.,
https://translations.documentfoundation.org/de/libo54_help/translate/#search=RMZ&sfields=target&soptions=exact,case
Notes:
- The translation here is equal to the translation of variables done on
https://gerrit.libreoffice.org/43078 , etc, with following exception: the arguments
of financial functions stick closer to their English equivalents in the function
descriptions in LO and MS Excel help (i.e., "Cost, Salvage, Life" instead of "Interest,
Rest, TimeLenght", etc. on some earlier translations).
- Code function names (e.g., "GetRmz_new") will be translated on a separate,
later Gerrit change
Change-Id: I91615464521480ebde3034f6d383f601e83b9b06
Reviewed-on: https://gerrit.libreoffice.org/43987
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
diff --git a/sc/source/core/opencl/op_financial.cxx b/sc/source/core/opencl/op_financial.cxx
index c47457f87d1d..3c9a6d775c35 100644
--- a/sc/source/core/opencl/op_financial.cxx
+++ b/sc/source/core/opencl/op_financial.cxx
@@ -890,8 +890,8 @@ vSubArguments)
}
ss <<" nPayType = (int)"<<vSubArguments[5]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" double fRmz;\n";
- ss <<" fRmz = GetRmz_new( fRate, nNumPeriods, fVal, 0.0, nPayType );\n";
+ ss <<" double fPmt;\n";
+ ss <<" fPmt = GetRmz_new( fRate, nNumPeriods, fVal, 0.0, nPayType );\n";
ss <<" double tmp = 0.0;\n";
ss <<" if( nStartPer == 1 )\n";
ss <<" {\n";
@@ -903,10 +903,10 @@ vSubArguments)
ss <<" {\n";
ss <<" if( nPayType > 0 )\n";
ss <<" tmp += GetZw_new( fRate, nStartPer - 2 , ";
- ss <<"fRmz, fVal, 1 ) - fRmz;\n";
+ ss <<"fPmt, fVal, 1 ) - fPmt;\n";
ss <<" else\n";
ss <<" tmp += GetZw_new( fRate, nStartPer - 1 , ";
- ss <<"fRmz, fVal, 0 );\n";
+ ss <<"fPmt, fVal, 0 );\n";
ss <<" }\n";
ss <<" tmp *= fRate;\n";
ss <<" return tmp;\n";
@@ -932,7 +932,7 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << " double fEstimated = ";
ss << vSubArguments[1]->GenSlidingWindowDeclRef() << ";\n";
ss << " double fEps = 1.0;\n";
- ss << " double x = 0.0, xNeu = 0.0, fZaehler = 0.0, fNenner = 0.0;\n";
+ ss << " double x = 0.0, xNew = 0.0, fNumerator = 0.0, fDenominator = 0.0;\n";
ss << " double nCount = 0.0;\n";
if (pSur->GetType() == formula::svSingleVectorRef)
{
@@ -953,7 +953,7 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << " x = fEstimated;\n";
ss << " unsigned short nItCount = 0;\n";
ss << " while (fEps > Epsilon && nItCount < 20){\n";
- ss << " nCount = 0.0; fZaehler = 0.0; fNenner = 0.0;\n";
+ ss << " nCount = 0.0; fNumerator = 0.0; fDenominator = 0.0;\n";
ss << " double arg0, arg1;\n";
ss << " int i = 0;\n";
FormulaToken* pCur = vSubArguments[0]->GetFormulaToken();
@@ -971,13 +971,13 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << " arg1 = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef() << ";\n";
ss << " if (!isnan(arg0)){\n";
- ss << " fZaehler += arg0 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg0 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
ss << " nCount += 1;\n";
ss << " }\n";
ss << " if (!isnan(arg1)){\n";
- ss << " fZaehler += arg1 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg1 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
ss << " nCount += 1;\n";
ss << " }\n";
ss << " }\n";
@@ -990,16 +990,16 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << " arg0 = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef() << ";\n";
ss << " if (!isnan(arg0)){\n";
- ss << " fZaehler += arg0 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg0 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
ss << " nCount += 1;\n";
ss << " }\n";
ss << " i++;\n";
ss << " arg1 = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef() << ";\n";
ss << " if (!isnan(arg1)){\n";
- ss << " fZaehler += arg1 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg1 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
ss << " nCount+=1;\n";
ss << " }\n";
ss << " }\n";
@@ -1015,13 +1015,13 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << " arg1 = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef() << ";\n";
ss << " if (!isnan(arg0)){\n";
- ss << " fZaehler += arg0 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg0 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
ss << " nCount += 1;\n";
ss << " }\n";
ss << " if (!isnan(arg1)){\n";
- ss << " fZaehler += arg1 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg1 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
ss << " nCount+=1;\n";
ss << " }\n";
ss << " }\n";
@@ -1036,13 +1036,13 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << " arg1 = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef() << ";\n";
ss << " if (!isnan(arg0)){\n";
- ss << " fZaehler += arg0 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg0 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg0/pow(1.0+x,nCount+1.0);\n";
ss << " nCount += 1;\n";
ss << " }\n";
ss << " if (!isnan(arg1)){\n";
- ss << " fZaehler += arg1 / pow(1.0 + x, nCount);\n";
- ss << " fNenner+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg1 / pow(1.0 + x, nCount);\n";
+ ss << " fDenominator+=-1*nCount*arg1/pow(1.0+x,nCount+1.0);\n";
ss << " nCount+=1;\n";
ss << " }\n";
ss << " }\n";
@@ -1053,13 +1053,13 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
ss << vSubArguments[0]->GenSlidingWindowDeclRef() << ";\n";
ss << " if (isnan(arg0))\n";
ss << " continue;\n";
- ss << " fZaehler += arg0 / pow(1.0+x, nCount);\n";
- ss << " fNenner += -nCount * arg0 / pow(1.0+x,nCount+1.0);\n";
+ ss << " fNumerator += arg0 / pow(1.0+x, nCount);\n";
+ ss << " fDenominator += -nCount * arg0 / pow(1.0+x,nCount+1.0);\n";
ss << " nCount+=1;\n";
ss << " }\n";
- ss << " xNeu = x - fZaehler / fNenner;\n";
- ss << " fEps = fabs(xNeu - x);\n";
- ss << " x = xNeu;\n";
+ ss << " xNew = x - fNumerator / fDenominator;\n";
+ ss << " fEps = fabs(xNew - x);\n";
+ ss << " x = xNew;\n";
ss << " nItCount++;\n }\n";
ss << " if (fEstimated == 0.0 && fabs(x) < Epsilon)\n";
ss << " x = 0.0;\n";
@@ -1688,24 +1688,24 @@ void OpCumprinc::GenSlidingWindowFunction(std::stringstream &ss,
ss <<" nPayType = (int)";
ss <<vSubArguments[5]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" double fRmz;\n";
- ss <<" fRmz = GetRmz_new( fRate, nNumPeriods,fVal,0.0,nPayType );\n";
+ ss <<" double fPmt;\n";
+ ss <<" fPmt = GetRmz_new( fRate, nNumPeriods,fVal,0.0,nPayType );\n";
ss <<" if(nStartPer == 1)\n";
ss <<" {\n";
ss <<" if( nPayType <= 0 )\n";
- ss <<" tmp = fRmz + fVal * fRate;\n";
+ ss <<" tmp = fPmt + fVal * fRate;\n";
ss <<" else\n";
- ss <<" tmp = fRmz;\n";
+ ss <<" tmp = fPmt;\n";
ss <<" nStartPer=nStartPer+1;\n";
ss <<" }\n";
ss <<" for( int i = nStartPer ; i <= nEndPer ; i++ )\n";
ss <<" {\n";
ss <<" if( nPayType > 0 )\n";
- ss <<" tmp += fRmz - ( GetZw_new( fRate,i - 2,";
- ss <<"fRmz,fVal,1)- fRmz ) * fRate;\n";
+ ss <<" tmp += fPmt - ( GetZw_new( fRate,i - 2,";
+ ss <<"fPmt,fVal,1)- fPmt ) * fRate;\n";
ss <<" else\n";
- ss <<" tmp += fRmz - GetZw_new( fRate, i - 1,";
- ss <<"fRmz,fVal,0 ) * fRate;\n";
+ ss <<" tmp += fPmt - GetZw_new( fRate, i - 1,";
+ ss <<"fPmt,fVal,0 ) * fRate;\n";
ss <<" }\n";
ss <<" return tmp;\n";
ss <<"}";
@@ -2116,9 +2116,9 @@ void OpSLN::GenSlidingWindowFunction(std::stringstream &ss,
ss << ") {\n";
ss << " double tmp = 0;\n";
ss << " int gid0 = get_global_id(0);\n";
- ss << " double wert;\n";
- ss << " double rest;\n";
- ss << " double dauer;\n";
+ ss << " double cost;\n";
+ ss << " double salvage;\n";
+ ss << " double life;\n";
FormulaToken *tmpCur0 = vSubArguments[0]->GetFormulaToken();
const formula::SingleVectorRefToken*tmpCurDVR0=
@@ -2129,37 +2129,37 @@ void OpSLN::GenSlidingWindowFunction(std::stringstream &ss,
FormulaToken *tmpCur2 = vSubArguments[2]->GetFormulaToken();
const formula::SingleVectorRefToken*tmpCurDVR2=
static_cast<const formula::SingleVectorRefToken *>(tmpCur2);
- ss<< " int buffer_wert_len = ";
+ ss<< " int buffer_cost_len = ";
ss<< tmpCurDVR0->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_rest_len = ";
+ ss<< " int buffer_salvage_len = ";
ss<< tmpCurDVR1->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_dauer_len = ";
+ ss<< " int buffer_life_len = ";
ss<< tmpCurDVR2->GetArrayLength();
ss << ";\n";
- ss<<" if(gid0>=buffer_wert_len || isnan(";
+ ss<<" if(gid0>=buffer_cost_len || isnan(";
ss << vSubArguments[0]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" wert = 0;\n\telse \n";
- ss<<" wert = ";
+ ss<<" cost = 0;\n\telse \n";
+ ss<<" cost = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef();
ss<<";\n";
- ss<<" if(gid0>=buffer_rest_len || isnan(";
+ ss<<" if(gid0>=buffer_salvage_len || isnan(";
ss << vSubArguments[1]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" rest = 0;\n\telse \n";
- ss<<" rest = ";
+ ss<<" salvage = 0;\n\telse \n";
+ ss<<" salvage = ";
ss << vSubArguments[1]->GenSlidingWindowDeclRef();
ss<<";\n";
- ss<<" if(gid0>=buffer_dauer_len || isnan(";
+ ss<<" if(gid0>=buffer_life_len || isnan(";
ss << vSubArguments[2]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" dauer = 0;\n\telse \n";
- ss<<" dauer = ";
+ ss<<" life = 0;\n\telse \n";
+ ss<<" life = ";
ss << vSubArguments[2]->GenSlidingWindowDeclRef();
ss<<";\n";
- ss << " tmp = (wert-rest)*pow(dauer,-1);\n";
+ ss << " tmp = (cost-salvage)*pow(life,-1);\n";
ss << " return tmp;\n";
ss << "}";
}
@@ -4304,8 +4304,8 @@ void OpDDB::GenSlidingWindowFunction(std::stringstream& ss,
ss << ") {\n";
ss << " int gid0 = get_global_id(0);\n";
ss << " double tmp = 0;\n";
- ss << " double fWert,fRest,fDauer,fPeriode,fFaktor;\n";
- ss << " double fZins, fAlterWert, fNeuerWert;\n";
+ ss << " double fCost, fSalvage, fLife, fPeriod, fFactor;\n";
+ ss << " double fRate, fOldValue, fNewValue;\n";
FormulaToken* tmpCur0 = vSubArguments[0]->GetFormulaToken();
FormulaToken* tmpCur1 = vSubArguments[1]->GetFormulaToken();
@@ -4319,9 +4319,9 @@ void OpDDB::GenSlidingWindowFunction(std::stringstream& ss,
ss <<" if(gid0 >= "<<tmpCurDVR0->GetArrayLength()<<" || isnan(";
ss <<vSubArguments[0]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" fWert = 0;\n else\n";
+ ss <<" fCost = 0;\n else\n";
}
- ss <<" fWert = "<<vSubArguments[0]->GenSlidingWindowDeclRef();
+ ss <<" fCost = "<<vSubArguments[0]->GenSlidingWindowDeclRef();
ss <<";\n";
if(tmpCur1->GetType() == formula::svSingleVectorRef)
{
@@ -4330,9 +4330,9 @@ void OpDDB::GenSlidingWindowFunction(std::stringstream& ss,
ss <<" if(gid0 >= "<<tmpCurDVR1->GetArrayLength()<<" || isnan(";
ss <<vSubArguments[1]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" fRest = 0;\n else\n";
+ ss <<" fSalvage = 0;\n else\n";
}
- ss <<" fRest = ";
+ ss <<" fSalvage = ";
ss <<vSubArguments[1]->GenSlidingWindowDeclRef();
ss <<";\n";
if(tmpCur2->GetType() == formula::svSingleVectorRef)
@@ -4342,9 +4342,9 @@ void OpDDB::GenSlidingWindowFunction(std::stringstream& ss,
ss <<" if(gid0 >= "<<tmpCurDVR2->GetArrayLength()<<" || isnan(";
ss <<vSubArguments[2]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" fDauer = 0;\n else\n";
+ ss <<" fLife = 0;\n else\n";
}
- ss <<" fDauer = ";
+ ss <<" fLife = ";
ss <<vSubArguments[2]->GenSlidingWindowDeclRef();
ss <<";\n";
if(tmpCur3->GetType() == formula::svSingleVectorRef)
@@ -4354,9 +4354,9 @@ void OpDDB::GenSlidingWindowFunction(std::stringstream& ss,
ss <<" if(gid0 >= "<<tmpCurDVR3->GetArrayLength()<<" || isnan(";
ss <<vSubArguments[3]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" fPeriode = 0;\n else\n";
+ ss <<" fPeriod = 0;\n else\n";
}
- ss <<" fPeriode = "<<vSubArguments[3]->GenSlidingWindowDeclRef();
+ ss <<" fPeriod = "<<vSubArguments[3]->GenSlidingWindowDeclRef();
ss <<";\n";
if(tmpCur4->GetType() == formula::svSingleVectorRef)
{
@@ -4365,26 +4365,26 @@ void OpDDB::GenSlidingWindowFunction(std::stringstream& ss,
ss <<" if(gid0 >= "<<tmpCurDVR4->GetArrayLength()<<" || isnan(";
ss <<vSubArguments[4]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" fFaktor = 0;\n else\n";
+ ss <<" fFactor = 0;\n else\n";
}
- ss <<" fFaktor = "<<vSubArguments[4]->GenSlidingWindowDeclRef();
+ ss <<" fFactor = "<<vSubArguments[4]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" fZins = fFaktor * pow(fDauer,-1);\n";
- ss <<" if (fZins >= 1.0)\n";
+ ss <<" fRate = fFactor * pow(fLife,-1);\n";
+ ss <<" if (fRate >= 1.0)\n";
ss <<" {\n";
- ss <<" fZins = 1.0;\n";
- ss <<" if (fPeriode == 1.0)\n";
- ss <<" fAlterWert = fWert;\n";
+ ss <<" fRate = 1.0;\n";
+ ss <<" if (fPeriod == 1.0)\n";
+ ss <<" fOldValue = fCost;\n";
ss <<" else\n";
- ss <<" fAlterWert = 0.0;\n";
+ ss <<" fOldValue = 0.0;\n";
ss <<" }\n";
ss <<" else\n";
- ss <<" fAlterWert = fWert * pow(1.0 - fZins, fPeriode - 1);\n";
- ss <<" fNeuerWert = fWert * pow(1.0 - fZins, fPeriode);\n";
- ss <<" if (fNeuerWert < fRest)\n";
- ss <<" tmp = fAlterWert - fRest;\n";
+ ss <<" fOldValue = fCost * pow(1.0 - fRate, fPeriod - 1);\n";
+ ss <<" fNewValue = fCost * pow(1.0 - fRate, fPeriod);\n";
+ ss <<" if (fNewValue < fSalvage)\n";
+ ss <<" tmp = fOldValue - fSalvage;\n";
ss <<" else\n";
- ss <<" tmp = fAlterWert - fNeuerWert;\n";
+ ss <<" tmp = fOldValue - fNewValue;\n";
ss <<" if (tmp < 0.0)\n";
ss <<" tmp = 0.0;\n";
ss <<" return tmp;\n";
@@ -4405,11 +4405,11 @@ vSubArguments)
ss << ") {\n";
ss << " double result = 0;\n";
ss << " int gid0 = get_global_id(0);\n";
- ss << " double zins;\n";
- ss << " double zzr;\n";
- ss << " double rmz;\n";
- ss << " double zw;\n";
- ss << " double flag;\n";
+ ss << " double rate;\n";
+ ss << " double nper;\n";
+ ss << " double pmt;\n";
+ ss << " double fv;\n";
+ ss << " double type;\n";
FormulaToken *tmpCur0 = vSubArguments[0]->GetFormulaToken();
const formula::SingleVectorRefToken*tmpCurDVR0= static_cast<const
@@ -4428,7 +4428,7 @@ vSubArguments)
FormulaToken *tmpCur3 = vSubArguments[3]->GetFormulaToken();
const formula::SingleVectorRefToken* tmpCurDVR3= static_cast<const formula::SingleVectorRefToken *>(
tmpCur3);
- ss<< " int buffer_zw_len = ";
+ ss<< " int buffer_fv_len = ";
ss<< tmpCurDVR3->GetArrayLength();
ss << ";\n";
}
@@ -4438,82 +4438,82 @@ tmpCur3);
FormulaToken *tmpCur4 = vSubArguments[4]->GetFormulaToken();
const formula::SingleVectorRefToken* tmpCurDVR4= static_cast<const formula::SingleVectorRefToken *>(
tmpCur4);
- ss<< " int buffer_flag_len = ";
+ ss<< " int buffer_type_len = ";
ss<< tmpCurDVR4->GetArrayLength();
ss << ";\n";
}
- ss<< " int buffer_zins_len = ";
+ ss<< " int buffer_rate_len = ";
ss<< tmpCurDVR0->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_zzr_len = ";
+ ss<< " int buffer_nper_len = ";
ss<< tmpCurDVR1->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_rmz_len = ";
+ ss<< " int buffer_pmt_len = ";
ss<< tmpCurDVR2->GetArrayLength();
ss << ";\n";
- ss<<" if(gid0>=buffer_zins_len || isnan(";
+ ss<<" if(gid0>=buffer_rate_len || isnan(";
ss << vSubArguments[0]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" zins = 0;\n else \n";
- ss<<" zins = ";
+ ss<<" rate = 0;\n else \n";
+ ss<<" rate = ";
ss << vSubArguments[0]->GenSlidingWindowDeclRef();
ss<<";\n";
- ss<<" if(gid0>=buffer_zzr_len || isnan(";
+ ss<<" if(gid0>=buffer_nper_len || isnan(";
ss << vSubArguments[1]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" zzr = 0;\n else \n";
- ss<<" zzr = ";
+ ss<<" nper = 0;\n else \n";
+ ss<<" nper = ";
ss << vSubArguments[1]->GenSlidingWindowDeclRef();
ss<<";\n";
- ss<<" if(gid0>=buffer_rmz_len || isnan(";
+ ss<<" if(gid0>=buffer_pmt_len || isnan(";
ss << vSubArguments[2]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" rmz = 0;\n else \n";
- ss<<" rmz = ";
+ ss<<" pmt = 0;\n else \n";
+ ss<<" pmt = ";
ss << vSubArguments[2]->GenSlidingWindowDeclRef();
ss<<";\n";
if(vSubArguments.size()>3)
{
- ss<<" if(gid0>=buffer_zw_len || isnan(";
+ ss<<" if(gid0>=buffer_fv_len || isnan(";
ss << vSubArguments[3]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" zw = 0;\n else \n";
- ss<<" zw = ";
+ ss<<" fv = 0;\n else \n";
+ ss<<" fv = ";
ss << vSubArguments[3]->GenSlidingWindowDeclRef();
ss<<";\n";
}else
{
- ss<<" zw = 0;\n";
+ ss<<" fv = 0;\n";
}
if(vSubArguments.size()>4)
{
- ss<<" if(gid0>=buffer_flag_len || isnan(";
+ ss<<" if(gid0>=buffer_type_len || isnan(";
ss << vSubArguments[4]->GenSlidingWindowDeclRef();
ss<<"))\n";
- ss<<" flag = 0;\n else \n";
- ss<<" flag = ";
+ ss<<" type = 0;\n else \n";
+ ss<<" type = ";
ss << vSubArguments[4]->GenSlidingWindowDeclRef();
ss<<";\n";
}else
{
- ss<<" flag = 0;\n";
+ ss<<" type = 0;\n";
}
- ss << " if(zins == 0)\n";
- ss << " result=zw+rmz*zzr;\n";
- ss << " else if(flag > 0)\n";
- ss << " result=(zw*pow(1+zins,-zzr))+";
- ss << "(rmz*(1-pow(1+zins,-zzr+1))*pow(zins,-1))+rmz;\n";
+ ss << " if(rate == 0)\n";
+ ss << " result=fv+pmt*nper;\n";
+ ss << " else if(type > 0)\n";
+ ss << " result=(fv*pow(1+rate,-nper))+";
+ ss << "(pmt*(1-pow(1+rate,-nper+1))*pow(rate,-1))+pmt;\n";
ss << " else\n";
- ss << " result=(zw*pow(1+zins,-zzr))+";
- ss << "(rmz*(1-pow(1+zins,-zzr))*pow(zins,-1));\n";
+ ss << " result=(fv*pow(1+rate,-nper))+";
+ ss << "(pmt*(1-pow(1+rate,-nper))*pow(rate,-1));\n";
ss << " return -result;\n";
ss << "}";
}
@@ -4700,8 +4700,8 @@ void OpDB::GenSlidingWindowFunction(std::stringstream& ss,
}
ss << ") {\n";
ss << " int gid0 = get_global_id(0);\n";
- ss << " double nWert,nRest,nDauer,nPeriode;\n";
- ss << " int nMonate;\n";
+ ss << " double fCost, fSalvage, fLife, fPeriod;\n";
+ ss << " int nMonths;\n";
ss << " double tmp = 0;\n";
FormulaToken* tmpCur0 = vSubArguments[0]->GetFormulaToken();
const formula::SingleVectorRefToken*tmpCurDVR0= static_cast<const
@@ -4718,74 +4718,74 @@ void OpDB::GenSlidingWindowFunction(std::stringstream& ss,
FormulaToken* tmpCur4 = vSubArguments[4]->GetFormulaToken();
const formula::SingleVectorRefToken*tmpCurDVR4= static_cast<const
formula::SingleVectorRefToken *>(tmpCur4);
- ss<< " int buffer_wert_len = ";
+ ss<< " int buffer_cost_len = ";
ss<< tmpCurDVR0->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_rest_len = ";
+ ss<< " int buffer_salvage_len = ";
ss<< tmpCurDVR1->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_dauer_len = ";
+ ss<< " int buffer_life_len = ";
ss<< tmpCurDVR2->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_periode_len = ";
+ ss<< " int buffer_period_len = ";
ss<< tmpCurDVR3->GetArrayLength();
ss << ";\n";
- ss<< " int buffer_nMonate_len = ";
+ ss<< " int buffer_months_len = ";
ss<< tmpCurDVR4->GetArrayLength();
ss << ";\n";
- ss <<" if(gid0 >= buffer_wert_len || isnan(";
+ ss <<" if(gid0 >= buffer_cost_len || isnan(";
ss <<vSubArguments[0]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" nWert = 0;\n else\n";
- ss <<" nWert = "<<vSubArguments[0]->GenSlidingWindowDeclRef();
+ ss <<" fCost = 0;\n else\n";
+ ss <<" fCost = "<<vSubArguments[0]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" if(gid0 >= buffer_rest_len || isnan(";
+ ss <<" if(gid0 >= buffer_salvage_len || isnan(";
ss <<vSubArguments[1]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" nRest = 0;\n else\n";
- ss <<" nRest = ";
+ ss <<" fSalvage = 0;\n else\n";
+ ss <<" fSalvage = ";
ss <<vSubArguments[1]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" if(gid0 >= buffer_dauer_len || isnan(";
+ ss <<" if(gid0 >= buffer_life_len || isnan(";
ss <<vSubArguments[2]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" nDauer = 0;\n else\n";
- ss <<" nDauer = "<<vSubArguments[2]->GenSlidingWindowDeclRef();
+ ss <<" fLife = 0;\n else\n";
+ ss <<" fLife = "<<vSubArguments[2]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" if(gid0 >= buffer_periode_len || isnan(";
+ ss <<" if(gid0 >= buffer_period_len || isnan(";
ss <<vSubArguments[3]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" nPeriode = 0;\n else\n";
- ss <<" nPeriode = "<<vSubArguments[3]->GenSlidingWindowDeclRef();
+ ss <<" fPeriod = 0;\n else\n";
+ ss <<" fPeriod = "<<vSubArguments[3]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" if(gid0 >= buffer_nMonate_len || isnan(";
+ ss <<" if(gid0 >= buffer_months_len || isnan(";
ss <<vSubArguments[4]->GenSlidingWindowDeclRef();
ss <<"))\n";
- ss <<" nMonate = 0;\n else\n";
- ss <<" nMonate = (int)"<<vSubArguments[4]->GenSlidingWindowDeclRef();
+ ss <<" nMonths = 0;\n else\n";
+ ss <<" nMonths = (int)"<<vSubArguments[4]->GenSlidingWindowDeclRef();
ss <<";\n";
- ss <<" double nAbRate = 1.0 - pow(nRest / nWert, 1.0 / nDauer);\n";
- ss <<" nAbRate = ((int)(nAbRate * 1000.0 + 0.5)) / 1000.0;\n";
- ss <<" double nErsteAbRate = nWert * nAbRate * nMonate / 12.0;\n";
- ss <<" double nGda2 = 0.0;\n";
- ss <<" if ((int)(nPeriode) == 1)\n";
- ss <<" nGda2 = nErsteAbRate;\n";
+ ss <<" double fDeprRate = 1.0 - pow(fSalvage / fCost, 1.0 / fLife);\n";
+ ss <<" fDeprRate = ((int)(fDeprRate * 1000.0 + 0.5)) / 1000.0;\n";
+ ss <<" double fFirstDeprRate = fCost * fDeprRate * nMonths / 12.0;\n";
+ ss <<" double fDb = 0.0;\n";
+ ss <<" if ((int)(fPeriod) == 1)\n";
+ ss <<" fDb = fFirstDeprRate;\n";
ss <<" else\n";
ss <<" {\n";
- ss <<" double nSummAbRate = nErsteAbRate;\n";
- ss <<" double nMin = nDauer;\n";
- ss <<" if (nMin > nPeriode) nMin = nPeriode;\n";
- ss <<" int iMax = (int)nMin;\n";
- ss <<" for (int i = 2; i <= iMax; i++)\n";
+ ss <<" double fSumDeprRate = fFirstDeprRate;\n";
+ ss <<" double fMin = fLife;\n";
+ ss <<" if (fMin > fPeriod) fMin = fPeriod;\n";
+ ss <<" int nMax = (int)fMin;\n";
+ ss <<" for (int i = 2; i <= nMax; i++)\n";
ss <<" {\n";
- ss <<" nGda2 = (nWert - nSummAbRate) * nAbRate;\n";
- ss <<" nSummAbRate += nGda2;\n";
+ ss <<" fDb = (fCost - fSumDeprRate) * fDeprRate;\n";
+ ss <<" fSumDeprRate += fDb;\n";
ss <<" }\n";
- ss <<" if (nPeriode > nDauer)\n";
- ss <<" nGda2 = ((nWert - nSummAbRate)";
- ss <<"* nAbRate * (12.0 - nMonate)) / 12.0;\n";
+ ss <<" if (fPeriod > fLife)\n";
+ ss <<" fDb = ((fCost - fSumDeprRate)";
+ ss <<"* fDeprRate * (12.0 - nMonths)) / 12.0;\n";
ss <<" }\n";
- ss <<" tmp = nGda2;\n";
+ ss <<" tmp = fDb;\n";
ss <<" return tmp;\n";
ss <<"}";
}
More information about the Libreoffice-commits
mailing list