Simon Humpohl

Results 15 issues of Simon Humpohl

The ZP7 https://github.com/zwegner/zp7 implementation by Zach Wegner claims to be faster than the builtin instruction on some AMD architectures for most input masks. According to [this](https://mobile.twitter.com/InstLatX64/status/1209095219087585281) twitter the performance on...

The `SmallRng ` of rand changed from 0.7 to 0.8 on 64 bit machines. The new PRNG has a different seed size. This PR updates rand but keeps the old...

I suggest adding an option to use a [Zipf](https://en.wikipedia.org/wiki/Zipf%27s_law) distribution to sample the keys. It might give a more realistic work load for heavy contention applications as many real word...

Some unsafe code relies on `RawExponent::raw_exponent() < FloatFormat::base_pow_exponent_digits()` to be sound. Currently a user could write a custom float type in safe rust and trigger UB by messing up the...

There are mutliple uses of unsafe that can be either replaced with safe code or with an external crate. I propose using this issue to discuss these cases and then...

I am currently working on a project that will use a teensy 4.1 to control about 100 SPI devices and plan to use the FlexIO periphial to minimize daisy-chaining by...

See discussion at #60 The tests pass except for a doc-test.

See #55 I solved this by ignoring moves that do not fit in the list. The performance impact of this solution should be minimal because the branch predictor should be...

See #52 I additionally replaced the transmute with a match statement which results in a no-op with minimal optimization but might slow down debug builds. [Tested with godbolt](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAM1QDsCBlZAQwBtMQBGAFlJvoCqAZ0wAFAB4gA5AAYppAFZdSrZrVDEArkIKkR7ZATx1KmWugDCqVpoC2tLgGZSZ9ABk8tTADk7AI0xiLgA2UgAHVCFCY1orG3sncMjoug8vX1sAoM5Q/UxDGIYCZmICOLsHTmc8groikoI0n39AkL1i0vKEqvaGpoyskIBKPVRNYmQOKQB6WYBqABFMIWRiPAC55jmqPHY5iDR42iG5uk255ARloTm/VBL0AFIZAEFHgCZHR4BWACFiTBhYgQTQADiGPwWzxeYU0fjmZjscwAYrtMHNHgB2X7QuZ4uYvDGOBZzGSkXH435EkmccmvfFzCzUubvOmE/Ekx7EubOCl47DM3h8lHM75shkAcWZoWFAAlmZi2Vioa9oXhbGFWCi0RjscLZtNGXQAG6BAjnR7BGTaPAAL0wlpkc08RAtVtR7Ed%2BwIV2dtFNxBEpyocyIAH1PFhxEMAHR4gCSIbwRIFirmAHdiMwwptiGNzDHhR8vn9PKxPA7vir2XjYfCqLRtnnbBHzJhxBAKHMbfaTgBaLkCj3orE4%2BkM/G2ZgES7OjHvYJzTG6sc1icMp1cqGOIdokAgF7i9cTzjUwfa9j735H4/495nncXjggCw3288h%2B7y8gBZv2/cT8n33bA/2Pb5AOHfdkVA9dFy3c9IJACUYInZd4MfRDZRQhkw0AzRaABZhLmYPx2DASAIXHddlSLTFqxo1VXjrbZGwIZYCE7EBuyiXs5gHDCdVHYVEKoZtWyjTtKLeOjoSkEZWGkb55AcWR5FQaQACVtHNIQxgmEdPk4eQCGkOQhhGABrEBHEcGMbPshzHNCBSpG4ZTTLU6R5CEEAyRM1SRjgWAkDQDU0TICgDlQML2CCYhOG%2BRwyR2Vg2MDSg/A80g/E8EoAE9pCM0hQtsMwCAAeVoVgCtU0gsCndRL1q/AAQKU0fNq9t8k0NjCvkF1MBcuQVHWLNiDyqwsCygg1lsPqRn4RgWEvHg%2BDoAhhDESRaqUWlVHUEAtB0Ea/B8ijSFQMIjDoDq%2ByZS6CD7dhTVYLcipqa6HAgVwukqFxzH6FpsiSKJPt%2B5QIlBmJAcyVpaQ%2BwoOjKawKmUBG6iRmHBnhpHwZxvoKwGOGRl08ZJi4eTFPc2r1KkI6ZzmTgY0SmMnQgXBCBIedHFpI0YsCbnOBOLSdGMjzzNIKybLsxzZZs5zpDc0gVOG2nvN80h/LM0ggsQEAxgIWFdEi0KwnC5RMHwIhgcWpg2A4VbFs2iQsszbN5pUKnlay2nyp6o3gzmenkEZ5nbLZqx%2BeIQWhjFgLLOs2y5blz3XOp1WvL0DWtbkympHedPPKkOOzJGAMohMbggA).

See #53. This PR adds an internal unsafe function. It might not be required because the compiler maybe can prove that the bound is always met. I did not check...