John Wiegley
092bda1435
Don't increase precision so much when dividing
...
Slow the increase in internal precision when dividing amounts.
Use "--debug amount.convert" if you wish to see this logic in action, if
a case where incorrect rounding is suspected comes up.
Fixes B68FFB0D-A9A0-479C-A6C0-68853F229333
2009-06-15 17:52:38 +01:00
John Wiegley
d45b35798c
Ignore attempts to annotate the null commodity
...
Fixes 04C5E1CA-1B39-4214-81C7-FD5AA785308F
2009-06-15 17:51:45 +01:00
John Wiegley
110f0b8023
Enabled use of pre-compiled headers by default
2009-03-10 17:02:03 -04:00
John Wiegley
c11d325712
Reduced the #include dependency tree to a minimum
2009-03-04 23:53:43 -04:00
John Wiegley
2d63c9364a
Changed many assert() calls to VERIFY()
2009-03-04 04:29:10 -04:00
John Wiegley
1c7de0f9e4
Added "fixated commodity pricing"
...
If you put '=' before an annotated commodity's price, it will cause any
future market valuation of that commodity to use that price, and ignore
whatever changes may have happened since in the market price. This can
be useful if you are tracking gas expenses based on a standard rate
which, although it changes over time, should not adjust the historical
valuation of how much the gas cost at the time it was purchased:
2009/01/01 Payee
Expenses:Gas 100 GAL {=$2}
Liabilities:MasterCard $-200
2009-03-02 16:39:26 -04:00
John Wiegley
38122c2224
Corrected warnings g++-4.3.3 was complaining about
2009-02-28 04:54:54 -04:00
John Wiegley
fb129fa7a1
Corrected a potential invalid memory access
2009-02-28 04:36:48 -04:00
John Wiegley
f881bf1319
Fix to amount unreduction (aka, 120m -> 2h)
2009-02-27 15:23:38 -04:00
John Wiegley
f7f07310f4
Be smarter about trimming off trailing zeroes
2009-02-27 13:58:30 -04:00
John Wiegley
6d315840a8
Don't propagate display flags from cost amounts
2009-02-27 02:39:54 -04:00
John Wiegley
fbb0d25831
Gave round/unround/truncate all in_place_ variants
2009-02-27 02:15:27 -04:00
John Wiegley
ecb1ca71c1
Refinements to amount_t validation code
2009-02-27 01:57:32 -04:00
John Wiegley
55a6d588ff
Allow uncommoditized amounts to +/- with an amount
...
Thus, you can say "$100 + 10" to increase it by $10.
2009-02-25 23:40:15 -04:00
John Wiegley
238bd7f8a5
Marked all strings needing internationalization
...
These strings are now collected automagically in the file po/ledger.pot.
If you'd like to produce a translation, just run this command after
building Ledger:
msginit -l LOCALE -o LANG.po -i po/ledger.pot
Where LOCALE is a string like de or en_GB, and LANG is a short
descriptive word for your language.
Then send me this .po file so I can commit it to the Ledger sources
(alternatively, you could maintain the file in a fork on GitHub), and
setup the build script to format and install your new message catalog
during a "make install".
2009-02-25 03:51:42 -04:00
John Wiegley
5ad9bc3951
Propagate commodity flags in costs sometimes
...
If a commodity has never been seen before, and it is used in a cost
amount, remember the display flags.
2009-02-24 15:18:57 -04:00
John Wiegley
f13709f71a
Be smarter about printing uncommoditized amounts
2009-02-24 15:13:21 -04:00
John Wiegley
79c7478278
Fixes to the way annotated prices are displayed
2009-02-24 03:40:57 -04:00
John Wiegley
267b2ba5d8
Made commodity reduction during parsing consistent
2009-02-24 02:40:28 -04:00
John Wiegley
de6de07bac
Many fixes to --market and --exchange
...
Also, --exchange now accepted multiple, comma-separated commodities.
2009-02-22 22:23:02 -04:00
John Wiegley
e124811d8a
Added --exchange (-x) option
...
This is like -V, except it lets you specify the goal commodity to report
in terms of, for example:
reg -x CAD
2009-02-22 04:51:11 -04:00
John Wiegley
1fa3c1956f
Moved amount_t::right_justify to simply ::justify
2009-02-19 01:22:22 -04:00
John Wiegley
d0a664d102
Fixed several unused value and param warnings
2009-02-16 16:55:18 -04:00
John Wiegley
6f2e3b8864
Properly handle UTF-8 characters in commodity strings.
2009-02-12 02:34:39 -04:00
John Wiegley
1a030da55d
Rewrote the "entry" command. It's ALIVE!
2009-02-11 19:14:23 -04:00
John Wiegley
b662509ee9
amount_t::in_place_* now returns void. Added value_t::unreduce.
2009-02-07 22:50:19 -04:00
John Wiegley
4a28e1765c
Fixed some #include ordering issues.
2009-02-07 19:36:51 -04:00
John Wiegley
a085f8e9ad
Only initialize the amount_t module if it hasn't been already.
2009-02-06 03:30:45 -04:00
John Wiegley
2d941730b1
Largely removed all of Ledger's use of global variables, for the REPL's sake.
2009-02-04 19:55:27 -04:00
John Wiegley
24ef163ba5
Removed unneeded member variables.
2009-02-04 00:35:02 -04:00
John Wiegley
3434650848
Removed the binary caching code, and the XML, QIF and Gnucash parsers.
2009-02-03 12:22:10 -04:00
John Wiegley
9f8997f1b5
Values can now be streamed to XML, and all the types they refer to.
2009-02-01 01:48:07 -04:00
John Wiegley
90404e85fa
Corrected the way that thousands markers are output.
2009-01-31 15:42:40 -04:00
John Wiegley
dd9775508a
amount_t::is_zero() wasn't checking for '-'.
2009-01-31 05:43:23 -04:00
John Wiegley
ec6a3e8081
Made amount_t::is_zero() slightly more efficient.
2009-01-31 05:00:49 -04:00
John Wiegley
cce65b8dd2
Added a more efficient amount_t::operator==, which changed semantics slightly.
2009-01-31 04:58:16 -04:00
John Wiegley
5a44784817
Removed the special "one" variable, and added amount_t::inverted().
2009-01-31 04:57:24 -04:00
John Wiegley
e9ff5caa13
Rationals based math is now passing the unit tests.
2009-01-31 04:25:05 -04:00
John Wiegley
5ec98f3ed3
Several corrections to the way rationals are handled.
2009-01-31 01:25:29 -04:00
John Wiegley
e0dd2cd0a4
Changed to using rational numbers instead of integer approximations.
...
As a result, dependency on the gdtoa was dropped, and dependency on mpfr was
added.
2009-01-30 19:30:16 -04:00
John Wiegley
f1257cbc3e
Removed all dependency on gdtoa.
2009-01-30 16:19:31 -04:00
John Wiegley
9400435870
Updated comments and other whitespace changes.
2009-01-30 05:21:41 -04:00
John Wiegley
05c77351e4
Stopped using the generic "unsigned int" in favor of more specific types.
2009-01-29 18:23:57 -04:00
John Wiegley
9aaab88c61
Update Doxygen documentation. Still much more work to be done.
2009-01-29 02:24:42 -04:00
John Wiegley
8b75b5cbfb
Revised the way that parsing flags get passed around.
2009-01-29 02:24:25 -04:00
John Wiegley
094c64b67c
amount_t and commodity_t objects can now stream themselves to XML.
2009-01-28 20:49:44 -04:00
John Wiegley
cbc41ca47a
Moved sha1 and gdtoa inclusions into system.hh.
2009-01-24 04:50:18 -04:00
John Wiegley
8e50706d1e
Include gdtoa.h if it's being used.
2009-01-23 17:55:23 -04:00
John Wiegley
887828a40c
Increased copyright range to include 2009.
2009-01-20 01:53:31 -04:00
John Wiegley
d9197fc2e5
Changed COMMODITY_STYLE_NOMARKET TO COMMODITY_NOMARKET.
2009-01-19 22:24:56 -04:00