Commit Graph

236 Commits (c160ba2a8dec033b4223758b0d30a7021f09fb59)

Author SHA1 Message Date
Delyan Angelov dab66593fc vlib: run vfmt over vlib files, so that `v doc -m vlib/` can run without warnings 2020-10-21 12:54:10 +03:00
Delyan Angelov 5d4cce3e95 ci: fix failing tests 2020-10-15 15:42:16 +03:00
Alexander Medvednikov 7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Delyan Angelov 5526954fdc vdoc: cleanup warnings on `./v doc -s vlib` 2020-08-28 09:03:22 +03:00
Swastik Baranwal b2e79dbebd
parser: add an error for `import mod.sub as mod` and `import mod as mod` (#6194) 2020-08-23 02:12:25 +02:00
Delyan Angelov 9c9533dad9
checker: add error for `fn f() Struct { return &Struct{} }` (#6019) 2020-07-29 21:40:43 +02:00
Delyan Angelov 78e1127d99
cgen: treat the main module like any other v module 2020-07-01 00:53:53 +02:00
spaceface777 624005bbd0
tcc_win: fix tests 2020-06-19 12:54:56 +02:00
Delyan Angelov 0a07dc5762 Revert "_vinit: use static initialization of large const []number"
This reverts commit b306c04e99.
2020-06-12 09:57:38 +03:00
Delyan Angelov b306c04e99 _vinit: use static initialization of large const []number 2020-06-12 09:41:32 +03:00
Alexander Medvednikov 13a7ce9e69 gg: GG => Context 2020-06-04 20:26:18 +02:00
Uwe Krüger cf9498ef6b
cgen: use standard checks for float comparisons 2020-06-04 19:47:41 +02:00
Uwe Krüger 076089d3c5
checker: apply stricter type checks to function args and return types 2020-06-01 21:15:59 +02:00
Uwe Krüger fd4d28b7b6
tests: update for stricter type checks 2020-05-24 21:07:32 +02:00
yuyi dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
Uwe Krüger 2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov 07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Uwe Krüger 9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
Hungry Blue Dev b138cadbcb
math.fractions: add approximation.v and tests 2020-05-17 12:00:29 +03:00
Alexander Medvednikov c3fe2135a4 math.fabs 2020-05-14 16:58:20 +02:00
Hungry Blue Dev 3270545953
fraction: simplify variable names 2020-05-13 18:39:19 +02:00
Hungry Blue Dev e52d35bf16
math.fraction: improve documentation, remove unnecessary mut modifiers 2020-05-11 07:20:55 +03:00
Hungry Blue Dev 8aba3eaa07
math.fractions: refactor and add more tests 2020-05-10 16:25:33 +02:00
Hungry Blue Dev dbb3c2a4cd
math.fractions: improve `.equals()` 2020-05-08 15:39:23 +03:00
Major Taylor 7d32476841
math: extract platform specific wrapper functions to math.c.v and math.js.v 2020-05-07 08:47:24 +03:00
yuyi 9f4d498ff1
all: update`import ()` and `[]array` 2020-04-26 13:49:31 +02:00
eyelash b495dac780
fix a few warnings
Good find, @eyelash .
2020-04-26 12:42:44 +03:00
yuyi 54a02996f2
cgen: fix string interpolation float type 2020-04-16 07:30:25 +02:00
Delyan Angelov 3ea563291c big.v: use again @VROOT/ for #flags 2020-04-10 13:09:04 +03:00
yuyi 7f87ac996d
test: fix vlib/math/big/big_test.v 2020-04-10 12:26:15 +03:00
Alexey 384d401af0
math: fix `bits_test` 2020-04-09 12:43:37 +02:00
yuyi 89b83400f5
math: fix factorial_test.v error 2020-04-09 04:21:11 +02:00
Alexander Medvednikov a08e64f37f cgen: operator overloading 2020-04-08 22:12:42 +02:00
vamsi-shankar 715d4f6601
math: copysign() 2020-03-28 18:32:38 +01:00
Alexander Medvednikov eed7c91e87 move compiler tests from compiler/ to v/ 2020-03-27 18:01:46 +01:00
SleepyRoy 67ba56c65c
expression: set integer literals as int by default 2020-03-23 20:05:37 +01:00
Alexander Medvednikov be01a32f0b math: use automatic dereferencing 2020-03-19 10:24:51 +01:00
Alexander Medvednikov 92d6eec09a cgen: fix remaining errors. hello world now compiles 2020-03-12 09:11:41 +01:00
Alexander Medvednikov 568d859fc0 bignum: move to math.big 2020-03-10 19:31:01 +01:00
Nicolas Sauzede becd87141c
fix linux warnings in generated C code 2020-03-01 13:26:09 +01:00
Nicolas Sauzede 30f905999a
math: add powf and other float32 functions 2020-02-26 13:31:54 +01:00
penguindark 39429f7ac9
atof: lots of fixes
* removed sprintf for f64 and f32 use

* removed all pointers from the code, used unions instead

* solved module name problem

* fixed tests on vlib/math

* fix for alpine-linux math test

* small fix on byte allocation for ftoa
2020-02-26 12:14:06 +01:00
spaceface777 ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
penguindark d2cb5ad725
math.bits: make certain functions public + small fixes 2020-02-20 01:31:42 +01:00
penguindark 67e7ad13de
math.bits: added missing functions and test 2020-02-12 11:32:03 +01:00
Nicolas Sauzede d51c159160
math: add sqrtf 2020-02-10 18:48:44 +01:00
penguindark 9845fd1cf5
math.bits: tests 2020-02-09 21:16:03 +01:00
joe-conigliaro 7583c350b8
compiler/math.bits: use max u64 consts 2020-02-09 09:25:27 +01:00
joe-conigliaro 7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Leah Lundqvist ed55778d2a
math: fast aprox cos and sin 2020-01-29 05:12:43 +01:00
Shun Sakai c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
toman222 5c6032d272 math.bits: fix warnings regarding unnecessary casts 2020-01-22 22:06:40 +01:00
Ulises Jeremias Cornejo Fandos 89d3075f88 math: update complex operators for multiplication and division 2019-12-30 05:24:30 +01:00
Alexander Medvednikov 14e9c3c7bb rename compiler2.parser to v.parser etc 2019-12-27 06:09:16 +01:00
Ulises Jeremias Cornejo Fandos 1277ce22f8 math: factorial submodule 2019-12-27 06:08:17 +03:00
Alexander Medvednikov a251db068f run vfmt on math and sha; add vfmt check to test-compiler 2019-12-22 02:50:20 +03:00
Alexander Medvednikov 1679457f6b clean up math_test.v 2019-12-19 22:16:10 +03:00
Kaito Sugimoto 9dd86a2de6 math: fix abs (-0.0) 2019-12-15 19:37:17 +03:00
Alexander Medvednikov ad6adf327e vlib: fix missing `else{}` in match statements 2019-12-07 17:23:37 +03:00
Ulises Jeremias Cornejo Fandos b31ec4ca9a math: add factorial function (via factorial table) 2019-12-03 11:34:26 +03:00
Delyan Angelov 7545ea709a enable alpine/musl CI tests 2019-11-28 11:46:52 +03:00
Alexander Medvednikov e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Daren Liang bd34524a1c fractions: panic when reciprocal produces invalid fraction 2019-11-11 23:37:32 +03:00
Daren Liang 91896af877 math: digits panic for invalid base 2019-11-11 05:21:47 +03:00
Delyan Angelov a44ba0b8a2 bignum module wrapper for kokke/tiny-bignum-c 2019-11-07 22:04:18 +03:00
pfefferminz132 b9e7d02462 math: make ceil return an f64 2019-11-07 19:54:51 +03:00
Nicolas Sauzede c8de2c0bd4 fix i64 overflow warning 2019-11-07 06:00:00 +03:00
Alexander Medvednikov 0f0bef2d33 parser: more typing checks 2019-11-06 20:47:03 +03:00
Alexander Medvednikov 6a812f7293 mod operator tests 2019-11-06 18:04:48 +03:00
Alexander Medvednikov f6d06fcda2 update tests and examples after the mutability fix 2019-11-06 06:57:04 +03:00
Daren Liang 91bb969ed1 stats: use c style for loop 2019-11-06 04:45:05 +03:00
Alexander Medvednikov 9e9935acbc math: make consts and structs public 2019-10-28 16:33:36 +03:00
joe-conigliaro b32a462b2e math: new consts + helpers funcs for string to int / float 2019-10-17 09:04:57 +03:00
joe-conigliaro 280ccfa177 math: fns for gettng bit repr of float & vice versa 2019-10-16 11:19:03 +03:00
Simon Heuser a5d61f6da0 math.complex: make fields public 2019-10-15 12:43:28 +03:00
Alexander Medvednikov f9593bd857 builtin: float.v + remove #include <math.h> 2019-10-15 08:41:45 +03:00
Alexander Medvednikov 432e074b4e fix complex_test.v 2019-10-12 22:39:18 +03:00
Alexander Medvednikov a76165828b snake_case consts 2019-10-12 22:36:14 +03:00
hazohelet 6d483c0a56 parser: float1 == float2 uses machine epsilon by default 2019-09-29 18:27:53 +03:00
hazohelet fd2d9c214c f64: fix .eq() 2019-09-28 14:04:03 +03:00
joe-conigliaro a5ea7e4304 math.bits: remove extraneous casts 2019-09-26 14:14:04 +03:00
joe-conigliaro 7aaf4012e4 math.bits: add missing pub to fn's 2019-09-23 00:51:03 +03:00
joe-conigliaro d80a3365c4 math.bits: add some more helpers, to be used in upcoming biginteger 2019-09-20 17:39:36 +03:00
Alexander Medvednikov cb31eeec55 compiler: first step to require explicit definition of imported C fns 2019-09-19 05:16:25 +03:00
joe-conigliaro f187c35fb2 vlib: inline certain functions 2019-09-18 15:45:32 +03:00
Alexander Medvednikov 19b04d5427 math: fix const warnings 2019-09-16 22:49:18 +03:00
Vitor Oliveira 1a099c9284 vlib: fix several typos 2019-09-14 23:54:14 +03:00
Alexander Medvednikov 1c6d51f271 remove u8 and i32 from tests and examples 2019-09-02 15:02:25 +03:00
Swastik Baranwal db525524ee string: title() and small fixes 2019-08-26 13:32:53 +03:00
Carlos Esquerdo Bernat cf23c289ec tests: cleanup 2019-08-20 11:18:12 +03:00
Julian Schurhammer 1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
Julian Schurhammer 61983a6799 parser: check that functions return in all if/else branches 2019-08-08 09:49:56 +02:00
Emily Hudson 802ff1d012 compiler: scoped defer + build tests with msvc 2019-08-07 17:51:21 +02:00
Alexander Medvednikov 34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Alexander Medvednikov 52f473d1c7 all: fix immutable fn args 2019-08-07 05:28:00 +02:00
vitalyster 375bc1352c f64.eq()
fixes float comparison tests
2019-07-31 09:20:40 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Alexander Medvednikov 2ac579ca0a wrap up the new mut check 2019-07-25 14:13:35 +02:00
Alexander Medvednikov ceb0139329 fix tests 2019-07-25 14:06:26 +02:00
vitalyster fcb1f211e3 Windows Unicode I/O 2019-07-24 12:16:45 +02:00
Alexander Medvednikov 2291e9fcfe Revert "Windows Unicode support"
This reverts commit 8462e99bc5.
2019-07-24 00:24:34 +02:00
vitalyster 8462e99bc5 Windows Unicode support 2019-07-23 23:40:24 +02:00
TillCoyote 732099fa08 math: hypot() 2019-07-23 18:28:30 +02:00
Archan Patkar 7b4c3ec618 math/complex: restructuring cmath as a submodule of math 2019-07-23 13:35:44 +02:00
unknown-v 981185e42f Windows displays a NaN as -1.#IND
https://stackoverflow.com/a/347940
2019-07-23 00:29:47 +02:00
Alexander Medvednikov 23c5f88f3e Revert "Windows Unicode I/O "
This reverts commit 3e005074a3.
2019-07-21 17:29:40 +02:00
vitalyster 3e005074a3 Windows Unicode I/O 2019-07-21 13:29:32 +02:00
Archan Patkar 760034b6b1 math/stats: added basic stats operations 2019-07-19 11:50:32 +02:00
Alexander Medvednikov c35adbea91 vfmt fixes 2019-07-17 21:00:39 +02:00
Yash Tripathi 982496ffce math: faster factorial function 2019-07-17 00:03:51 +02:00
Archan Patkar d58174e77f math: moved fraction to math/fraction 2019-07-15 21:16:41 +02:00
joe-conigliaro a7529b7b05 sha1 implementation + helper funcs 2019-07-15 17:49:01 +02:00
Koustav Chowdhury 2538a7e752 math : fix typos 2019-07-12 20:45:56 +02:00
eulerkochy 7f4c3cda4d reduce redundant code, add tests for reduce and gcd 2019-07-12 08:50:11 +02:00
Koustav Chowdhury 08866f1331 math : add error and gamma functions; sort all functions 2019-07-12 07:46:40 +02:00
Alexander Medvednikov e246833daa math.v note 2019-07-12 07:01:14 +02:00
eulerkochy 06e7354d18 change log2 implementation to use C.log2() 2019-07-11 20:42:51 +02:00
Alexander Medvednikov e1a6453302 move Complex logic to cmath
It was causing problems with cross compiling for Linux, and it should be
a separate module anyway, just like in Go and Python.
2019-07-10 21:47:13 +02:00
Alexander Medvednikov 3d4cd0bbc0 check integer const overflow at compilation 2019-07-10 21:22:03 +02:00
Archan Patkar 69d2db0f1e math: added complex trig operations 2019-07-10 20:50:43 +02:00
hazohelet 00ea112b66 complex, fraction: simplify and format source code 2019-07-10 13:51:48 +02:00
Koustav Chowdhury 385f47c0cd add abs for complex, add tests (#1043) 2019-07-09 21:12:51 +02:00
Archan Patkar 3f916efb64 math: additional complex operations with tests 2019-07-09 20:51:46 +02:00
hazohelet ccf733ac95 add angle func 2019-07-07 22:42:03 +02:00
archanpatkar 818f8252f6 math: basic complex number support with tests 2019-07-07 01:16:49 +02:00
archanpatkar b745234a52 math:added basic tests for fraction and fixed typo 2019-07-04 17:38:36 +02:00
Kriyszig 801e06318f Factorial doesn't accept negative numbers
Previously factorial could accept negative number which isn't defined
2019-07-04 12:59:06 +02:00
Archan Patkar e35ff0533b math: adopted i64 in Fraction and typo fixed 2019-07-03 21:50:54 +02:00
archanpatkar ffb4da791d math: converted gcd and lcm to support i64 2019-07-03 19:40:44 +02:00
archanpatkar 4037019bb7 Added support for Fractions 2019-07-03 16:07:59 +02:00
RustemB cd4fe63355 math: digits function; SqrtTau; extra spaces; re writed doc's to correct form; test for factorial 2019-07-02 19:19:02 +02:00
paolopaoletto e2a535c3ce math.v: log_n, log2, exp2, cbrt and docs 2019-06-30 15:33:37 +02:00
Dinar Garipov f4f1622528 vlib: update and cleanup tests + fix PR template 2019-06-29 22:49:57 +02:00
Rustem B 7eab373922 math: gcd and lcm functions 2019-06-29 17:24:55 +02:00
Alexander Medvednikov 4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00