Skip to main content
Log in

Mojo function

apply_predicate

apply_predicate[predicate: fn[ImmutableOrigin, ImmutableOrigin](IntTuple[$0], IntTuple[$1]) -> Bool](a: IntTuple[origin], b: IntTuple[origin]) -> Bool

Apply a predicate function recursively to two IntTuples.

This function traverses two IntTuples with the same structure and applies a predicate function to corresponding elements. The predicate is applied only to the leaf nodes (integer values).

Note: If the structures of the two IntTuples don't match (different nesting or length), the function returns False without applying the predicate.

Parameters:

  • predicate (fn[ImmutableOrigin, ImmutableOrigin](IntTuple[$0], IntTuple[$1]) -> Bool): A function that takes two IntTuples (containing integer values) and returns a boolean result.

Args:

  • a (IntTuple[origin]): First IntTuple to compare.
  • b (IntTuple[origin]): Second IntTuple to compare.

Returns:

True if the predicate returns True for all corresponding elements and the structures match, False otherwise.