Commit graph

145 commits

Author SHA1 Message Date
John Wiegley
0a6b5726ec Made the amount/balance/value interface a bit more rational; added
back a useless version of the register command (just to prove the
 command sequence); and added smart XML semantics to the XPath
 implementation so that nodes can be coerced to values.
2008-04-13 03:38:28 -04:00
John Wiegley
c5214c8759 Changed date parser to use lex/yacc. 2008-04-13 03:38:27 -04:00
John Wiegley
ba2a54f3d2 Initial round of changes to use boost_date_time 2008-04-13 03:35:37 -04:00
John Wiegley
705ce8c6a1 changes 2008-04-13 03:35:37 -04:00
John Wiegley
074533f006 changes 2008-04-13 03:35:37 -04:00
John Wiegley
d8296ddc57 Completed commodity math tests. 2008-04-13 03:35:37 -04:00
John Wiegley
269a7c6f3b Got most of the commodity tests working, save multiplication and division. 2008-04-13 03:35:36 -04:00
John Wiegley
21bd83a2f9 Added some missing code. 2008-04-13 03:35:36 -04:00
John Wiegley
f5956311af Completed commodity math tests. 2008-04-13 03:35:36 -04:00
John Wiegley
0f2cad4cab Got most of the commodity tests working, save multiplication and division. 2008-04-13 03:35:36 -04:00
John Wiegley
e43f54f249 Started adding commodity tests 2008-04-13 03:35:35 -04:00
John Wiegley
e7f9486f6e Finished uncommoditized amount unit tests. 2008-04-13 03:35:35 -04:00
John Wiegley
c6d896f735 make distcheck now works. 2008-04-13 03:35:34 -04:00
John Wiegley
b27b34a76f Added a reference to gdtoa, for doing expected conversion of double to amount. 2008-04-13 03:35:33 -04:00
John Wiegley
479dd85da5 Miscellaneous changes 2008-04-13 03:35:32 -04:00
John Wiegley
a087e6ea97 Cleared out all warnings; started work on getting Python up again. 2008-04-13 03:35:32 -04:00
John Wiegley
e65c62d5a4 Removed all uses of PCH (which was far more trouble than it was worth). 2008-04-13 03:35:31 -04:00
John Wiegley
42f43b7686 Check in all changes made so far toward 3.0. 2008-04-13 03:35:00 -04:00
John Wiegley
9ec136db90 *** empty log message *** 2008-04-13 02:41:32 -04:00
John Wiegley
5a93d4819e Reworked the way date/times are handled. 2008-04-13 02:41:32 -04:00
John Wiegley
a5aff9eee9 Several fixes to lot price handling. 2008-04-13 02:41:31 -04:00
John Wiegley
44561c1c1d Further refinement of commodity lot information. 2008-04-13 02:41:31 -04:00
John Wiegley
964e74e333 *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
c8ebf53ed8 *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
32bdfe20d9 Tons of corrections and fixes to value expressions and lot figures. 2008-04-13 02:41:31 -04:00
John Wiegley
9800e3febc *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
31b68bbebc *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
b1a04923fe *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
30f79b0761 *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
82d0ee869b Added --ansi and --ansi-invert options. 2008-04-13 02:41:30 -04:00
John Wiegley
e32d9e64a7 Added much better error location. 2008-04-13 02:41:29 -04:00
John Wiegley
b737cd8e6d Added a DATETIME value type. 2008-04-13 02:41:29 -04:00
John Wiegley
d02f74efea *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
326235ffbe *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
7acc1306d9 *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
2ebfddf401 Began support for improved commodity handling. 2008-04-13 02:41:28 -04:00
John Wiegley
96d6d62ad9 Began support for improved commodity handling. 2008-04-13 02:41:28 -04:00
John Wiegley
0c55a5ee1b (read_binary_journal): Fixed a tiny memory leak when reading from a
binary cache.
2008-04-13 02:41:28 -04:00
John Wiegley
7901598f1d Checked in all major updates. 2008-04-13 02:41:27 -04:00
John Wiegley
0876d31157 (amount_t::valid): Don't verify the commodity as being non-null, since
NULL is a perfectly valid value for a commodity (it just means
null_commodity).  Also, never use commodity_->member, but always
commodity().member.
2008-04-13 02:41:25 -04:00
John Wiegley
a8012940f4 Removed Python integration support. 2008-04-13 02:41:21 -04:00
John Wiegley
ed63481f3b *** empty log message *** 2008-04-13 02:41:17 -04:00
John Wiegley
d65a758c84 Moved the setting of time quantities to the commodity initialization
section.
2008-04-13 02:41:16 -04:00
John Wiegley
1e6bfc7796 (amount_t::value): Corrected a problem with commodity rounding after
market values are determined (was using the wrong commodity's
precision value).
(commodity_t::value): Fixed the market value calculation algorithm,
which was very broken (but only seemed to show up if the price history
was very small).
2008-04-13 02:41:14 -04:00
John Wiegley
e8df173270 (find_commodity): Don't copy over the NOMARKET flag from the default
commodity.
2008-04-13 02:41:14 -04:00
John Wiegley
a10f3f02e7 (parse): Allow "-$100.00" as the equivalent of "$-100.00". 2008-04-13 02:41:12 -04:00
John Wiegley
3797cb1ad9 (amount_t::parse): Only set the SUFFIXED flag if there is actually a
commodity symbol.
2008-04-13 02:41:10 -04:00
John Wiegley
1823a2b886 (parse_conversion): When defining a commodity conversion, always mark
the larger unit as having no market value (the market price is
determined by looking up the base commodity and then multiplying).
2008-04-13 02:41:06 -04:00
John Wiegley
675319a0b0 (value): Use `std::map<>::lower_bound' to search for the nearest price
item in a commodity's history list.  This is much more efficient than
doing a reverse linear search.
2008-04-13 02:41:06 -04:00
John Wiegley
0f98c9235f *** empty log message *** 2008-04-13 02:41:05 -04:00