[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [4846] Fix defect introduced 20070410T0149Z
From: |
Greg Chicares |
Subject: |
[lmi-commits] [4846] Fix defect introduced 20070410T0149Z |
Date: |
Wed, 21 Apr 2010 00:28:26 +0000 |
Revision: 4846
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=4846
Author: chicares
Date: 2010-04-21 00:28:26 +0000 (Wed, 21 Apr 2010)
Log Message:
-----------
Fix defect introduced 20070410T0149Z
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/stratified_charges.cpp
lmi/trunk/stratified_charges.hpp
lmi/trunk/stratified_charges.xpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2010-04-20 13:27:43 UTC (rev 4845)
+++ lmi/trunk/ChangeLog 2010-04-21 00:28:26 UTC (rev 4846)
@@ -24935,3 +24935,10 @@
stratified_charges.hpp
Permit annotations in '.funds' and '.strata' files.
+20100421T0028Z <address@hidden> [758]
+
+ stratified_charges.cpp
+ stratified_charges.hpp
+ stratified_charges.xpp
+Fix defect introduced 20070410T0149Z.
+
Modified: lmi/trunk/stratified_charges.cpp
===================================================================
--- lmi/trunk/stratified_charges.cpp 2010-04-20 13:27:43 UTC (rev 4845)
+++ lmi/trunk/stratified_charges.cpp 2010-04-21 00:28:26 UTC (rev 4846)
@@ -58,8 +58,6 @@
// elsewhere; meanwhile, this module contains code to represent the
// DE tiered rates, but ignores those rates and treats DE the same as
// any other state.
-//
-// File representation should be xml.
// Class stratified_entity implementation.
@@ -184,6 +182,7 @@
// Dummy nodes: root and topic headers.
dictionary[e_stratified_first ] = stratified_entity();
dictionary[e_topic_premium_banded ] = stratified_entity();
+ dictionary[e_topic_asset_banded ] = stratified_entity();
dictionary[e_topic_asset_tiered ] = stratified_entity();
dictionary[e_topic_tiered_premium_tax ] = stratified_entity();
@@ -191,6 +190,8 @@
dictionary[e_curr_sepacct_load_banded_by_premium ] = stratified_entity();
dictionary[e_guar_sepacct_load_banded_by_premium ] = stratified_entity();
+ dictionary[e_curr_sepacct_load_banded_by_assets ] = stratified_entity();
+ dictionary[e_guar_sepacct_load_banded_by_assets ] = stratified_entity();
dictionary[e_curr_m_and_e_tiered_by_assets ] = stratified_entity();
dictionary[e_guar_m_and_e_tiered_by_assets ] = stratified_entity();
dictionary[e_asset_based_comp_tiered_by_assets ] = stratified_entity();
@@ -204,6 +205,7 @@
}
//============================================================================
+// 'special_limit' is 'DB_DynSepAcctLoadLimit'.
double stratified_charges::stratified_sepacct_load
(mcenum_gen_basis basis
,double assets
@@ -261,9 +263,7 @@
kx = std::min(assets, special_limit) / assets;
}
stratified_entity const& x =
raw_entity(e_curr_sepacct_load_banded_by_premium);
-// TODO ?? DATABASE !! This is a goofy workaround until we can add a
-// new 'e_curr_sepacct_load_banded_by_assets' entity.
- stratified_entity const& y = raw_entity(e_tiered_de_premium_tax);
+ stratified_entity const& y =
raw_entity(e_curr_sepacct_load_banded_by_assets);
return
kx * banded_rate<double>() (premium, x.limits(), x.values())
+ ky * banded_rate<double>() (assets , y.limits(), y.values())
@@ -284,14 +284,10 @@
kx = std::min(assets, special_limit) / assets;
}
stratified_entity const& x =
raw_entity(e_guar_sepacct_load_banded_by_premium);
-// TODO ?? DATABASE !! This is a goofy workaround until we can add a
-// new 'e_guar_sepacct_load_banded_by_assets' entity. Until then,
-// '* 1.25' provides an arbitrary but plausible margin of conservatism
-// over the current-basis value.
- stratified_entity const& y = raw_entity(e_tiered_de_premium_tax);
+ stratified_entity const& y =
raw_entity(e_guar_sepacct_load_banded_by_assets);
return
kx * banded_rate<double>() (premium, x.limits(), x.values())
- + ky * banded_rate<double>() (assets , y.limits(), y.values()) * 0.0
+ + ky * banded_rate<double>() (assets , y.limits(), y.values())
;
}
@@ -436,6 +432,10 @@
,"curr_sepacct_load_banded_by_premium"
,"guar_sepacct_load_banded_by_premium"
+ ,"topic_asset_banded"
+ ,"curr_sepacct_load_banded_by_assets"
+ ,"guar_sepacct_load_banded_by_assets"
+
,"topic_asset_tiered"
,"curr_m_and_e_tiered_by_assets"
,"guar_m_and_e_tiered_by_assets"
@@ -492,6 +492,8 @@
READ(root, e_curr_sepacct_load_banded_by_premium );
READ(root, e_guar_sepacct_load_banded_by_premium );
+ READ(root, e_curr_sepacct_load_banded_by_assets );
+ READ(root, e_guar_sepacct_load_banded_by_assets );
READ(root, e_curr_m_and_e_tiered_by_assets );
READ(root, e_guar_m_and_e_tiered_by_assets );
READ(root, e_asset_based_comp_tiered_by_assets );
@@ -515,6 +517,8 @@
WRITE(root, e_curr_sepacct_load_banded_by_premium );
WRITE(root, e_guar_sepacct_load_banded_by_premium );
+ WRITE(root, e_curr_sepacct_load_banded_by_assets );
+ WRITE(root, e_guar_sepacct_load_banded_by_assets );
WRITE(root, e_curr_m_and_e_tiered_by_assets );
WRITE(root, e_guar_m_and_e_tiered_by_assets );
WRITE(root, e_asset_based_comp_tiered_by_assets );
@@ -549,6 +553,10 @@
foo.raw_entity(e_curr_sepacct_load_banded_by_premium
).limits_.push_back(DBL_MAX);
foo.raw_entity(e_guar_sepacct_load_banded_by_premium
).values_.push_back(0.0);
foo.raw_entity(e_guar_sepacct_load_banded_by_premium
).limits_.push_back(DBL_MAX);
+ foo.raw_entity(e_curr_sepacct_load_banded_by_assets
).values_.push_back(0.0);
+ foo.raw_entity(e_curr_sepacct_load_banded_by_assets
).limits_.push_back(DBL_MAX);
+ foo.raw_entity(e_guar_sepacct_load_banded_by_assets
).values_.push_back(0.0);
+ foo.raw_entity(e_guar_sepacct_load_banded_by_assets
).limits_.push_back(DBL_MAX);
foo.raw_entity(e_curr_m_and_e_tiered_by_assets
).values_.push_back(0.0);
foo.raw_entity(e_curr_m_and_e_tiered_by_assets
).limits_.push_back(DBL_MAX);
Modified: lmi/trunk/stratified_charges.hpp
===================================================================
--- lmi/trunk/stratified_charges.hpp 2010-04-20 13:27:43 UTC (rev 4845)
+++ lmi/trunk/stratified_charges.hpp 2010-04-21 00:28:26 UTC (rev 4846)
@@ -43,6 +43,10 @@
,e_curr_sepacct_load_banded_by_premium
,e_guar_sepacct_load_banded_by_premium
+ ,e_topic_asset_banded
+ ,e_curr_sepacct_load_banded_by_assets
+ ,e_guar_sepacct_load_banded_by_assets
+
,e_topic_asset_tiered
,e_curr_m_and_e_tiered_by_assets
,e_guar_m_and_e_tiered_by_assets
Modified: lmi/trunk/stratified_charges.xpp
===================================================================
--- lmi/trunk/stratified_charges.xpp 2010-04-20 13:27:43 UTC (rev 4845)
+++ lmi/trunk/stratified_charges.xpp 2010-04-21 00:28:26 UTC (rev 4846)
@@ -27,16 +27,19 @@
#define LMI_TIERED_CHARGE_NAMES \
{e_stratified_first,e_stratified_first,"dummy","dummy",}, \
-{e_topic_premium_banded,e_stratified_first,"Premium-banded
charges","Experience rating items that vary by case size.",}, \
-{e_curr_sepacct_load_banded_by_premium,e_topic_premium_banded,"Curr sep acct
load by premium","Current separate account load, banded by cumulative 'net'
premium. Enter breakpoints as cumulative premium.",}, \
-{e_guar_sepacct_load_banded_by_premium,e_topic_premium_banded,"Guar sep acct
load by premium","Guaranteed separate account load, banded by cumulative 'net'
premium. Enter breakpoints as cumulative premium.",}, \
+{e_topic_premium_banded,e_stratified_first,"Premium-banded charges","Charges
that are banded by premium.",}, \
+{e_curr_sepacct_load_banded_by_premium,e_topic_premium_banded,"Curr sep acct
load banded by premium","Current separate-account load, banded by cumulative
'net' premium. Enter breakpoints as cumulative premium.",}, \
+{e_guar_sepacct_load_banded_by_premium,e_topic_premium_banded,"Guar sep acct
load banded by premium","Guaranteed separate-account load, banded by cumulative
'net' premium. Enter breakpoints as cumulative premium.",}, \
+{e_topic_asset_banded,e_stratified_first,"Asset-banded charges","Charges that
are banded by assets.",}, \
+{e_curr_sepacct_load_banded_by_assets,e_topic_asset_banded,"Curr sep acct load
banded by assets","Current separate-account load, banded by present
separate-account assets. Enter breakpoints as total separate-account
assets.",}, \
+{e_guar_sepacct_load_banded_by_assets,e_topic_asset_banded,"Guar sep acct load
banded by assets","Guaranteed separate-account load, banded by present
separate-account assets. Enter breakpoints as total separate-account
assets.",}, \
{e_topic_asset_tiered,e_stratified_first,"Asset-tiered charges","Charges that
are tiered by assets.",}, \
{e_curr_m_and_e_tiered_by_assets,e_topic_asset_tiered,"Current M&E","Current
M&&E, tiered by present assets. Enter breakpoints as increments, e.g. first
50,000,000, next 50,000,000, and so on.",}, \
{e_guar_m_and_e_tiered_by_assets,e_topic_asset_tiered,"Guaranteed
M&E","Guaranteed M&&E, tiered by present assets. Enter breakpoints as
increments, e.g. first 50,000,000, next 50,000,000, and so on.",}, \
{e_asset_based_comp_tiered_by_assets,e_topic_asset_tiered,"Compensation","Compensation,
tiered by present assets. Enter breakpoints as increments, e.g. first
50,000,000, next 50,000,000, and so on.",}, \
{e_investment_mgmt_fee_tiered_by_assets,e_topic_asset_tiered,"Investment
management","Investment management, tiered by present assets. Enter breakpoints
as increments, e.g. first 50,000,000, next 50,000,000, and so on.",}, \
-{e_curr_sepacct_load_tiered_by_assets,e_topic_asset_tiered,"Curr sep acct load
by assets","Current separate account load, tiered by present separate account
assets. Enter breakpoints as increments, e.g. first 50,000,000, next
50,000,000, and so on.",}, \
-{e_guar_sepacct_load_tiered_by_assets,e_topic_asset_tiered,"Guar sep acct load
by assets","Guaranteed separate account load, tiered by present separate
account assets. Enter breakpoints as increments, e.g. first 50,000,000, next
50,000,000, and so on.",}, \
+{e_curr_sepacct_load_tiered_by_assets,e_topic_asset_tiered,"Curr sep acct load
tiered by assets","Current separate-account load, tiered by present
separate-account assets. Enter breakpoints as increments, e.g. first
50,000,000, next 50,000,000, and so on.",}, \
+{e_guar_sepacct_load_tiered_by_assets,e_topic_asset_tiered,"Guar sep acct load
tiered by assets","Guaranteed separate-account load, tiered by present
separate-account assets. Enter breakpoints as increments, e.g. first
50,000,000, next 50,000,000, and so on.",}, \
{e_topic_tiered_premium_tax,e_stratified_first,"Premium tax","Tiered premium
tax.",}, \
{e_tiered_ak_premium_tax,e_topic_tiered_premium_tax,"Alaska","Alaska premium
tax, tiered by policy-year individual-contract premium. Enter breakpoints as
increments, e.g. first 50,000,000, next 50,000,000, and so on.",}, \
{e_tiered_de_premium_tax,e_topic_tiered_premium_tax,"Delaware","Delaware
premium tax, tiered by calendar-year total-case premium (NOT YET IMPLEMENTED).
Enter breakpoints as increments, e.g. first 50,000,000, next 50,000,000, and so
on.",}, \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [4846] Fix defect introduced 20070410T0149Z,
Greg Chicares <=