gnucash/libgnucash/engine
Christopher Lam e79db92d8d [Split.c] xaccSplitListGetUniqueTransactionsReversed
Same as xaccSplitListGetUniqueTransactions but doesn't reverse the
list prior to returning. To be used by gnc-tree-model-split-reg.c

Several optimizations

* doesn't call g_list_find and g_list_append for every iteration
* uses g_hash_table to cache list of txns already added instead of g_list_find
* does not reverse the result, thereby returning a reversed list.
2021-02-24 09:08:25 +08:00
..
mocks Echo into CMakeLists.txt rename of gmock-qofqury to fake-qofquery. 2020-12-13 11:52:32 -08:00
test I18N: replace several spourious spaces 2021-02-22 17:56:50 +01:00
test-core Decouple QofBook creation from QofSession. 2020-05-08 15:59:41 -07:00
Account.cpp I18N: replace several spourious spaces 2021-02-22 17:56:50 +01:00
Account.h Bug 798093 - Changing the symbol/abbreviation of a security after... 2021-01-27 17:44:21 -08:00
AccountP.h Add a flag to the account structure to defer balance computation 2020-08-01 21:10:19 -07:00
cap-gains.c Bug 797532 - Crash/Coredump Lots 2019-12-28 13:36:11 -08:00
cap-gains.h Restructure the src directory 2017-08-10 18:45:00 +02:00
cashobjects.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
cashobjects.h Restructure the src directory 2017-08-10 18:45:00 +02:00
CMakeLists.txt Make xaccScrubUtilityGetOrMakeAccount static and remove ScrubP.h 2021-01-27 17:44:21 -08:00
design.txt Restructure the src directory 2017-08-10 18:45:00 +02:00
engine-helpers.c Bug 797853 - Crash on 'Save As' in MacOS Mojave and Gnucash 4 2020-07-10 15:54:17 -07:00
engine-helpers.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
extensions.txt Restructure the src directory 2017-08-10 18:45:00 +02:00
FreqSpec.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-aqbanking-templates.cpp Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
gnc-aqbanking-templates.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-backend-prov.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-budget.c [budget] Add 'notes' functionality to engine 2019-10-06 18:34:06 +02:00
gnc-budget.h Merge branch 'maint' 2019-10-27 22:03:55 +08:00
gnc-commodity.c engine - move guile code to bindings/guile 2019-12-06 19:59:11 +01:00
gnc-commodity.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gnc-date-p.h Don't need NANOS_PER_SECOND anymore. 2018-09-21 13:00:19 -07:00
gnc-date.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gnc-date.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gnc-datetime.cpp Fix test failure for timezones west of the prime meridian. 2020-05-02 15:35:13 -07:00
gnc-datetime.hpp Add GncDateTime::timestamp(). 2019-01-06 10:13:00 -08:00
gnc-engine.c Don't look for backend libraries in old autotools subdirs. 2018-06-07 17:38:04 -07:00
gnc-engine.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gnc-event.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gnc-event.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-features.c Add feature GNC_FEATURE_EQUITY_TYPE_OPENING_BALANCE 2020-11-16 08:51:51 +01:00
gnc-features.h Add feature GNC_FEATURE_EQUITY_TYPE_OPENING_BALANCE 2020-11-16 08:51:51 +01:00
gnc-hooks.c gnc-hooks - factor out scm calls into a separate source file 2019-12-06 19:59:11 +01:00
gnc-hooks.h gnc-hooks - factor out scm calls into a separate source file 2019-12-06 19:59:11 +01:00
gnc-int128.cpp Bug 796949 - Fix division and rounding of zero. 2019-05-11 23:23:59 +01:00
gnc-int128.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-lot-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-lot.c [gnc-lot.c] speed up gncInvoiceGetInvoiceFromLot by caching invoice 2020-04-30 23:56:26 +08:00
gnc-lot.h [gnc-lot.c] speed up gncInvoiceGetInvoiceFromLot by caching invoice 2020-04-30 23:56:26 +08:00
gnc-numeric.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gnc-numeric.h Fix the comments on double_to_gnc_numeric. GNC_DENOM_AUTO is allowed. 2019-01-28 19:24:26 -05:00
gnc-numeric.hpp typo 2018-12-04 12:05:59 +01:00
gnc-pricedb-p.h Bug 797165 - Crash on price deletion. 2019-04-26 12:09:05 +01:00
gnc-pricedb.c Bug 798015 - cash flow numerical-overflow 2020-11-22 23:35:46 +08:00
gnc-pricedb.h [gnc-pricedb.c][api] pull out composite pricedb price retriever 2020-10-26 23:55:51 +08:00
gnc-rational-rounding.hpp Bug 796949 - Fix division and rounding of zero. 2019-05-11 23:23:59 +01:00
gnc-rational.cpp Adjust catch syntax to avoid GCC8 warnings. 2018-04-03 22:02:44 -04:00
gnc-rational.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-session.c Decouple QofBook creation from QofSession. 2020-05-08 15:59:41 -07:00
gnc-session.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-timezone.cpp Remove redundant and incorrectly named constant. 2020-11-07 13:20:22 -08:00
gnc-timezone.hpp Add a TimeZoneProvider::dump(). 2018-04-27 14:16:49 -07:00
gnc-uri-utils.c Bug 797175 - Opening a file from a gvfs mount point fails 2019-04-19 15:51:29 +01:00
gnc-uri-utils.h gnc-uri - refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris 2018-12-27 22:33:17 +01:00
gncAddress.c Fix deprecated G_TYPE_INSTANCE_GET_PRIVATE and G_INLINE_FUNC 2019-09-12 15:25:42 -07:00
gncAddress.h Drop useless ifdefs 2020-01-17 18:25:43 +01:00
gncAddressP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncBillTerm.c Timespec->time64 in business code. 2018-08-13 11:52:42 -07:00
gncBillTerm.h Drop useless ifdefs 2020-01-17 18:25:43 +01:00
gncBillTermP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncBusiness.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncBusiness.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gncCustomer.c prepend-and-reverse instead of O(N^2) append 2021-02-24 09:08:25 +08:00
gncCustomer.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncCustomerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncEmployee.c Fix deprecated G_TYPE_INSTANCE_GET_PRIVATE and G_INLINE_FUNC 2019-09-12 15:25:42 -07:00
gncEmployee.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncEmployeeP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncEntry.c Fix deprecated G_TYPE_INSTANCE_GET_PRIVATE and G_INLINE_FUNC 2019-09-12 15:25:42 -07:00
gncEntry.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
gncEntryP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncIDSearch.c Restructure the src directory 2017-08-10 18:45:00 +02:00
gncIDSearch.h Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncInvoice.c Change the document link KVP symbol to original name 2020-09-13 11:01:37 +01:00
gncInvoice.h Rename all Transaction and Invoice Association identifiers to DocLink. 2020-09-11 11:34:32 -07:00
gncInvoiceP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncJob.c Drop useless ifdefs 2020-01-17 18:25:43 +01:00
gncJob.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncJobP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncOrder.c Fix deprecated G_TYPE_INSTANCE_GET_PRIVATE and G_INLINE_FUNC 2019-09-12 15:25:42 -07:00
gncOrder.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
gncOrderP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncOwner.c minor optimisations, g_list_prepend then g_list_sort separately 2020-10-01 11:34:21 +08:00
gncOwner.h [gncOwner] add gncOwnerGetTypeString returns owner-type 2019-10-28 20:18:47 +08:00
gncOwnerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncTaxTable.c Do not log an error when no default tax tables set 2019-08-29 11:27:10 +01:00
gncTaxTable.h Replace overly indirect gnc_business_get_default_tax_table. 2019-08-22 12:30:33 -07:00
gncTaxTableP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncVendor.c Fix deprecated G_TYPE_INSTANCE_GET_PRIVATE and G_INLINE_FUNC 2019-09-12 15:25:42 -07:00
gncVendor.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncVendorP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
guid.cpp Speed up GUID equality comparison. 2018-03-06 09:48:38 -08:00
guid.h Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
guid.hpp Speed up GUID equality comparison. 2018-03-06 09:48:38 -08:00
iso-4217-currencies.xml fix CZK partname to nominative singular 2020-10-30 00:40:02 +01:00
iso-currencies-to-c.xsl Restructure the src directory 2017-08-10 18:45:00 +02:00
kvp_doc.txt Convert GNC_TYPE_TIMESPEC to GNC_TYPE_TIME64, Kvp::Type::Timespec to Kvp::Type::Time64 2018-08-12 16:12:19 -07:00
kvp-frame.cpp Convert GNC_TYPE_TIMESPEC to GNC_TYPE_TIME64, Kvp::Type::Timespec to Kvp::Type::Time64 2018-08-12 16:12:19 -07:00
kvp-frame.hpp Remove unused template of function for_each_slot_prefix() 2020-02-17 23:41:05 +01:00
kvp-value.cpp Fix the remaining static analysis warnings. 2018-11-30 15:08:41 +09:00
kvp-value.hpp Fix memory leak in char* type KvpValue and fix improper uses 2018-09-10 19:49:43 +02:00
policy-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
policy.c Transaction members Timespec->time64 2018-01-08 13:01:29 +11:00
policy.h Account.c to Account.cpp 2017-12-21 07:39:32 -05:00
qof-backend.cpp Bug 797983 - v4.2 report numbers change over gnucash restarts;... 2020-10-18 16:09:41 -07:00
qof-backend.hpp Bug 797983 - v4.2 report numbers change over gnucash restarts;... 2020-10-18 16:09:41 -07:00
qof-gobject.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qof-string-cache.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qof-string-cache.h Correct string cache code 2017-12-21 07:39:33 -05:00
qof-win32.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
qof.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofbackend.h Drop comment referring to non-existing file 2019-10-06 18:31:20 +02:00
qofbook-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofbook.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofbook.h Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
qofbookslots.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofchoice.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofchoice.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofclass-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofclass.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofclass.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofevent-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofevent.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofevent.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofid-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofid.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofid.h Fix ptr-comparison-to-string-literal error 2020-09-25 12:23:56 -07:00
qofinstance-p.h Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07:00
qofinstance.cpp Bug 797983 - v4.2 report numbers change over gnucash restarts;... 2020-10-18 16:09:41 -07:00
qofinstance.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qoflog.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qoflog.h Move QofLogModule typedef to qoflog.h where it belongs. 2020-05-09 14:39:08 -07:00
qofobject-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofobject.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofobject.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquery-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquery.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofquery.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquerycore-p.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
qofquerycore.cpp Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07:00
qofquerycore.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
qofsession.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofsession.h use same order in comment as in definition of SessionOpenMode enum 2020-07-04 22:26:35 +02:00
qofsession.hpp Fix some return of ptr-to-temporary errors 2020-09-25 12:31:52 -07:00
qofutil.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
qofutil.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Query.c Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Query.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
README Restructure the src directory 2017-08-10 18:45:00 +02:00
README.query-api Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Recurrence.c I18N: Remove annoying stars from translator comments 2021-01-22 10:19:54 +01:00
Recurrence.h Bug 797326 - Enhancement: budget's Estimate tool should ignore Closing Entries 2019-10-25 18:27:47 +08:00
SchedXaction.c Fix 3 problems with the scheduled transactions calculations 2020-04-25 14:39:41 -07:00
SchedXaction.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Scrub2.c Make xaccScrubUtilityGetOrMakeAccount static and remove ScrubP.h 2021-01-27 17:44:21 -08:00
Scrub2.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Scrub3.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
Scrub3.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Scrub.c I18N: replace several spourious spaces 2021-02-22 17:56:50 +01:00
Scrub.h Allow the Check&Repair routine to be cancellable from CoA 2020-10-20 14:42:32 +01:00
ScrubBusiness.c prepend-and-reverse instead of O(N^2) append 2021-02-24 09:08:25 +08:00
ScrubBusiness.h Update bug tracker URL 2018-07-13 09:49:33 -07:00
Split.c [Split.c] xaccSplitListGetUniqueTransactionsReversed 2021-02-24 09:08:25 +08:00
Split.h [Split.c] xaccSplitListGetUniqueTransactionsReversed 2021-02-24 09:08:25 +08:00
SplitP.h Bug 797390 - xaccAccountRecomputeBalance also tallies no-closing balances 2019-10-23 20:09:40 +08:00
SX-book-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
SX-book.c prepend-and-reverse instead of O(N^2) append 2021-02-24 09:08:25 +08:00
SX-book.h Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
SX-ttinfo.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
SX-ttinfo.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Transaction.c prepend-and-reverse instead of O(N^2) append 2021-02-24 09:08:25 +08:00
Transaction.h Rename all Transaction and Invoice Association identifiers to DocLink. 2020-09-11 11:34:32 -07:00
TransactionP.h Sorting speed-up: Cache the bool value of Transaction's is_closing property. 2018-12-31 14:50:36 +01:00
TransLog.c I18N: replace several spourious spaces 2021-02-22 17:56:50 +01:00
TransLog.h Restructure the src directory 2017-08-10 18:45:00 +02:00
xlate.pl Restructure the src directory 2017-08-10 18:45:00 +02:00

This directory contains code for the accounting engine.
Its fairly clean but far from perfect, and it certainly
lacks advanced features.

There should be no GUI code in this subdirectory, and,
ideally, it should build cleanly and independently of 
any GUI elements or assumptions.

For design documentation, please see the file "design.txt",
and also, look at the header files carefully.  The documentation
for each routine is in the header files for that routine.

September 1998