Marc B. Reynolds
marc-b-reynolds.bsky.social
Marc B. Reynolds
@marc-b-reynolds.bsky.social
Stefan Gustavson has put out an open access book on procgen textures.

liu.diva-portal.org/smash/record...

github.com/stegu/noisei...
Noise is Beautiful: Part 1: Procedural textures
liu.diva-portal.org
May 9, 2025 at 6:07 PM
A test driver that demos "xoroshiro128+" failing PractRand in under 10 seconds.

Nothing special here so this is a bit surprising to me.

gist.github.com/Marc-B-Reyno...
test driver that demos "xoroshiro128+" failing PractRand
test driver that demos "xoroshiro128+" failing PractRand - test.c
gist.github.com
March 31, 2025 at 6:36 PM
Previously mentioned Hastings 1955 #approximation and remembered I have #sollya files for some. This is the first few atan approximations.

I'm sharing because it's an example of using a "seed" approximation to refine the coefficients using sollya.

gist.github.com/Marc-B-Reyno...
Using sollya to "repeat" Cecil Hastings' 1955 approximations for atan. Works as an example of using a 'seed' approximation & using sollya to refine.
Using sollya to "repeat" Cecil Hastings' 1955 approximations for atan. Works as an example of using a 'seed' approximation & using sollya to refine. - hastings_atan.sollya
gist.github.com
February 8, 2025 at 6:50 PM
Another #FloatingPoint refinement of pair arithmetic. This time on the so-called "sloppy add"
arxiv.org/abs/2404.05948

AFIK: latest refinement of the accurate building blocks are in this: hal.science/hal-02972245

& weakened constraint versions by Rump & Lang www.tuhh.de/ti3/paper/ru...
On the robustness of double-word addition algorithms
We demonstrate that, even when there are moderate overlaps in the inputs of sloppy or accurate double-word addition algorithms in the QD library, these algorithms still guarantee error bounds of $O(u^...
arxiv.org
February 8, 2025 at 1:19 PM
A couple of #FloatingPoint papers that I caught my eye for future reading:

1) A tightening of FastTwoSum knowledge
2) Attempting to generate approximations which account for runtime evaluation errors (w source 4 external proc for Sollya)

1) hal.science/hal-04875749v1
2) hal.science/hal-04709615v1
FastTwoSum revisited
The FastTwoSum algorithm is a classical way to evaluate the rounding error that occurs when adding two numbers in finite precision arithmetic. Starting with Dekker in the early 1970s, numerous floatin...
hal.science
January 25, 2025 at 9:18 AM
An old blog post by Keith Schwarz that builds (in an easy IMHO to follow way) sampling of a discrete distribution using "alias tables" and building via Vose's method.

www.keithschwarz.com/darts-dice-c...
Darts, Dice, and Coins
www.keithschwarz.com
January 17, 2025 at 10:08 AM
A mini "Happy New Year" blog post on a scheme for "drop rates":

marc-b-reynolds.github.io/math/2025/01...
Item weights vs. the Paradox of Rarity
This post describes using item weights to define the relative frequency of drop rates.
marc-b-reynolds.github.io
January 1, 2025 at 7:23 PM
A little over a month ago the Zed (editor) team put up a blog post on their text representation

zed.dev/blog/zed-dec...

(A B-tree of 128 byte payloads...interesting) and an optimization related to that which is "find n^th bit set" for precomputed return positions in payload side-line info.
Rope Optimizations, Part 1 - Zed Blog
From the Zed Blog: In this episode of Zed Decoded, Thorsten and Antonio walk through the performance optimizations Antonio when working on Zed's Rope data structure before they then pair on adding mor...
zed.dev
December 21, 2024 at 8:37 AM
Tossed up a method for generating the parameterized additive constant of a PCG and babble about the reasoning with some asides.

marc-b-reynolds.github.io/math/2024/12...
Comments on parameterized SplitMix and PCG style generators
Builds up a rational for a presented method for generating the additive constant of a LCG or Weyl sequence based PRNG.
marc-b-reynolds.github.io
December 11, 2024 at 8:48 AM
Tossed together a gist of tomfoolery:
1) generate a random number with a given population count (portable, bisection method)
2) perform a random bit permutation of the input. (needs PDEP or SAG like op in hardware to be usable)
3) not quite random versions of (2)

(continued)
Skims two methods: bisection method for random numbers with given popcount & branchfree random bit permutation with bit-scatter or sheep-and-goats op.
Skims two methods: bisection method for random numbers with given popcount & branchfree random bit permutation with bit-scatter or sheep-and-goats op. - prng_pop.c
gist.github.com
December 6, 2024 at 2:45 PM
Reposted by Marc B. Reynolds
Following over 1.5 years of hard work (w/@njroussel.bsky.social &@rtabbara.bsky.social), we just released a brand-new version of Dr.Jit (v1.0), my lab's differentiable rendering compiler along with an updated Mitsuba (v3.6). The list of changes is insanely long—here is what we're most excited about🧵
November 26, 2024 at 3:09 PM
CRC Press is releasing a new book on the IEEE floating point killing format: Posits

An old blog post on the format:
marc-b-reynolds.github.io/math/2019/02...
November 20, 2024 at 5:48 PM
Reposted by Marc B. Reynolds
meshoptimizer 0.22 is out! Featuring significant improvements to simplifier (attribute simplification, fewer topology restrictions, component pruning), new provoking vertex algorithm (thanks to John Hable), clusterization improvements & gltfpack size optimizations.
October 25, 2024 at 5:33 PM