Commit graph

1183 commits

Author SHA1 Message Date
John Wiegley
158b9c92fd Fixed minor rounding issue with priced commodities 2010-06-09 03:39:17 -04:00
John Wiegley
659741ac47 Insert <Rounding> posts within the affected xact 2010-06-09 02:25:53 -04:00
John Wiegley
fc09b69fb7 Fixed interaction with -V/X and grouped postings
With -s, -M/Y/D, -n, and a few other flags, postings get "grouped" into
meta-transactions that contain more postings than before.  In all these
cases, -V use the date of the *earliest* posting in that group, which
makes little sense and caused breakages with -J.  It now uses the latest
date.

Fixes #197 / 68EAF363-D0FE-4127-866E-A5AEBACB65D6
2010-06-09 02:22:50 -04:00
John Wiegley
524c98244e Revert "Compute a posting's cost from an annotated price"
This reverts commit ae8ab81062.
2010-06-08 04:44:35 -04:00
John Wiegley
be6cef93c4 A further simplification of -V and -X
With -X COMM, all values are computed in terms of COMM, regardless.

With -V, only secondary commodities will ever be computed, never
primaries.  Further, if a secondary commodities has an associated price,
the valuation is done in terms of that price's commodity.
2010-06-07 09:49:17 -04:00
John Wiegley
ae8ab81062 Compute a posting's cost from an annotated price 2010-06-07 08:32:14 -04:00
John Wiegley
c85cf0d810 Fixed the way prices and costs are print'd 2010-06-07 08:32:14 -04:00
John Wiegley
a4d4f99794 amount_t::print and value_t::print now use flags 2010-06-07 08:32:13 -04:00
John Wiegley
8bd362b5d1 Minor optimization of how non --empty is handled 2010-06-07 08:32:13 -04:00
John Wiegley
39f9854e2c Reworked the way that <Rounding> entries are shown
Fixes #188 / 53BCED29-F3B9-4E02-9A35-6C739ABB9662
2010-06-06 06:20:07 -04:00
John Wiegley
4197c88511 Corrected implementation of --percent 2010-06-06 06:05:51 -04:00
John Wiegley
41e4aea759 Made lookup of an account's "cost" a calc error 2010-06-06 06:03:56 -04:00
John Wiegley
6c01e4e090 Simplified some debug code 2010-06-06 05:04:22 -04:00
John Wiegley
7548c7fe2c Corrected a typename visibility issue 2010-06-06 03:26:31 -04:00
John Wiegley
1417b40fdf Enabled timers and logging in NDEBUG builds 2010-06-05 04:49:10 -04:00
John Wiegley
2c65b95e49 Made "expr" command a synonym for "parse" 2010-06-05 04:28:33 -04:00
John Wiegley
16f799767c Value expression sequences are now comparable
Fixes #228 / ED9388D7-E523-40EB-841B-9AE9BAA70329
2010-06-05 03:26:43 -04:00
John Wiegley
63c7ba0322 Make --anon work with the print command
Fixes #226 / C1C1E731-D991-40ED-BE43-8ED55585386C
2010-06-05 02:46:22 -04:00
John Wiegley
653d2bd99a Corrected a verification test 2010-06-05 02:18:01 -04:00
John Wiegley
b848ace768 Allow opt -NDEBUG build to complete without warnings 2010-06-04 06:02:00 -04:00
John Wiegley
f16a5382ed commodity_t::find_price now uses memoization
This reduces the slowdown of using -V and -X from 36x in some cases down
to around 4-5x (for a debug build).
2010-06-04 05:16:30 -04:00
John Wiegley
a4a45cb4d6 any and all do not need to be reserved tokens 2010-06-04 03:40:39 -04:00
John Wiegley
b7e8cb9d54 More debug code cleanup 2010-06-04 03:34:56 -04:00
John Wiegley
7f7243ff93 Made the behavior of -V a bit more rational
It now only values non-primary commodities in terms of primary ones.
2010-06-04 03:11:14 -04:00
John Wiegley
2ae2dc86c6 Reorganized some debug code 2010-06-04 02:54:38 -04:00
John Wiegley
dbac09405f Added new command: "pricemap [DATE]"
This outputs the pricing relationship of commodities in your data file,
as of DATE (optional), using the DOT language.  If you have graphviz
installed, it can be viewed quite simply using:

  ledger pricemap | dotty -

