[HN Gopher] Converting Integers to Floats Using Hyperfocus
___________________________________________________________________
Converting Integers to Floats Using Hyperfocus
Author : pingiun
Score : 59 points
Date : 2022-05-10 11:46 UTC (1 days ago)
(HTM) web link (blog.m-ou.se)
(TXT) w3m dump (blog.m-ou.se)
| rpmuller wrote:
| In addition to being interesting to techies, this is a really
| well-written article, e.g.
|
| > Everyone was slightly disgusted and slightly impressed.
|
| Went back and reread the whole article to find more gems like
| that one.
| arc-in-space wrote:
| I agree, came here just to say this! A lot of writing coming
| from the "very-online-twitter-person" types is, well,
| insufferable to put it mildly, filled with inappropriate
| jokes(or worse, random images or embedded tweets) distracting
| from the technical content, but this is far more tasteful and
| enjoyable to read, on top of being technically interesting.
| a_t48 wrote:
| Nice! Can this somehow be brought back into rustc?
| zokier wrote:
| yes https://github.com/rust-lang/compiler-builtins/pull/370
| jiggawatts wrote:
| Draft status for two years.
| est31 wrote:
| Years ago, I've helped giving Rust support for 128 bit integers
| as one of my first big contributions to rustc. As part of that
| work, I ported some of the routines concerning 128 bit numbers
| from C to Rust. That language conversion alone made the
| implementation more portable, as clang doesn't support 128 bit
| numbers on all targets. On the flip side, this led to the
| occasional LLVM bug/limitation being hit because backends are
| usually written with C in mind, and sometimes even the authors of
| the backends struggle because the 128 bit routines are a stress
| test for the register allocator. Another resolved issue is that
| u128::MAX is not representable as f32, and thus the cast was UB:
| https://github.com/rust-lang/rust/issues/41799.
|
| The routines have been rewritten/refactored multiple times since,
| and I had zero involvement in the LLVM work, but I'm still amazed
| that I was able to hack on code as fundamental as this and being
| part of shipping a new width for numbers in a "big" language
| (certainly big now).
___________________________________________________________________
(page generated 2022-05-11 23:00 UTC)