Commit Graph

231 Commits (67963e0ff2bb187061000a3554ef3bb94afcdfdb)

Author SHA1 Message Date
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
David 'Epper' Marshall 881d0c04f1
time: add custom formatter (#14202) 2022-04-29 15:57:08 +03:00
yuyi 82ac39eca6
math: fix error for math.abs(0.0)/math.abs(0) (related #14165) (#14191) 2022-04-27 13:23:37 +03:00
Delyan Angelov 840f474fb5
ci: fix `./v -progress test-cleancode` 2022-04-15 21:04:10 +03:00
Alexander Medvednikov fbb9e65c0f all: ~500 more byte=>u8 2022-04-15 18:25:45 +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
Alexander Medvednikov 014c3c97f0 all: byte => u8 2022-04-15 14:45:52 +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
kylepritchard 6137ce23c0
math: allow `acos(0)` (fix #13876) (#13877) 2022-03-30 21:36:50 +03:00
Subhomoy Haldar 7ef7188f4b
math.big: add bit_len, optimize gcd, add documentation (#13872) 2022-03-30 15:52:09 +03:00
kylepritchard a8f6574471
math: allow i64 in digits function and add count_digits function (#13729) 2022-03-14 10:41:01 +02:00
Subhomoy Haldar 114a341f5f
rand: simplify rand.PRNG, move to optional types for error handling (#13570) 2022-02-23 12:36:14 +02:00
simon place 8ba4a3dd01
math.complex: make mutable the Complex.re and Complex.im fields (#13540) 2022-02-21 12:39:45 +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 62687842e2
Revert "math: add a new math.easing module (#13226)" (#13235)
This reverts commit 758d1f44ab.
2022-01-20 18:57:53 +02:00
kahsa 758d1f44ab
math: add a new math.easing module (#13226) 2022-01-20 14:17:47 +02:00
playX c48a9e71f5
math.unsigned: add uint128 tests (#13213) 2022-01-19 11:18:46 +02:00
Delyan Angelov d8263171ff
math.mathutil: remove deprecated mathutil_test.v (workaround spurious test failures, due to same _test.v name) 2022-01-17 17:52:57 +02:00
Delyan Angelov d1ac22e3bb
math.unsigned: small fix after rename 2022-01-17 11:35:02 +02:00
playX 8de1934f51
math: add an `unsigned` module, implementing Uint128, Uint256 and methods on them (#13186) 2022-01-17 11:23:21 +02:00
Delyan Angelov 2a3a4cfc84
math.bits: fix bits.div_64 behaviour for leading_zeros_64(y) = 0 2022-01-16 18:11:23 +02:00
jeffmikels a60b381d5e
docs: adding skeleton README.md files for all vlib modules (#13034) 2022-01-05 18:06:08 +02: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
Alexander Medvednikov 59ed4be49a all: update copyright year 2022-01-04 12:21:12 +03:00
spaceface d13fe7843c
v: fix build and failing tests on arm64 (#12840) 2021-12-15 09:00:38 +02:00
Delyan Angelov fe14e2fceb
cgen: use `c_name()` for escaping goto label names too 2021-12-11 19:41:44 +02:00
Wertzui123 9e68a03f94
math: rename small to small_ to prevent C errors (workaround unescaped C labels) (#12796) 2021-12-11 19:35:40 +02:00
Delyan Angelov 6d97b0a407
checker: improve checking of a << b, when a and b are numbers (#12589) 2021-11-29 03:48:49 +03: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
czkz 29f068997b
math: add fn clamp (#12205) 2021-10-17 06:42:40 +03:00
Ulises Jeremias Cornejo Fandos 35b301f73c
math: add some benchmark tests (#12142) 2021-10-11 14:20:07 +03:00
Ulises Jeremias Cornejo Fandos 0f7dfb984a
math: remove the C backend for f64 functions (#12121) 2021-10-10 11:21:48 +03:00
playX e267106220
math: implement logarithm function in pure V (#12111) 2021-10-09 11:17:09 +03:00
05st 43931be451
math: sqrti, powi, factoriali (#12072) 2021-10-08 22:07:44 +03:00
playX a8ace2c41c
math: implement `pow` in pure V (#12105) 2021-10-08 17:44:55 +03:00
yuyi 108a01d65f
fmt: fix unnecessary line break in array init (fix #11448) (#11562) 2021-09-21 16:20:09 +03:00
czkz 396eede4db
math: fix typos (#11533) 2021-09-18 12:23:31 +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
Ulises Jeremias Cornejo Fandos 480fe8041a
math.stats: update math.stats using generics (#11482) 2021-09-13 10:20:38 +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
yuyi e5360e164a
fmt: remove unnecessary parentheses after `return` (fix #11423) (#11435) 2021-09-08 14:19:53 +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
playX d78e7e3b2b
js: codegen fixes, W.I.P `os` availability for JS backend (#11281) 2021-08-23 14:25:02 +03:00
Ulises Jeremias Cornejo Fandos 1cfc4198f5
vlib/math: Add a pure V backend for vlib/math (#11267) 2021-08-23 00:35:28 +03:00
playX 2f6b2dd189
js: math.big support, f{32,64}_bits,from_bits support, typeof(expr).name support (#11260) 2021-08-21 17:18:57 +03:00