Each relationship in the graph shows the conversion factor to exchange
one commodity for another, and the date at which this factor was
determined.
2010-06-04 02:53:18 -04:00
John Wiegley
946534b102 A little bit of code cleanup 2010-06-04 02:23:04 -04:00
John Wiegley
45451125e3 Simplified some debug code 2010-06-03 23:23:12 -04:00
John Wiegley
f76b271d24 Removed a redundant check 2010-06-03 23:18:18 -04:00
John Wiegley
e8bf3da053 Short-circuit annotated commodity valuation 2010-06-03 17:59:43 -04:00
John Wiegley
e6c5837b2c Corrected a debug statement 2010-06-03 17:57:09 -04:00
John Wiegley
27b86a5388 Avoid unnecessary object copying when using foreach 2010-06-03 17:43:38 -04:00
John Wiegley
0f1afdb3a7 Minor optimization of amount_t::operator* 2010-06-03 05:47:12 -04:00
John Wiegley
3a0f096cb6 Added new "addr" value expression function
It returns the address of the given object as an integer.  This can be
used to uniquely compare entities.
2010-06-03 05:37:21 -04:00
John Wiegley
30479c0e12 A simple, yet significiant, optimization
Every annotated commodity is based on a "referent", or the unannotated
version of that commodity.  When stripping all annotations away,
however, rather than simply returning the referent we were actually
searching for it by name.  There was no reason to do this, not to
mention it was taking up to 7% of the total runtime of some reports.
2010-06-03 01:26:30 -04:00
John Wiegley
3324e3472d Removed some debug code 2010-06-03 00:54:10 -04:00
John Wiegley
cbc0a125c0 Correct display of amounts with keep_precision
Fixes #167 / 1D275740-D1A6-42B7-BDE4-F2F85E30CE8E
2010-06-02 06:24:25 -04:00
John Wiegley
90d5ef83b6 Don't gen posting with same cost, amount commodity 2010-06-02 06:13:40 -04:00
John Wiegley
79fe46eae8 Don't use --pager or --color with --output 2010-06-02 04:55:45 -04:00
John Wiegley
75363003bd Throw an exception if mpfr_asprintf fails 2010-06-02 04:01:16 -04:00
John Wiegley
10df662166 Wrap a default account name with _() 2010-06-02 04:00:43 -04:00
John Wiegley
17b29a6378 Inlined the print_xacts constructor 2010-06-02 03:39:29 -04:00
John Wiegley
d6a559959c Moved a misplaced parenthesis 2010-06-02 03:39:22 -04:00
John Wiegley
e275caa5fb Two members of journal_t weren't being serialized 2010-06-02 02:08:44 -04:00
John Wiegley
8c61ba013f Changed two uses of delete to checked_delete() 2010-06-02 00:27:59 -04:00
John Wiegley
e0c5f6db30 Fixed two memory reference errors 2010-06-02 00:27:35 -04:00
John Wiegley
5cdd36f358 Further improved parsing of query expressions
Fixes #210 / D4C2DD6F-8967-4FFC-BBBC-A941F9C53475
2010-06-01 18:33:13 -04:00
John Wiegley
038c24357e Changed --european option to --decimal-comma
Fixes #211 / 1736ACA5-5DE6-4826-AEB4-DB5B2A2217AC
2010-06-01 17:56:41 -04:00
John Wiegley
d513c71236 Minor optimization 2010-06-01 17:40:27 -04:00
John Wiegley
d19745afde Improve parsing of 'expr' query terms
Fixes #157 / 9DF85DF2-4BF5-4931-A30C-2592A10BB5C0
2010-06-01 17:32:41 -04:00