[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [4873] Permit annotations in '.database' files
From: |
Greg Chicares |
Subject: |
[lmi-commits] [4873] Permit annotations in '.database' files |
Date: |
Fri, 30 Apr 2010 14:29:38 +0000 |
Revision: 4873
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=4873
Author: chicares
Date: 2010-04-30 14:29:37 +0000 (Fri, 30 Apr 2010)
Log Message:
-----------
Permit annotations in '.database' files
Modified Paths:
--------------
lmi/trunk/ihs_dbdict.cpp
lmi/trunk/ihs_dbvalue.cpp
lmi/trunk/ihs_dbvalue.hpp
lmi/trunk/workhorse.make
Modified: lmi/trunk/ihs_dbdict.cpp
===================================================================
--- lmi/trunk/ihs_dbdict.cpp 2010-04-30 01:21:18 UTC (rev 4872)
+++ lmi/trunk/ihs_dbdict.cpp 2010-04-30 14:29:37 UTC (rev 4873)
@@ -407,7 +407,7 @@
Add(TDBValue(DB_CCoiIsAnnual , true));
Add(TDBValue(DB_GCoiIsAnnual , true));
Add(TDBValue(DB_MCoiIsAnnual , true));
- Add(TDBValue(DB_AgeLastOrNearest , 0)); // ALB
+ Add(TDBValue(DB_AgeLastOrNearest , 0, "0 = ALB")); // ALB
Add(TDBValue(DB_AllowRetirees , true));
Add(TDBValue(DB_MinSpecAmt , 100000.0));
Add(TDBValue(DB_AllowSubstdTable , true));
@@ -608,7 +608,7 @@
// Use male rates for unisex--1983 GAM seems to have no unisex version.
double T83Gam[3] = {825, 826, 826,};
- Add(TDBValue(DB_83GamTable, TDBValue::e_number_of_axes, dims311, T83Gam));
+ Add(TDBValue(DB_83GamTable, TDBValue::e_number_of_axes, dims311, T83Gam,
"Use male rates for unisex--1983 GAM seems to have no unisex version."));
Add(TDBValue(DB_AllowWD , true));
Add(TDBValue(DB_AllowLoan , true));
Modified: lmi/trunk/ihs_dbvalue.cpp
===================================================================
--- lmi/trunk/ihs_dbvalue.cpp 2010-04-30 01:21:18 UTC (rev 4872)
+++ lmi/trunk/ihs_dbvalue.cpp 2010-04-30 14:29:37 UTC (rev 4873)
@@ -84,12 +84,14 @@
//============================================================================
TDBValue::TDBValue
- (int a_key
- ,int a_ndims
- ,int const* a_dims
- ,double const* a_data
+ (int a_key
+ ,int a_ndims
+ ,int const* a_dims
+ ,double const* a_data
+ ,std::string const& a_gloss
)
- :key(a_key)
+ :key (a_key)
+ ,gloss_ (a_gloss)
{
axis_lengths .assign(a_dims, a_dims + a_ndims);
data_values .assign(a_data, a_data + getndata());
@@ -102,10 +104,12 @@
(int a_key
,std::vector<int> const& a_dims
,std::vector<double> const& a_data
+ ,std::string const& a_gloss
)
- :key(a_key)
- ,axis_lengths(a_dims)
- ,data_values(a_data)
+ :key (a_key)
+ ,axis_lengths (a_dims)
+ ,data_values (a_data)
+ ,gloss_ (a_gloss)
{
ParanoidCheck();
}
@@ -113,10 +117,12 @@
//============================================================================
// scalar only
TDBValue::TDBValue
- (int a_key
- ,double a_datum
+ (int a_key
+ ,double a_datum
+ ,std::string const& a_gloss
)
- :key(a_key)
+ :key (a_key)
+ ,gloss_ (a_gloss)
{
axis_lengths .assign(ScalarDims, ScalarDims + e_number_of_axes);
data_values .push_back(a_datum);
@@ -127,6 +133,7 @@
:key (obj.key)
,axis_lengths (obj.axis_lengths)
,data_values (obj.data_values)
+ ,gloss_ (obj.gloss_)
{
}
@@ -135,9 +142,10 @@
{
if(this != &obj)
{
- key = obj.key;
- axis_lengths = obj.axis_lengths;
- data_values = obj.data_values;
+ key = obj.key;
+ axis_lengths = obj.axis_lengths;
+ data_values = obj.data_values;
+ gloss_ = obj.gloss_;
}
return *this;
}
@@ -413,6 +421,11 @@
<< " key=" << key
<< '\n'
;
+ if(!gloss_.empty())
+ {
+ os << " gloss: " << gloss_ << '\n';
+ }
+
if(1 == getndata())
{
os << " scalar";
@@ -428,6 +441,7 @@
if(1 != axis_lengths[5]) os << " state[" << axis_lengths[5] << ']';
if(1 != axis_lengths[6]) os << " duration[" << axis_lengths[6] << ']';
}
+
os << '\n';
print_matrix(os, data_values, axis_lengths);
os << '\n';
@@ -548,10 +562,11 @@
void TDBValue::read(xml::element const& e)
{
std::string short_name;
- xml_serialize::get_element(e, "key" , short_name );
+ xml_serialize::get_element(e, "key" , short_name );
key = db_key_from_name(short_name);
- xml_serialize::get_element(e, "axis_lengths" , axis_lengths );
- xml_serialize::get_element(e, "data_values" , data_values );
+ xml_serialize::get_element(e, "axis_lengths", axis_lengths );
+ xml_serialize::get_element(e, "data_values" , data_values );
+ xml_serialize::get_element(e, "gloss" , gloss_ );
LMI_ASSERT(getndata() == static_cast<int>(data_values.size()));
LMI_ASSERT
@@ -570,8 +585,9 @@
);
AreAllAxesOK();
- xml_serialize::set_element(e, "key" , db_name_from_key(key));
- xml_serialize::set_element(e, "axis_lengths" , axis_lengths );
- xml_serialize::set_element(e, "data_values" , data_values );
+ xml_serialize::set_element(e, "key" , db_name_from_key(key));
+ xml_serialize::set_element(e, "axis_lengths", axis_lengths );
+ xml_serialize::set_element(e, "data_values" , data_values );
+ xml_serialize::set_element(e, "gloss" , gloss_ );
}
Modified: lmi/trunk/ihs_dbvalue.hpp
===================================================================
--- lmi/trunk/ihs_dbvalue.hpp 2010-04-30 01:21:18 UTC (rev 4872)
+++ lmi/trunk/ihs_dbvalue.hpp 2010-04-30 14:29:37 UTC (rev 4873)
@@ -64,19 +64,22 @@
TDBValue();
// TODO ?? Deprecate this interface in favor of the one that takes vectors.
TDBValue
- (int a_key
- ,int a_ndims
- ,int const* a_dims
- ,double const* a_data
+ (int a_key
+ ,int a_ndims
+ ,int const* a_dims
+ ,double const* a_data
+ ,std::string const& a_gloss = std::string()
);
TDBValue
(int a_key
,std::vector<int> const& a_dims
,std::vector<double> const& a_data
+ ,std::string const& a_gloss = std::string()
);
TDBValue
- (int a_key
- ,double a_datum
+ (int a_key
+ ,double a_datum
+ ,std::string const& a_gloss = std::string()
);
TDBValue(TDBValue const&);
TDBValue& operator=(TDBValue const&);
@@ -125,6 +128,7 @@
// consecutive durational elements in contiguous storage.
std::vector<int> axis_lengths;
std::vector<double> data_values;
+ std::string gloss_;
};
/*
Modified: lmi/trunk/workhorse.make
===================================================================
--- lmi/trunk/workhorse.make 2010-04-30 01:21:18 UTC (rev 4872)
+++ lmi/trunk/workhorse.make 2010-04-30 14:29:37 UTC (rev 4873)
@@ -552,8 +552,10 @@
# Adding '-fno-delete-null-pointer-checks' to $(CPPFLAGS) might
# suffice to suppress the diagnostic, but this file actually doesn't
# need any optimization at all.
+#
+# A similar problem was observed with 'my_db.cpp'.
-my_prod.o: optimization_flag := -O0
+my_db.o my_prod.o: optimization_flag := -O0
################################################################################
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [4873] Permit annotations in '.database' files,
Greg Chicares <=