Summary
Jason responds to feedback on his implementation of the xoroshiro128 random number generator from Episode 285, focusing on API design considerations guided by the Principle of Least Surprise. He explains why he chose to implement a 'fork' function instead of overloading the copy constructor, discusses optimizations for the forking operation, and acknowledges that the proper term in random number generator literature is 'splitting' rather than 'forking'. The episode emphasizes the importance of using domain-appropriate terminology and avoiding surprising behavior in library interfaces.
Related C++ Standard Sections
This episode covers topics found in these sections of the C++ standard:
-
[range.transform]95% match -
[alg.transform]80% match