Commit Graph

4001 Commits

Author SHA1 Message Date
gingerBill
d80049bfd2 Change runtime.Type_Info_Enum_Value to be i64 internally rather than a union 2020-06-03 21:10:07 +01:00
gingerBill
239f3c0418 Merge pull request #672 from foxnne/fixwrap
Fix wrap in core:math.
2020-06-03 14:57:43 +01:00
foxnne
437d5e28cd fix wrap in core:math 2020-06-02 00:37:06 -05:00
Kevin Watters
6c7fc4212a Remove intrinsics import
When using `linalg` with the `-vet` compiler switch, you get the warning/error:

`odin/core/math/linalg/specific.odin(4:8) 'intrinsics' declared but not used`
2020-06-01 18:44:47 -04:00
gingerBill
8589af1458 Improve bits.rotate_left* 2020-05-31 16:19:08 +01:00
gingerBill
5eaef091e2 Update math/bits 2020-05-30 12:24:00 +01:00
gingerBill
1d7f99cbdf Remove mem_zero from make; Implement custom memset for windows amd64 2020-05-27 20:17:58 +01:00
gingerBill
098699103d Begin work on supporting wasm32 architecture 2020-05-25 12:46:23 +01:00
gingerBill
a2c50d3666 Fix -vet for strings 2020-05-24 17:57:55 +01:00
gingerBill
f06efffe22 Update strings case convertors to be unicode compliant 2020-05-24 17:50:27 +01:00
gingerBill
e42f7008fc Change spaces to tabs 2020-05-24 16:40:48 +01:00
Mikkel Hjortshoej
c035fc337f Add case conversions by @dotbmp 2020-05-24 12:47:43 +02:00
gingerBill
cbfbff7240 Add intrinsics.type_is_comparable; Add sort.linear_search 2020-05-23 14:02:21 +01:00
gingerBill
7d11ee605c Add sort.binary_search (uses interpolation sort for ordered numeric types) 2020-05-23 13:57:24 +01:00
gingerBill
89d824216a Add extra information to -show-more-timings 2020-05-21 09:30:15 +01:00
gingerBill
90adf214d7 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-05-15 17:37:14 +01:00
gingerBill
ff92eb9112 Relative pointers 2020-05-15 17:37:00 +01:00
Tetralux
dc236d6830 Fix container.Array.array_push_back_elems
We were previously using array_slice to get the storage
that we were copying the new elements into, using the current
length as the offset: `copy(data[len:], ..elems)`

However, array_slice returns a slice over `data[0:len]` -- we
were using it as if it was `data[0:cap]`.

Add array_cap_slice that does this instead. :^)
2020-05-15 03:54:32 +00:00
gingerBill
8b066b2456 Fix runtime.memset issue 2020-05-14 17:56:24 +01:00
gingerBill
218c1599b1 Add explicit context to thread_unix.odin 2020-05-14 13:48:03 +01:00
gingerBill
e0a242e9a1 Enforce explicit context definition for procedure calls 2020-05-14 13:44:28 +01:00
gingerBill
f661d34049 Implement Explicit context creation #639 2020-05-14 00:13:26 +01:00
gingerBill
f6c7a0c9b8 Fix -llvm-api memset "bug" 2020-05-13 23:51:51 +01:00
gingerBill
d51b98a8d2 Add extra 128 bit integer procedures 2020-05-13 13:46:32 +01:00
jharler
72a5030f3d Fixed thread_pool not destroying threads 2020-05-11 12:32:35 -04:00
gingerBill
197a72adde Merge pull request #616 from Tetralux/fix-sync-badopt
Fix potential bad optimization bug in sync.Ticket_Mutex
2020-05-10 10:37:11 +01:00
gingerBill
f043e92650 Add strconv.unquote_string and strconv.unquote_char 2020-05-09 13:58:45 +01:00
gingerBill
e3f3e715e2 Merge pull request #634 from Tetralux/enum_from_name
Add reflect.enum_from_name
2020-05-09 12:57:27 +01:00
gingerBill
e8f2fb58d9 Fix strconv.parse_ usage across other packages 2020-05-09 11:54:36 +01:00
Tetralux
8d2430e54d Add reflect.enum_from_name
Provides a way to go from a enum value name string to an actual enum value.

```
E :: enum { A, B }

// ...

s := "B";
v, ok := enum_from_name(E, s);
assert(ok && v == E.B);
```
2020-05-09 07:30:07 +00:00
Tetralux
7d4f9545a7 Fix parsing of single-digit numbers 2020-05-06 23:21:24 +00:00
gingerBill
8434cb8951 Merge pull request #630 from Tetralux/parseint
Refactor parsing procedures: Return (value, ok) instead
2020-05-05 21:05:13 +01:00
gingerBill
ba4363d678 Improve append_elem(s) logic 2020-05-02 12:09:25 +01:00
gingerBill
832a586b8d Merge branch 'master' of https://github.com/odin-lang/Odin 2020-04-30 17:48:46 +01:00
gingerBill
117ade0700 Fix errors in package win32 2020-04-30 17:48:35 +01:00
Tetralux
25f77e32ee Fix doc comments 2020-04-29 23:35:26 +01:00
Tetralux
704ee9f851 Return (value: T, ok: bool) instead 2020-04-29 22:37:33 +01:00
Tetralux
190932935c Refactor parse_* procedures: arbitrary bases, and return (value, rest_of_string) 2020-04-29 21:33:33 +01:00
zhibog
c704de8442 Added the #maybe directive to the union struct in the AST. Also added it to the parsing code for a union. 2020-04-25 18:21:32 +02:00
Tetralux
e7e936f480 Merge branch 'master' into fix-sync-badopt 2020-04-22 06:12:41 +01:00
gingerBill
026bb8ed6f Remove unused headers 2020-04-21 23:26:59 +01:00
gingerBill
cbc3800797 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-04-21 23:26:09 +01:00
gingerBill
4236e870d7 Fix type assertion bug #619 2020-04-21 23:26:02 +01:00
gingerBill
b725ae5ae0 Merge pull request #617 from Tetralux/dep-yield-processor
Rename `yield_processor` to `cpu_relax`
2020-04-21 18:07:04 +01:00
Tetralux
3afa2736b7 Fix potential bad optimization bug in sync.Ticket_Mutex
When locking, we were not loading m.serving atomically and so the optimizer
could have hoisted the check out of the loop, thus resulting in an infinite loop.
2020-04-21 17:04:29 +00:00
Tetralux
8dd1b61aa2 sync.yield_processor -> sync.cpu_relax; have it call intrinsics.cpu_relax 2020-04-21 16:07:18 +00:00
Tetralux
d3f2f94800 Remove outdated comment
This is what I get for removing the ability to provide a stack at the last minute.... 🤣
2020-04-21 15:22:42 +01:00
gingerBill
f141e2868d container.Set 2020-04-20 00:12:01 +01:00
gingerBill
400d6014d0 container.Small_Array 2020-04-19 23:57:57 +01:00
gingerBill
ab6947b2c7 container.Small_Array 2020-04-19 23:57:40 +01:00