Commit graph

80 commits

Author SHA1 Message Date
Ikko Eltociear Ashimine
328e53bff3
math.big: fix typo tranform -> transform in special_array_ops.v (#21475) 2024-05-08 18:10:21 +03:00
Turiiya
1a35a783f1
breaking,checker: disallow initializing private struct fields outside structs module (#21183) 2024-04-12 13:53:02 +03:00
Delyan Angelov
4dcc9265e1
examples: add pidigits.v; optimise math.big's Integer divide a bit (#21239) 2024-04-09 17:01:05 +03:00
Turiiya
9704a01406
parser: fix case of falsely registering imports as used, remove unused imports (#21156) 2024-04-01 19:46:50 +03:00
Pierre Curto
900ec70711
checker: add cast overflow checks (#20641) 2024-01-24 18:36:39 +02:00
Delyan Angelov
856984aa14
cleanup: turn .microseconds() ... us to .microseconds() ... µs (#20588) 2024-01-20 07:16:24 +02:00
Alexander Medvednikov
f09826e928 all: unwrap const() blocks 2023-11-25 10:02:51 +03:00
Joe C
757929392e
all: update attributes to use new syntax 2023-11-15 16:16:01 +11:00
Artem Yurchenko
97f7c3f609
builtin: move min/max integer values consts from math to builtin (#19809) 2023-11-08 20:43:48 +02:00
shove
69d62e458b
math.big: fix incorrect division with negative numbers (fix #19585) (#19587) 2023-10-18 00:37:37 +03:00
yuyi
55ca8d8d8e
fmt: align the custom values of the enum fields (#19331) 2023-09-12 14:44:38 +03:00
Delyan Angelov
c9e46d34aa
math.big: fix notice for compilation with latest v 2023-08-23 08:10:55 +03:00
Delyan Angelov
679cbf1490
math.big: restore gdc_euclid, use it for smaller numbers, fix bench_euclid.v . 2023-08-14 18:37:48 +03:00
phoebe
dcbc9e0b9b
math.big: add isqrt_checked and standardize error format (#18939) 2023-07-22 09:20:45 +03:00
phoebe
7b306e9b8f
math.big: add checked division methods (#18924) 2023-07-21 20:06:54 +03:00
phoebe
93b3f1ca55
math.big: make is_odd public and add test cases (#18916) 2023-07-20 13:52:50 +03:00
phoebe
ef1f5d7725
math.big: allow bitwise ops on negative signum (#18912) 2023-07-20 13:52:28 +03:00
phoebe
f9906f3a9e
math.big: fix inner deprecated binary_str use (#18911) 2023-07-20 13:51:58 +03:00
phoebe
4daddd3e84
math.big: improve is_power_of_2 (#18914) 2023-07-20 13:51:26 +03:00
phoebe
6fef2c2ae8
math.big: add test cases for is_power_of_2 (#18910) 2023-07-20 02:34:31 +03:00
phoebe
a49b8f28b1
math.big: rework function naming and documentation (#18890) 2023-07-20 02:33:07 +03:00
phoebe
735654296c
math.big: refactor big_test.v for scalability (#18696) 2023-06-28 13:35:13 +03:00
phoebe
1bae9e4538
math.big: minor gcd improvements/fixups and internal rsh_to_set_bit (#18569) 2023-06-27 20:09:22 +03:00
phoebe
4485f1ca1e
math.big: fix documentation for mod_inverse (#18494) 2023-06-20 14:31:04 +03:00
phoebe
a3f24caffc
math.big: add mod_inverse and improve big_mod_pow to allow for large exponents and moduli (#18461) 2023-06-19 17:59:49 +03:00
phoebe
37386697a3
math.big: fix internal subtract_align_last_byte_in_place overflow (#18413) 2023-06-12 13:33:53 +03:00
Subhomoy Haldar
8759409a69
math.big: fix min i32 value bug (#17775)
* attempt big int min value fix

* cast value for correct comparison

* update edge case

* add one more test
2023-03-26 08:45:42 +03:00
Felipe Pena
6a179a2926
checker: add int signedness mismatch checking for function call arguments (#16750) 2022-12-24 06:28:35 +02:00
Delyan Angelov
952f4644c5
math.big: remove import math dependency (math.big only uses min/max/abs) 2022-11-29 14:42:46 +02:00
yuyi
017ace6ea7
vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00
yuyi
51f4d99399
all: change optional to result in most of the libraries (#16123) 2022-10-20 22:14:33 +03:00
yuyi
c662431cfd
checker: check unsafe array assign (fix #9651) (#15515) 2022-08-25 08:52:13 +03:00
Subhomoy Haldar
297cb5f89c
math.big: improve multiplication performance (#15200) 2022-07-24 19:35:37 +03:00
Delyan Angelov
ed17779434
math.big: fix Integer.bit_len() when there are no digits in the number 2022-05-18 08:29:08 +03:00
Delyan Angelov
ed12a5c84c
math.big: reduce memory usage of Integer.str() (free intermediary Integers), optimise some operations using [direct_array_access] (#14353) 2022-05-13 08:21:34 +03:00
Daniel Däschle
d679146a80
fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
Alexander Medvednikov
fb192d949b all: replace []byte with []u8 2022-04-15 15:35:35 +03:00
Alexander Medvednikov
d4a0d6f73c all: byte => u8 2022-04-15 14:58:56 +03:00
Delyan Angelov
716cb17aea
math.big: wrap all asserts in module code (not in tests) in $if debug {} (#14012) 2022-04-12 09:38:53 +03:00
Subhomoy Haldar
7ef7188f4b
math.big: add bit_len, optimize gcd, add documentation (#13872) 2022-03-30 15:52:09 +03:00
Subhomoy Haldar
114a341f5f
rand: simplify rand.PRNG, move to optional types for error handling (#13570) 2022-02-23 12:36:14 +02:00
Subhomoy Haldar
072480352c
math.big: add get_bit, set_bit, big_mod_pow (#13507) 2022-02-18 11:53:39 +03:00
Delyan Angelov
59357e873d
math: move the math.mathutil generic min/max/abs fns to math (#13042) 2022-01-05 18:02:20 +02:00
Andreas Schoeller
f14dabc6bd
math.big: add a new greatest-common-divisor-algo for big.Integer, also add a benchmark for it (#12261) 2021-10-26 11:10:13 +03:00
Vincent Laisney
273154c1ae
math.big: add Newton and Karatsuba algorithms (#11487) 2021-09-16 19:31:07 +03:00
Daniel Däschle
b63ec8fbcf
checker: require params attribute to use struct as keyword arguments in function (#11135) 2021-09-14 00:05:30 +03:00
Vincent Laisney
c8d4a64512
math.big: fix subtract_digit_array (#11451) 2021-09-09 14:56:20 +03:00
Subhomoy Haldar
96d4a0777f
math.big: fix comparison and add tests (#11449) 2021-09-08 20:30:20 +03:00
Vincent Laisney
43fae5de74
bigint: division (#11386) 2021-09-08 14:16:35 +03:00
Subhomoy Haldar
dadfda9400
math.big: implement big.integer in V (#11352) 2021-08-31 19:21:00 +03:00