More on Generation Size
Learn scaling and modifications of generation size.
If we want to apply some modifications to the generation size, we’re looking for the StreamData.scale/2
function. It takes a generator and a function that takes a size and returns a new size, and then it returns a new generator. The new generator uses the generation size returned by the passed function. (That was a mouthful.) Essentially, it modifies the generation size of a generator in a dynamic way, based on the original generation size.
Scaling in generation size
Scaling is especially useful in a couple of scenarios. The first one is when we want to increase or decrease the speed at which the generation size progresses. For example, it might be a good idea to reduce the growth of the generation size for a complex and deeply nested generator. To do that, we can scale the generation size with mathematic functions like square roots:
Executable
Get hands-on with 1300+ tech skills courses.