Commit Graph

204 Commits (9b7a50b1a25a6371c8ed1af8352cf4c81454a55c)

Author SHA1 Message Date
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
playX 1570e613b5
math: inf,nan,fmod for the JS backend (#11246) 2021-08-20 01:14:49 +03:00
Miccah 19abe8c750
math.big: add from_bytes function (#11213) 2021-08-17 09:12:39 +03:00
Miccah d235de63e2
math: add egcd function implementing the extended Euclidean algorithm (#11203) 2021-08-16 11:49:50 +03:00
Delyan Angelov 900c37aa65
v.gen.c: support `T.typ` - an int for the type index of the generic type `T` (#11175) 2021-08-14 08:48:25 +03:00
Yuval Greenfield 820669b011
math.fractions: make the numerator and denominator public (#11018) 2021-08-02 18:50:11 +03:00
blackshirt 1eac351f25
math.big: change the return value of divmod to (quotient, remainder) (#10993) 2021-07-30 02:28:32 +03:00
Uwe Krüger f457b94fe4
cgen: properly support reference args in receivers and arithmetic op methods (#10873) 2021-07-20 15:08:32 +03:00
Delyan Angelov eed4f50d8c
ci: fix sanitize failures with math.big 2021-07-19 20:51:41 +03:00
Delyan Angelov 732d8101e0
math.big: add .bytes() and .bytes_trimmed() methods, `big.from_int(1024).bytes_trimmed() == [byte(0x00), 0x04]` 2021-07-19 17:17:08 +03:00
Enzo 886f69bfcf
all: use operator overloading on strings (p. 2) (#10183) 2021-05-24 11:38:31 +03:00
penguindark d8d05e0106
all: new string interpolation in pure V (#10181) 2021-05-24 05:20:45 +03:00
Delyan Angelov 20a22453cf
v.builder: remove default link flags -lm, -ldl, -lpthread (use module specific link flags instead) (#10099) 2021-05-14 14:28:53 +03:00
Delyan Angelov 7db6d602de
tools: vfmt math_test.v and remove it from the exceptions in vtest-cleancode.v 2021-05-08 14:46:06 +03:00
Cabral b5afa049e9
math: sign function (#10014) 2021-05-08 14:32:18 +03:00
Delyan Angelov 8a380f4699
tools: make `v test-cleancode` test everything by default (#10050) 2021-05-08 13:32:29 +03:00
Delyan Angelov 597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`) 2021-05-03 14:14:32 +03:00
Delyan Angelov d4f31412b7
v: deprecate `@VROOT` in favour of `@VMODROOT` (#9795) 2021-04-19 19:01:47 +03:00
Delyan Angelov 3e297bced4
ci: remove some tests from skip_with_werror in `v test-self` 2021-04-14 12:47:24 +03:00
Delyan Angelov c0e2b9b1e2
ci: fix some of `v test-cleancode` 2 2021-04-05 20:55:03 +03:00
Ulises Jeremias Cornejo Fandos 5e02f6358c
math: add a test suite taken from vsl/vmath (#9280) 2021-03-13 09:05:02 +02:00
Lukas Neubert a67d49050c
math: add a pure V `math.mathutil`, with generic `min`, `max` and `abs` functions (#9176), and use it consistently 2021-03-12 11:28:04 +02:00
Delyan Angelov efca21e988
math: cleanup math.v, document math.aprox_cos and math.aprox_sin 2021-02-27 11:18:43 +02:00
Nick Treleaven c03798e390
checker: disallow implicit conversion from fixed array to fooptr (#8823) 2021-02-26 00:28:47 +01:00
zakuro ac4791045f
time: consolidate the different sleep functions into time.wait(Duration) (#8853) 2021-02-21 17:05:03 +02:00
Stanislav Ershov c190b6a131
vlib: remove older deprecated functions (#8864) 2021-02-20 20:42:55 +02:00
Lukas Neubert d660f2cc6f
fmt: insert newline after last HashStmt (#8482) 2021-02-01 14:50:41 +01:00
Subhomoy Haldar 5a1f3cd394
math.fractions: fix minor typo (#8386) 2021-01-28 10:02:41 +02:00