John Ralls
79938cae2e
Remove qofmath128, replaced by qofint128.
2014-12-03 16:47:45 -08:00
John Ralls
7c7946dec8
Disable rescaling big GncNumerics when there is a pre-calculated auto denom.
2014-12-03 16:28:55 -08:00
John Ralls
503a607090
More overflow-avoidance.
...
One source of overflow during testing was changing the denominator on a
max-precision number. If the numerator was clamped with a large denominator,
changing to a smaller denominator without rescaling created a number that
would overflow later when applied to a commodity with a different SCU. This
change re-scales numerators in those cases so that the overflows don't happen.
2014-12-03 16:28:55 -08:00
John Ralls
456e121930
Ensure random numeric denominator is the account SCU when creating splits.
...
The lot creation and balancing code uses gnc_numeric_foo_fixed(), assuming that
all amounts in a split have the same denominator, the account's SCU. Ensuring
this when creating test cases prevents spurious failures.
2014-12-03 16:28:54 -08:00
John Ralls
b694df7202
Prevent overflow.
...
LCD denom was equivalent to using rounding.denom, which is val.denom * 10.
If val.num was at the max # of digits that would overflow, so instead
fix val.denom and actually round the result; since we're adding
5/(val.denom * 10) to accomplish the rounding we want to truncate the result.
2014-12-03 16:28:54 -08:00
John Ralls
701d8030b8
Ensure numeric errors aren't stored in split amounts or values.
2014-12-03 16:28:54 -08:00
John Ralls
c4d649bc93
A better, clearer approach to constraining random gnc_numerics
...
Which happens to actually work.
2014-12-03 16:28:54 -08:00
John Ralls
33a0c4e968
Reimplement gnc_numeric with QofInt128
...
And in a more C++ idiom.
2014-12-03 16:28:54 -08:00
John Ralls
ab94094523
Lose the value returns for various reasons of inequality.
2014-12-03 16:28:54 -08:00
John Ralls
a99335104f
Assert that the quotient and remainder references aren't this.
...
Otherwise this gets zeroed and produces a wrong result.
2014-12-03 16:28:54 -08:00
John Ralls
f4c69dbc48
Ensure that the sign is correctly preserved and transferred.
2014-12-03 16:28:54 -08:00
John Ralls
9e37ad27b3
Implement QofInt128.pow.
2014-12-03 16:28:54 -08:00
John Ralls
f5c7b1101d
Implement QofInt128::gcd and lcm.
2014-12-03 16:28:54 -08:00
John Ralls
765d5583c1
Fix mask error in operator<<= and operator>>=
...
Must specify 1 as a uint64_t to get the right masks.
2014-12-03 16:28:54 -08:00
John Ralls
7c22669a76
Check for incoming overflow and NaN on all class computational operators.
2014-12-03 16:28:54 -08:00
John Ralls
296ce314a3
Extract a class function bits() to return a size value.
...
Helps to pre-determine overflow. Also correct the original implementation
in operator *=, which got the wrong answer.
2014-12-03 16:28:53 -08:00
John Ralls
1b288df20d
Add bitwise operators and binary operators.
2014-12-03 16:28:53 -08:00
John Ralls
c649aa9736
Some more constructors, for convenience.
2014-12-03 16:28:53 -08:00
John Ralls
810a6bc8ae
Operators /= and %= plus function div() for QofInt128.
2014-12-03 16:28:53 -08:00
John Ralls
1c83db5896
Add increment, decrement, and shift-eauals operators to QofInt128.
...
They'll be needed for division.
2014-12-03 16:28:53 -08:00
John Ralls
c7752d5d3c
Add zero and abs functions to QofInt128.
2014-12-03 16:28:53 -08:00
John Ralls
1e6855efe5
Implement operator*= for QofInt128
2014-12-03 16:28:53 -08:00
John Ralls
d4fdd9ef17
Begin QofInt128 class.
...
Constructs, adds & subtracts, prints, and compares.
Includes unit tests.
2014-12-03 16:28:53 -08:00
John Ralls
9d029d7f82
More realistic get_random_gnc_numeric()
...
Increases the possible denominators to 1E10, but clamps the numerator to
1E13 * denom with 1E19 max. This is equivalent to $1E8/1 US in
Indonesian Rupiah, the currency with the lowest per-unit value in the
world at the time of this commit.
2014-12-03 16:28:53 -08:00
John Ralls
996345a00f
Fix gperformance-tools setup and apply it to src/engine/tests.
2014-12-03 16:26:38 -08:00
Robert Fewell
3c46aac94a
Bug 738462 - CSV Import This patch adds some text to clarify that the transaction export is not a match for the import.
2014-11-30 15:43:18 +01:00
Robert Fewell
32dd199326
Bug 679791 - Import Template for importing CSV files - part2
...
This patch adds the option to Save and Load the CSV import settings.
2014-11-30 15:32:12 +01:00
Robert Fewell
eec86eec80
Bug 679791 - Import Template for importing CSV files - part 1.
...
This patch fixes the resetting of the widgets on the setting
preview page when you navigate back to the file selection page
in the assistant.
2014-11-30 15:31:37 +01:00
Geert Janssens
1b53d7fa2e
Merge branch 'master' of https://github.com/c-holtermann/gnucash
2014-11-29 16:32:50 +01:00
Geert Janssens
e219ef22ea
Merge branch 'maint'
2014-11-29 14:26:27 +01:00
Geert Janssens
abf78a202c
Python bindings - fix creation of new xml files
2014-11-24 11:51:33 +01:00
John Ralls
19f08da56b
Implement copy and move operator= and move constructor for KvpValueImpl
...
Fixes double-delete crash of the embedded ptr when copy-initializing.
2014-11-18 17:00:04 -08:00
lmat
ba59350f69
Adding KvpValueImpl test suite
2014-11-18 09:54:34 -08:00
Geert Janssens
e59c3e0639
Fix a few typos in python example scripts and align them with the latest api changes
2014-11-17 17:59:07 +01:00
Geert Janssens
22490a37ab
Fix build-time hard-coded path introduced by the guile2 compile changes
...
These changes hardcoded the standards-reports path at build time.
On Windows and OS X the final path is only known at installation time.
So after installation the build-time hard-coded path would be invalid and
the standard-reports directory could no longer be found.
2014-11-17 14:48:02 +01:00
Geert Janssens
64d9a3b99e
Prevent crash when standards-report dir doesn't exist
2014-11-17 15:43:16 +01:00
Christoph Holtermann
67b807fbf1
Small doc changes
2014-11-12 16:50:00 +01:00
Christoph Holtermann
de47330288
Change latex_invoices.py to query for all invoices
...
Before invoices were catched by going through lots
and getting associated invoices.
2014-11-12 16:45:53 +01:00
Christoph Holtermann
c86c69ad05
Additional doxygen doc
2014-11-12 16:39:08 +01:00
Christoph Holtermann
7d6caa8232
latex_invoices.py includes gncinvoicefkt.py
2014-11-12 15:30:13 +01:00
Geert Janssens
578dfd810b
Fix head-or-tail stylesheet after guile2 compile changes
...
In particular the N_ macro is now defined in a separate module
which should be 'use-module'd when N_ is used.
2014-11-12 15:24:47 +01:00
Geert Janssens
dd65a6e39e
Periodic merge of branch 'maint'
...
Fixed conflicts:
src/test-core/Makefile.am
Most important changes:
* precompile scm files in case guile 2 is detected
* several new and updated translations
* several bugfixes since the 2.6.4 release
2014-11-12 15:23:04 +01:00
Christoph Holtermann
ea39d65372
Some doc for gncinvoicefkt.py
2014-11-12 15:08:57 +01:00
Christoph Holtermann
398fb96065
Doxygen doc extended for python invoice export
2014-11-12 14:54:56 +01:00
Geert Janssens
d6826976ef
Fix parallel make for guile2 compilation
2014-11-12 14:43:01 +01:00
Christoph Holtermann
3818f3272e
small fixes for doxygen
2014-11-12 13:28:25 +01:00
Christoph Holtermann
66a9ee80ce
polishing the template
2014-11-12 13:27:46 +01:00
Geert Janssens
3a825c929f
QIF Import crashes when closing via the 'X' button on the last page
...
Using the 'Close' button works correctly. The difference is that
the 'X' button triggers a cancel action while the 'Close' button
triggers a close action. I have changed this such that when the
import already happened (that is when the user is looking at the
summary page), a close action will be triggered in both cases.
2014-11-12 12:07:51 +01:00
Christoph Holtermann
415b8c7b97
Invoice templates
2014-11-11 21:57:21 +01:00
Christoph Holtermann
eb9578648e
locale formatting added
2014-11-11 21:35:15 +01:00