Commit Graph
100 Commits
Author SHA1 Message Date
Linas Vepstas f440c3ac8d bug-fix -- adding negative num to zero used to give a positive result.
(this bug was introduced only recently, about a week ago, with the changes
to 128-bit intermediate calculations, and does not/should not affect any
actual users).


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10130 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-07-02 03:13:43 +00:00
Linas Vepstas 56059a5a22 add more tests involving negative quantities
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10129 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-07-02 03:11:09 +00:00
Linas Vepstas 0ccd82473b adding a negative number to zero flips its sign! Oops!!
Add a test to make sure it never happens again.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10128 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-07-02 03:00:02 +00:00
Linas Vepstas 5a101b3354 check for overflows in the remainder calculations ...
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10124 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-30 02:37:05 +00:00
Linas Vepstas 812fbb094f bug fix -- the RND_NEVER flag was being ignored
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10123 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-30 02:21:55 +00:00
Linas Vepstas 4088394502 final form of test case
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10122 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-30 02:17:42 +00:00
Linas Vepstas a9755831a4 add new/improved rounding/overflow test
replace 'old' GNC_RND tokens with new GNC_HOW_RND


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10121 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-29 14:44:41 +00:00
Linas Vepstas d4f0340520 remove debug printf's move reduce routine out of 128-bit math lib
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10120 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-29 03:50:59 +00:00
Linas Vepstas d53ae73969 128-bit division algorithm was badly broken,
replace it with standard grade-school long division


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10119 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-29 03:45:08 +00:00
Linas Vepstas 061aabdaa3 bug-fix for how large-number division is done
bug fix for large-number conversion
-- (there are still some bugs, and some print statements, which I'll
remove shortly)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10118 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 22:35:29 +00:00
Linas Vepstas 5870f0d581 add some debug statements,
audit the math usage,
tweak the scrub routines to get rid of the no-root error message
(some debugging printfs remain, which I'll remove later)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10117 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 22:32:59 +00:00
Linas Vepstas afd64bc58f whoops, mised a flag
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10116 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 20:54:03 +00:00
Linas Vepstas 24055b8c49 add a shift-right (divide by two) function
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10115 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 20:06:36 +00:00
Linas Vepstas ecbd743dbb Audit use of gnc_numeric functions
whitespace changes (looked wacked if tabstops != 8)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10114 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 17:57:43 +00:00
Linas Vepstas b29c0fe21d Audit use of gnc_numeric rounding and denom specification.
Change GNC_RND to GNC_HOW_RND


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10113 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 17:56:02 +00:00
Linas Vepstas 1d7e3f3384 make random-numeric code more human-readable
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10112 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 17:39:24 +00:00
Linas Vepstas ba5e91cf96 tweaks to make the doxygen docs build correctly
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10111 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 05:17:13 +00:00
Linas Vepstas a6e0c9f03b changes to make doxygen documentation build
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10110 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 05:02:12 +00:00
Linas Vepstas d7682c257d add qofmath128.c -- for now, treat it as an inlinable header file, for now.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10109 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 04:12:31 +00:00
Linas Vepstas d98f9573cf strip out the 128-bit math to its own stand-alone file
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10108 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 04:07:11 +00:00
Linas Vepstas c24d87eeb3 initial checkin of 18-bit integer math lib
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10107 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 04:05:07 +00:00
Linas Vepstas fab4674a0e finish folding in the now-obsolete texinfo documentation
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10106 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 03:57:25 +00:00
Linas Vepstas d204341674 deprecate the gnc_numeric documentation
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10105 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 03:56:11 +00:00
Linas Vepstas b61d55a9c6 partially completedd merger of texinfo documentation into teh header
file


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10104 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-27 02:26:28 +00:00
Linas Vepstas 323c9afa3f add clarifying documentation
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10103 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 23:40:01 +00:00
Linas Vepstas 3ebf899792 fix the test case; it really is an overflow on division,
there's a bunch of huge prime numbers involved.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10102 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 23:10:39 +00:00
Linas Vepstas 2a966c502c -- finish work on add128
-- make subtract a special case of add (instead of copying code)
-- improve overflow characteristics of divide


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10101 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 23:01:38 +00:00
Linas Vepstas a01fad7d5b -- fix the least-common-denominator algorithm
-- try to avoid certain types of denominator overflows in addition
-- start implemented an add128 routine (not done)
-- white-space changes


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10100 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 19:08:13 +00:00
Linas Vepstas d5668d57df remove 32-bit limits that show up in division calculations
(could cause overflow during certain pricing calculations)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10098 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 16:16:56 +00:00
Linas Vepstas dacfb55687 rename carry flag to the 'isbig' flag;
fix a cuple of places that should have used it.
Fix a hole in the division algo


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10097 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 15:36:38 +00:00
Linas Vepstas 456c1de89d Pull dereks carry aptch into the division routines too
-- without it, the division tests fail
Also, cut out duplicated test code


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10093 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 06:41:10 +00:00
Linas Vepstas 68b43e3be6 add random division checks
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10092 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 06:39:38 +00:00
Linas Vepstas d58064d16a add double-precision tests,
add tests of multiplication of random numbers


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10091 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 06:12:09 +00:00
Linas Vepstas 7cee0ad628 tweak division
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10090 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 05:06:43 +00:00
Linas Vepstas 2ee74e3411 more tests for the lcd
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10089 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 05:03:07 +00:00
Linas Vepstas 84f24c27b5 work on the rounding tests
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10088 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 04:49:16 +00:00
Linas Vepstas e9e28e3dd3 add divide tests, fix equality test
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10087 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 04:28:56 +00:00
Linas Vepstas 2b7a6ddb51 expanded equality checks, begine multiply checks
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10086 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 03:32:29 +00:00
Linas Vepstas 8511347e6e tweak the equality tests to avoid aliasing effects for large-number compares.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10085 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 00:18:17 +00:00
Linas Vepstas 4e29f2f0c0 add more equality tests
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10084 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-26 00:16:50 +00:00
Linas Vepstas 7ef1bd4d71 add more equivalence checks
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10083 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-25 23:36:39 +00:00
Linas Vepstas c6ce7100a7 add random-addition tests
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10082 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-25 22:52:36 +00:00
Linas Vepstas e784e61127 initial checkin -- automated numeric test
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10081 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-25 22:15:56 +00:00
Linas Vepstas 77ca4e7afa add a foreach function to itereate over all registered classes.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10071 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-20 16:03:43 +00:00
Linas Vepstas 4999b0b966 add a parameter for-each function per request from Niel Williams
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10070 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-20 15:48:39 +00:00
Linas Vepstas 9d453b6680 sync with qof sources
- add documentation/commentary


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10069 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-20 15:17:36 +00:00
Linas Vepstas 2f265559ed -- add loader for the dwi backend
-- get rid of dorky, pointless subroutine call


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10065 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-14 01:05:58 +00:00
Linas Vepstas a3a3210b27 add version param
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10064 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-13 20:47:31 +00:00
Linas Vepstas 17531066a1 Remove the file-path utilities from qofsession.c and move them into
a temp file 'gnc-filepath-utils.c' which is used by both the
file backend and by the app-file GUI routines.  Some of the file-resolution
logic was oved to the file backend.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10063 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-13 20:01:29 +00:00
Linas Vepstas c69fa356d0 move the file-path utilities out of qofsession.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10058 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-13 17:23:26 +00:00
Linas Vepstas 92e983fa31 minor cleanup/restructure of how backends are located and loaded.
This infrastructure is not currently used by GnuCash.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10057 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-13 16:58:06 +00:00
Linas Vepstas 4a1e07e594 merge changes from the backend-work-1 branch.
These changes conisted of:
-- change the backend begin()/commit() signatures to take qofinstance
   instead of gpointer
-- clean up non-standard use of books by the pricedb
-- rename the gnc-be-utils.h file so that its now a part of QOF


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10056 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-13 16:48:32 +00:00
Linas Vepstas eb3eb2a27b initial checkin of core generic object ampping routine to CVS repository
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10043 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-12 20:29:06 +00:00
Linas Vepstas 832d75d08e rename 'new' to 'create' to avoid reserved word collision with C++
add 'version_compare' function for sql backedn updates


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10042 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-12 20:27:08 +00:00
Linas Vepstas d574e0f186 add version-comarison hooks,
rename the 'new' function to 'create' to avoid reserved-word collision in C++


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10041 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-12 20:25:47 +00:00
Linas Vepstas 15e5f4b55a whitspace fixes;
docuemtnation cleanup


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10040 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-12 20:04:04 +00:00
Linas Vepstas f58c02e5a5 add version-compare routine
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10039 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-09 03:38:52 +00:00
Linas Vepstas 1a50cd1179 improve doco's. Bump version number, which we should have done before.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10038 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-09 02:53:30 +00:00
Linas Vepstas 37061dc3d7 whitespace, documentation tweaks
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10037 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-07 03:10:01 +00:00
Linas Vepstas d97831dc8a tweak to attempt to minimize numeric overflows
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10036 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-07 03:05:35 +00:00
Linas Vepstas 4f6c678a34 little tweak to attempt to avoid overflow errors
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10035 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-07 03:04:21 +00:00
Linas Vepstas 4a800b684c Fix typo
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10034 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-07 03:02:26 +00:00
Linas Vepstas f2228fadf0 patch to crash reported in comment 20,
http://bugzilla.gnome.org/show_bug.cgi?id=120028
 ** untested **


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10032 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-06-02 14:56:02 +00:00
Linas Vepstas c314d3c4c5 There should be two distinct entry lists, one holding incomes, one expenses
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10019 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 22:34:48 +00:00
Linas Vepstas 02f4c45390 Remove the borken xaccGUIDType
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10018 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 22:15:16 +00:00
Linas Vepstas b32ab0a374 fix broken xaccGUIDType usage
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10017 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 21:56:03 +00:00
Linas Vepstas 7d896ffeff remove borken xaccGUIDType usage. The old code probably used to crash
and burn when URL's were clicked.  The new code whould work great.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10016 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 21:11:10 +00:00
Linas Vepstas fcbedb6883 Add entity type to HTML reports. Remove xaccGUIDType usage.
The xaccGUID usage was totally broken, clicking on report links
probably used to core dump; broken report links should now be fixed.

(This change probably conflicts with a jsled change to gnome2;
jsled, since this is the "more correct" long-term change as discussed,
please reert teh other changes.)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10015 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 20:10:49 +00:00
Linas Vepstas a93fd9a2be remove xaccGUIDType insanity in this dialog
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10014 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 18:55:34 +00:00
Linas Vepstas f78b3c4757 restore copyrights that had been previously removed.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10012 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 18:29:26 +00:00
Linas Vepstas 5a955e7161 fix comments
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10011 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 18:28:23 +00:00
Linas Vepstas b22de5241b convert tabs to spaces (my tab stops aren't set to 8, so tabs wreck indentation)
Replace crummy list usage, when a for-each would have been enough.
(this improves performance, reduces em fragmentation)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10010 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 18:03:10 +00:00
Linas Vepstas 2083da1480 Changes to use shared quick-fill for teh account transfer combo box.
Untested but should work fine.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10009 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 17:47:20 +00:00
Linas Vepstas aec37075f0 move the account-name quickfill code to the utilities directory, where
it can eb shared with the business ledger


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10007 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 17:12:47 +00:00
Linas Vepstas b14c720b6c Minor documentation cleanup
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10006 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 17:11:07 +00:00
Linas Vepstas c3d50ae4f9 add account-cuickfill to the makefile,
add some missing #includes needed for a clean compile


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10005 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 16:47:31 +00:00
Linas Vepstas 03af394ebc source code for account quick-fill utility
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10004 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 16:37:07 +00:00
Linas Vepstas bdb03fdb8e new, account-name quickfill utility
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10003 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 16:31:41 +00:00
Linas Vepstas 203a854e13 add more notes
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10002 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 16:03:48 +00:00
Linas Vepstas 29d5f82221 fix horrid indentation (someone used tabs inconsistently)
add documentation
add copyright (hey I wrote this code in 1998, along with the rest
of the register code.  Someone stripped out the copyright along the
way. Baadd).


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10001 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 15:58:20 +00:00
Linas Vepstas cd0064b516 add a utility routine, do some minor performance tuning.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9998 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 15:22:57 +00:00
Linas Vepstas 2079c5f7f6 fix the quickfill docos
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9996 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 14:57:31 +00:00
Linas Vepstas fe39e2717b add doxygen documentation markup.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9995 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 14:48:46 +00:00
Linas Vepstas 921cc92ec5 fix core dump bug introduced by earlier last-minute changes.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9993 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 06:51:06 +00:00
Linas Vepstas 83ff95c449 Add shared quick-fill for the register account-transfer pull-down combo
boxes.  Building the quickfil of account names takes gobs of cpu when
the number of accounts exceedd about 500 or so.   The sharing avoids
the rebuild of this list for each new reg window.

See
http://bugzilla.gnome.org/show_bug.cgi?id=120028

This patch should be back-ported to the 1.8 tree.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9992 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 04:53:26 +00:00
Linas Vepstas 593e574cf3 add documentation
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9991 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 04:43:21 +00:00
Linas Vepstas 7709758d5a Add documentation
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9990 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-31 03:29:43 +00:00
Linas Vepstas 270cd08498 add finalizers for the user-data hooks. The finalizer is called when the
book is being destroyed, allowing user to clean up thier data.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9989 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 23:32:51 +00:00
Linas Vepstas 15762c2e5e remove deprecated has table routines
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9988 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 23:27:26 +00:00
Linas Vepstas 6880ffc106 Please port these changes to 1.8.x and g2 branches.
This patch adds code to allow combo-boxes to run with
a shared quickfill.  The use of a shared quickfill should
dramatically improve register startup performance for
systems with a large number of accounts.  See
http://bugzilla.gnome.org/show_bug.cgi?id=120028
for details


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9987 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 22:23:57 +00:00
Linas Vepstas 4d8ba273fd IMPORTANT Patch for performance; please test and port to g2 branch.
This patch fixes some, not all, of the problems discussed in
http://bugzilla.gnome.org/show_bug.cgi?id=120028

The performance problem occurs when there are large numbers of
accounts in the account tree (for example 600 or more).  This patch
fixes performance problems with transaction editing and register
updates.

There are four calls to gnc_load_xfer_cell(), which is called twice by
gnc_split_register_load_xfer_cells() which is called by
gnc_split_register_load() in register/ledger-core/split-register-load.c
These calls should have been protected by if (info->first_pass)
so that they'd be called only when the register is first opened,
instead of each transaction update.  I just moved these to
a more correct location in that routine, and surrounded by
the fisrt_pass test, and it seems to make a huge difference in
performance, and it seems to still work correctly.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9985 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 19:31:59 +00:00
Linas Vepstas 4083634727 add a note about how to do the FIFO policy
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9984 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 16:42:52 +00:00
Linas Vepstas 758fa8bd91 add fflush to make output appear sooner
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9983 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 16:02:28 +00:00
Linas Vepstas 53507304cd add debugging print statements
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9982 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 05:10:27 +00:00
Linas Vepstas 216535a29b add 128-bit division & remainder support.
This helps reduce the failing gnc-lot problem.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9981 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 05:04:37 +00:00
Linas Vepstas 0ff45c2de4 -- check for overflow during numeric multiply
-- remove dead code (old common-factor finder)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9980 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 01:47:37 +00:00
Linas Vepstas 28fa53b187 start of quick-n-dirty 128-bit math lib
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9979 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-30 00:18:34 +00:00
Linas Vepstas c5c92f5099 -- make the gnc-numeric error codes be a typdef enum
-- try to inline the numeric-check for slightly better performance


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9978 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-29 22:43:49 +00:00
Linas Vepstas bd7a8b732d partial fix for the failure of the test-lots test case:
Change the FIFO policy to avoid mixed-currency lots.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9977 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-29 20:06:03 +00:00
Linas Vepstas c11d423065 Do not try to compute cap gains if cap gains not possible.
Gains aren't possible if the lot commodity is the same as
the transaction currency.   I think that this should fix
http://bugzilla.gnome.org/show_bug.cgi?id=139677
Untested, let me know.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9976 57a11ea4-9604-0410-9ed3-97b8803252fd
2004-05-29 19:09:14 +00:00