[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] questionable code checking for e_currbasis in ihs_acctval.cpp
From: |
Greg Chicares |
Subject: |
Re: [lmi] questionable code checking for e_currbasis in ihs_acctval.cpp |
Date: |
Tue, 25 Mar 2008 13:00:46 +0000 |
User-agent: |
Thunderbird 2.0.0.12 (Windows/20080213) |
On 2008-03-24 17:10Z, Greg Chicares wrote:
> On 2008-03-24 04:31Z, Vadim Zeitlin wrote:
>>
>> But maybe the real intention was
>>
>> e_currbasis != ExpAndGABasis
Fixed all five occurrences in 'ihs_acctval.cpp' 20080325T1259Z.
They were all in identical early-exit conditions in experience-
rating functions:
...
|| !Input_->UseExperienceRating
|| !e_currbasis == ExpAndGABasis
...
which aren't called (or whose results aren't used) except on the
current-expense and current-interest basis, as is documented,
more or less, here:
'group_values.cpp'
// Calculate next year's k factor. Do this only for
// current-expense bases, not as a speed optimization,
// but rather because experience rating on other bases
// is undefined.
though the actual condition is stricter:
if
( cells[0].UseExperienceRating
&& e_currbasis == expense_and_general_account_basis
&& 0.0 != eoy_inforce_lives
)
> We'll have to test this correction carefully, even though it's
> "obviously" right. I think we're okay because experience rating
> would be shown in practice only on current-basis supplemental
> illustrations, but we will have to revise regression tests.
Not just "in practice": experience rating indeed isn't performed
on any other basis. Therefore, regression tests are unaffected.
It wouldn't be unreasonable to relax the condition someday and
permit experience rating on a zero-interest basis, as the comment
above may be read to permit, and which would have unmasked this
defect had we not corrected it.