gilles
4ebdb6740e
fix math.prod
...
accumulator was not initialized to one
2021-12-16 18:55:51 +01:00
gingerBill
4423bc0706
Fix typo
2021-12-12 01:10:40 +00:00
Jeroen van Rijn
938744b276
[math/big] Rename internal_int_shl_digit to _private_int_shl_leg.
...
Same for the SHR variant. These are pure implementation details to shift by a leg/word at a time.
Prevent accidental usage.
2021-12-11 15:22:24 +01:00
gingerBill
84b84d9f7d
Fix rat_set_f64
2021-12-11 12:47:05 +00:00
gingerBill
85f8c8df91
Fix fields_proc in strings and bytes
2021-12-11 12:04:34 +00:00
gingerBill
c889591333
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-12-11 12:02:33 +00:00
gingerBill
e2f53ee107
Fix #1362 strings.index_any
2021-12-11 12:02:23 +00:00
Jeroen van Rijn
c771ea9794
Merge pull request #1358 from Kelimion/big_math_fix
...
[math/big] Return 0, .Integer_Underflow if T = unsigned and bigint is negative.
2021-12-09 16:41:37 +01:00
gingerBill
94bad4d786
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-12-09 15:36:12 +00:00
gingerBill
1d7c9cf872
Make strconv more robust
2021-12-09 15:35:00 +00:00
gingerBill
1e17d5d86f
Add utility procedures to get low values
2021-12-09 15:34:35 +00:00
gingerBill
1e9b30666f
Minor style change
2021-12-09 15:34:17 +00:00
Jeroen van Rijn
b2b79b86f0
[math/big] Return 0, .Integer_Underflow if trying to get a negative number to an unsigned int.
2021-12-09 16:31:54 +01:00
Jeroen van Rijn
c94098c2ab
[math/big] Fix int_set and int_get.
2021-12-09 16:14:04 +01:00
gingerBill
9d4fe90356
Fix bugs in big.Rat caused by typos
2021-12-07 17:35:41 +00:00
Daniel Gavin
f1a126e162
Do not save the comment when peeking.
2021-12-02 22:44:47 +01:00
Daniel Gavin
517c8ff1dd
Include Matrix_Type to the is_literal_type switch statement.
2021-11-28 02:14:25 +01:00
gingerBill
6616882708
Correct reading from a console on Windows
...
e.g. `os.read(os.stdin, buf[:])`
2021-11-27 14:59:35 +00:00
gingerBill
c9c197ba08
Add os.read_at_least and os_read_full utility procedures.
2021-11-27 14:57:49 +00:00
gingerBill
7876660d8c
Add new utf16 procedures: decode, decode_to_utf8
2021-11-27 14:57:20 +00:00
gingerBill
07ec93bfeb
Add procs_windows_amd64.asm for use with -no-crt
2021-11-24 18:32:27 +00:00
gingerBill
5db505c42f
Merge pull request #1277 from Yawning/feature/modern-crypto
...
core/crypto: Add some "modern" primitives
2021-11-23 17:54:03 +00:00
Dale Weiler
a55f0cfb63
fix memory leak in path.join
2021-11-22 10:25:54 -05:00
gingerBill
f40f12d480
Minor cleanup to math constants
2021-11-21 14:06:32 +00:00
gingerBill
8a2c829e07
Patch odin doc binary format
2021-11-21 14:06:15 +00:00
Gus
56d2bbc5b9
Added back ln for js
2021-11-20 20:03:54 +11:00
Michael Kutowski
4439d59105
add builtin.
2021-11-19 00:24:56 +01:00
gingerBill
12c1291805
Add optional seed parameters to all hashes
2021-11-18 16:14:33 +00:00
Yawning Angel
6bafa21bee
crypto: Add rand_bytes
...
This adds `rand_bytes(dst: []byte)` which fills the destination buffer
with entropy from the cryptographic random number generator. This takes
the "simple is best" approach and just directly returns the OS CSPRNG
output instead of doing anything fancy (a la OpenBSD's arc4random).
2021-11-17 14:00:00 +00:00
Yawning Angel
61c581baeb
core/sys/unix: Add syscalls_linux.odin
...
Linux is in the unfortunate situation where the system call number is
architecture specific. This consolidates the system call number
definitions in a single location, adds some wrappers, and hopefully
fixes the existing non-portable invocations of the syscall intrinsic.
2021-11-17 14:00:00 +00:00
Yawning Angel
6c4c9aef61
core/crypto: Add chacha20poly1305
...
This package implements the chacha20poly1305 AEAD construct as specified
in RFC 8439.
2021-11-17 13:59:53 +00:00
Yawning Angel
7bed317636
core/crypto: Add chacha20
...
This package implements the ChaCha20 stream cipher as specified in
RFC 8439, and the somewhat non-standard XChaCha20 variant that supports
a 192-bit nonce.
While an IETF draft for XChaCha20 standardization exists,
implementations that pre-date the draft use a 64-bit counter, instead of
the IETF-style 32-bit one. This implementation opts for the latter as
compatibility with libsodium is more important than compatibility with
an expired IETF draft.
2021-11-17 13:59:53 +00:00
Yawning Angel
4647081f49
core/crypto/poly1305: Triple performance on amd64 with -o:speed
2021-11-17 13:59:53 +00:00
Yawning Angel
64db286582
core/crypto: Add poly1305
...
This package implements the Poly1305 MAC algorithm as specified in RFC
8439, using routines taked from fiat-crypto and poly1305-donna.
2021-11-17 13:59:53 +00:00
Yawning Angel
1a7a6a9116
core/crypto: Add x25519
...
This package implements the X25519 key agreement scheme as specified in
RFC 7748, using routines taken from fiat-crypto and Monocypher.
2021-11-17 13:59:53 +00:00
Yawning Angel
d1e76ee4f2
core/crypto: Add constant-time memory comparison routines
...
Using a constant-time comparison is required when comparing things like
MACs, password digests, and etc to avoid exposing sensitive data via
trivial timing attacks.
These routines could also live under core:mem, but they are somewhat
specialized, and are likely only useful for cryptographic applications.
2021-11-17 13:59:53 +00:00
gingerBill
e877525073
Keep -vet happy for -no-crt and wasm targets
2021-11-17 10:40:55 +00:00
gingerBill
f09638318f
Add support for darwin to core:c/libc
2021-11-16 21:19:08 +00:00
gingerBill
1b28226a67
Add math.lgamma based off FreeBSD's /usr/src/lib/msun/src/e_lgamma_r.c
2021-11-16 15:32:32 +00:00
gingerBill
2b546a598c
Add math.signbit; Add math.gamma based on http://netlib.sandia.gov/cephes/cprob/gamma.c
2021-11-16 15:23:19 +00:00
gingerBill
b530ca9a5e
Add math.nextafter
2021-11-16 15:12:01 +00:00
gingerBill
d232796149
Fix typo
2021-11-16 15:09:47 +00:00
gingerBill
e721f26a76
Implement ln based off FreeBSD's /usr/src/lib/msun/src/e_log.c
2021-11-16 15:05:04 +00:00
gingerBill
91408cb21f
Implement atanh based on FreeBSD's /usr/src/lib/msun/src/e_atanh.c
2021-11-16 14:58:59 +00:00
gingerBill
eb8b0d7a03
Add log1p, erf, erfc, ilogb logb (implemented based of FreeBSD's)
2021-11-16 14:54:57 +00:00
gingerBill
880af47ae7
Rename math_js.odin to math_basic_js.odin
2021-11-16 14:26:04 +00:00
gingerBill
91949b0992
Implement math.sqrt with intrinsics.sqrt
2021-11-16 14:11:20 +00:00
gingerBill
6a101e69a2
Implement ldexp and frexp in native Odin
2021-11-16 14:04:49 +00:00
gingerBill
f55fc4cd08
Add complex32 and quaternion64 for the 16-bit float types to fmt
2021-11-15 17:25:29 +00:00
gingerBill
b9701340b8
Add linalg.matrix4_look_at_from_fru
2021-11-13 19:15:37 +00:00