Max Graey
Max Graey
### Examples ```ts const a = u32`0xFF` // same as u32(0xFF), 0xFF, 0xFF as u32 const b = f64`-1e5` // ^ // etc ``` ### Motivation It will allow support...
**Examples** ```c++ 0x1.999999999999ap-4 -0X0.1P4 -0x1A.p+100 ``` **Motvation** + Hexadecimal float pointing literals can represent float points exactly without complicated and expensive parsing. It's quite useful for math calculations; + Hexadecimal...
```ts let a = true; let b = false; a &&= b; a ||= b; // a ??= b; ``` ~~[Proposal (Stage 3)](https://github.com/tc39/proposal-logical-assignment)~~. Already in ES2021 Already implemented in [Chrome](https://v8.dev/features/logical-assignment)
It seems logical expressions much better compile use blocks (1) like: ```ts export function f3(x: number): number { do { if (x === 1) { break; } if (x ===...
#### Feature Not all architectures has a fast 64-bit imul + imm. But even on modern like SnB-family and AMD Ryzen it takes `3 cycle` latency, `1c throughput` which not...
`fneg(fabs(x))` could be possible after `copysign(x, -C) -> fneg(fabs(x))` peephole optimization on LLVM / Binaryen, so I guess it's make sense to simplify it further on cranelift during lowering stage....
- Add tracking local values - Handle all bitwise operations
In this PR `standardizeNaN` changes input type from raw value to literal which reduce usage verbosity
It's similar to #4985 but for NaNs on LHS ```rust nan - x => nan' nan / x => nan' ``` where `nan'` is canonicalized `nan` of lhs Also add...
```rust copysign(x, +C) -> abs(x); copysign(x, -C) -> neg(abs(x)); copysign(x, x) -> x ```