UniCoreFW

iterated()

Create a function that applies func n times to a value.

Implementation

Args: func: The function to iterate Returns: A function that takes (value, n) and applies func n times

Example

double = lambda x: x * 2 repeated_double = iterated(double) repeated_double(2, 3) # 2 -> 4 -> 8 -> 16

Expected output: 16

Source Code

def iterated(func: Callable) -> Callable: _validate_callable(func) def iterator(value, n=1): result = value for _ in range(max(0, n)): result = func(result) return result return _copy_function_metadata(iterator, func)