14:05
<jschoi>
The BigInt Math incubator call (https://github.com/tc39/Reflector/issues/433) is happening in two hours. I've just added an agenda (https://github.com/tc39/incubator-agendas/blob/main/2022/05-06.md) and am almost done with the slides (https://docs.google.com/presentation/d/1og0dwgl_0kQiOubsdwgI1X0ug0A7EEZYIJ2qv2ZDqVw/edit#slide=id.g1281fa65b8c_1_67). Hope to see as many people as possible there. : )
17:27
<Rob Palmer>
hey delegates, a new in-person plenary attendance survey for July 2022 is awaiting your input here: https://github.com/tc39/Reflector/issues/434
17:55
<shu>
jschoi: something i didn't comment about during the call
17:55
<shu>
why are you doing Math.abs on timestamps? are there no monotonic timestamps available?
17:55
<shu>
both performance.now() and Date.now() are monotonic afaik
18:07
<ptomato>
happily, Temporal.Duration would be good for that use case, and it has an abs() method
18:31
<jschoi>
why are you doing Math.abs on timestamps? are there no monotonic timestamps available?
It’s been a while since I touched that code, but I believe that I was actually comparing high-resolution time intervals to intervals, rather than time instants to instants per se; intervals may be greater or less than each other. The code in the slides was an oversimplification.
18:31
<jschoi>
Afterward, I was formatting the interval differences for display as a fixed-width plain-text table in a CLI’s console output, with the decimal places aligned. I needed to check for the presence of a minus sign in order to make the minus sign not contribute to the table columns’ text alignment.
18:35
<jschoi>
There was some other BigInt statistical analysis I was doing on those intervals—quartiles, deviations, that sort of thing—which I also was formatting for display in the CLI output’s digit-aligned plain-text table.
18:36
<shu>
i see, thanks
18:41
<shu>
also what is clz32 used for?
18:42
<shu>
and why do you want that to work on bigints...?
18:42
<jschoi>
I don’t really. Someone on GitHub mentioned it. I have no concrete use cases. I would be happy to remove it.
18:42
<jschoi>
I think it was about clzN.
18:42
<shu>
yes, bitLength is a different proposal, and seems appropriate for BigInt
18:42
<jschoi>
Arbitrary bases. Possibly useful in e.g. binary data compression?…
18:42
<shu>
clz32 does not
18:42
<jschoi>
Yeah.
18:42
<shu>
bitLength has uses for like, using bigints as arbitrarily large bit vectors
18:43
<jschoi>
Yes. I myself am trying to compress all Unicode character names into a succinct lookup data structure (for Fun), so I have needed bit lengths (and I need bit rank and select).
18:44
<jschoi>
But those will come later. Well, the Unicode code space fits in Number safe integers anyway, so I guess my Unicode name needs don’t need BigInts, so I Numbers rank/select would work for me, not BigInt rank/select…though BigInt rank/select would certainly make it easier.
18:46
<jschoi>
…Anyways, Shu, I will remove BigInt clz32 and cbrt from this proposal, since WH isn’t blocking on those.