Bruno BELANYI
|
fa092f8876
|
ci: add Drone CI
continuous-integration/drone/push Build is failing
|
2021-08-31 20:38:18 +02:00 |
|
Bruno BELANYI
|
ac6b633c89
|
nix: remove 'meta.broken'
Now that we actually install the program...
|
2021-08-31 20:20:30 +02:00 |
|
Bruno BELANYI
|
edd8d1f329
|
abacus: fix install
|
2021-08-31 20:20:22 +02:00 |
|
Bruno BELANYI
|
be781b0d2f
|
abacus: use static libraries
We do not want to install those libraries in any way.
|
2021-08-31 20:20:09 +02:00 |
|
Bruno BELANYI
|
9d8d3fa864
|
abacus: bignum: extract do_dump
Useful when debugging.
|
2021-08-23 19:24:53 +02:00 |
|
Bruno BELANYI
|
c675b15248
|
abacus: bignum: optimize div_mod
|
2021-08-23 19:12:35 +02:00 |
|
Bruno BELANYI
|
1521d2b232
|
abacus: bignum: fix do_halve
|
2021-08-23 19:10:48 +02:00 |
|
Bruno BELANYI
|
a99f60dcd4
|
abacus: bignum: move do_halve & is_odd up
|
2021-08-23 18:59:43 +02:00 |
|
Bruno BELANYI
|
31dcb91a26
|
abacus: bignum: add log10
|
2021-08-23 16:38:25 +02:00 |
|
Bruno BELANYI
|
c730705a13
|
abacus: bignum: add log2
|
2021-08-23 16:33:05 +02:00 |
|
Bruno BELANYI
|
4b85d22923
|
abacus: bignum: add operator bool
|
2021-08-23 16:30:10 +02:00 |
|
Bruno BELANYI
|
c9811fce44
|
abacus: bignum: rename do_trim_leading_zeros
It works in-place, unlike the rest of the `do_*` functions.
|
2021-08-23 16:14:22 +02:00 |
|
Bruno BELANYI
|
2046d1ec4b
|
abacus: bignum: fix style of assignment
Using `auto <var> = <type>` is more consistent with the rest.
|
2021-08-23 16:12:53 +02:00 |
|
Bruno BELANYI
|
f64c8775f3
|
nix: mark package as broken
For some reason I get an error when building under nix...
|
2021-08-23 01:04:17 +02:00 |
|
Bruno BELANYI
|
7f81f5fa7c
|
nix: use checkInputs for GTest
|
2021-08-23 00:51:07 +02:00 |
|
Bruno BELANYI
|
c06444f90c
|
project: add LICENSE
|
2021-08-23 00:38:07 +02:00 |
|
Bruno BELANYI
|
1dbed201e6
|
abacus: parse: parser: store result of parse
|
2021-08-23 00:24:25 +02:00 |
|
Bruno BELANYI
|
46a0655e72
|
abacus: parse: scanner: define yyterminate
|
2021-08-23 00:24:05 +02:00 |
|
Bruno BELANYI
|
2d437a2583
|
abacus: parse: activate debug using ENV
|
2021-08-22 23:57:54 +02:00 |
|
Bruno BELANYI
|
6989d5209f
|
utils: gdb: fix pretty-printing of BigNum
I was accumulating the digits in reverse...
|
2021-08-22 23:46:02 +02:00 |
|
Bruno BELANYI
|
b50750009b
|
abacus: parse standard output and output result
|
2021-08-22 14:37:49 +02:00 |
|
Bruno BELANYI
|
26055c5a3f
|
abacus: parse: fix name of namespace
|
2021-08-22 14:37:32 +02:00 |
|
Bruno BELANYI
|
e4aa81d1a4
|
fixup! abacus: parse: use BigNum instead of int
|
2021-08-22 14:37:09 +02:00 |
|
Bruno BELANYI
|
d3c189bd1f
|
abacus: parse: declare proper dependency
Due to creating a dependency, we should use `custom_target` rather a
`generator` expression.
|
2021-08-22 14:36:26 +02:00 |
|
Bruno BELANYI
|
60a0fbf5b0
|
abacus: parse: use BigNum instead of int
|
2021-08-22 14:14:27 +02:00 |
|
Bruno BELANYI
|
f4f620436c
|
abacus: bignum: add sqrt
|
2021-08-22 13:58:43 +02:00 |
|
Bruno BELANYI
|
d03058e410
|
abacus: bignum: add note about div_mod performance
|
2021-08-22 13:57:29 +02:00 |
|
Bruno BELANYI
|
cfa19a60ba
|
abacus: bignum: trim zeros after a subtraction
This way we keep a canonicalized version of the result.
|
2021-08-22 13:55:12 +02:00 |
|
Bruno BELANYI
|
3397bf4310
|
abacus: bignum: fix order comparisons
This is a pretty big oversight...
|
2021-08-22 13:55:12 +02:00 |
|
Bruno BELANYI
|
5bc3963317
|
abacus: bignum: add exponentiation
|
2021-08-22 13:55:12 +02:00 |
|
Bruno BELANYI
|
0436d2e513
|
abacus: bignum: factorize trim of leading zeros
|
2021-08-22 13:55:12 +02:00 |
|
Bruno BELANYI
|
4e3d53ecd4
|
abacus: bignum: add division & modulo
Like the C language, the `%` operator is rather the remainder, such that
`(a/b)*b + (a%b) = a`.
I still call it modulo though...
|
2021-08-22 13:55:12 +02:00 |
|
Bruno BELANYI
|
7cd0664e60
|
abacus: bignum: fix carry bug in addition
|
2021-08-21 01:32:18 +02:00 |
|
Bruno BELANYI
|
c23500607f
|
clang-format: format operators more aesthetically
|
2021-08-21 01:32:18 +02:00 |
|
Bruno BELANYI
|
44bb20e390
|
abacus: bignum: remove magic number regarding base
|
2021-08-21 01:32:12 +02:00 |
|
Bruno BELANYI
|
2489ce19b2
|
abacus: bignum: put sign checks in helper methods
Make them public because they can be useful in consumers of the library.
|
2021-08-21 01:31:49 +02:00 |
|
Bruno BELANYI
|
4a4b9f361c
|
abacus: bignum: add multiplication
|
2021-08-21 01:31:48 +02:00 |
|
Bruno BELANYI
|
eb47889eef
|
gdbinit: register pretty-printers automatically
|
2021-08-21 01:31:48 +02:00 |
|
Bruno BELANYI
|
dcf896651d
|
utils: gdb: add BigNum pretty printer
|
2021-08-21 01:31:48 +02:00 |
|
Bruno BELANYI
|
d40c109fb7
|
abacus: bignum: add input operator
|
2021-08-21 01:31:48 +02:00 |
|
Bruno BELANYI
|
fe01661613
|
abacus: bignum: add addition & substraction
|
2021-08-21 01:31:39 +02:00 |
|
Bruno BELANYI
|
d083ede78c
|
abacus: bignum: factorize lexicographical compare
I want to make use of it for substraction.
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
6f7e1102db
|
abacus: bignum: add default constructor
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
ad5092ea8d
|
abacus: bignum: add output operator
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
0a5fb471e4
|
abacus: bignum: add unary operators
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
7c1b3d302e
|
tests: unit: add bignum tests
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
2600eb2ba7
|
abacus: bignum: add order comparisons
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
17bd51d197
|
abacus: bignum: add equality comparisons
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
2cff603a48
|
abacus: bignum: add is_canonicalized predicate
Useful when debugging.
|
2021-08-20 22:20:45 +02:00 |
|
Bruno BELANYI
|
12c8b6b114
|
abacus: add initial bignum library
|
2021-08-20 22:20:45 +02:00 |
|