From 7c5318b784c863d218cd9866f5155a288dcc404d Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Sun, 21 Aug 2022 13:51:12 +0200 Subject: [PATCH] ENHANCED: Use '$skip_max_list'/4 for greater efficiency of nth0/3. This is now possible due to 4c7e2eb8614da9c04f2286f6116b468017fb442c. See #1529 for the suggestion by @UWN. --- src/lib/lists.pl | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/lib/lists.pl b/src/lib/lists.pl index 52f862bb..7cfffa17 100644 --- a/src/lib/lists.pl +++ b/src/lib/lists.pl @@ -247,16 +247,10 @@ nth0(N, Es, E) :- can_be(integer, N), can_be(list, Es), ( integer(N) -> - nth0_index(N, Es, E) + '$skip_max_list'(N, N, Es, [E|_]) ; nth0_search(N, Es, E) ). -nth0_index(0, [E|_], E) :- !. -nth0_index(N, [_|Es], E) :- - N > 0, - N1 is N - 1, - nth0_index(N1, Es, E). - nth0_search(N, Es, E) :- nth0_search(0, N, Es, E). -- 2.54.0