]> Repositorios git - scryer-prolog.git/commitdiff
Add max_list & min_list to lists
authorAdrián Arroyo Calle <[email protected]>
Sat, 5 Dec 2020 13:20:50 +0000 (14:20 +0100)
committerAdrián Arroyo Calle <[email protected]>
Sat, 5 Dec 2020 13:20:50 +0000 (14:20 +0100)
src/lib/lists.pl

index e30334953bb6d6974ef001afa3531fe7cfb5928b..6638f1372b3f61113b5ad304975adec21bd44fff 100644 (file)
@@ -2,7 +2,7 @@
                  memberchk/2, reverse/2, length/2, maplist/2,
                  maplist/3, maplist/4, maplist/5, maplist/6,
                  maplist/7, maplist/8, maplist/9, same_length/2, nth0/3,
-                 sum_list/2, transpose/2, list_to_set/2]).
+                 sum_list/2, transpose/2, list_to_set/2, max_list/2, min_list/2]).
 
 
 :- use_module(library(error)).
@@ -200,3 +200,14 @@ nth0_search(N, N, [E|_], E).
 nth0_search(N0, N, [_|Es], E) :-
         N1 is N0 + 1,
         nth0_search(N1, N, Es, E).
+
+
+max_list([Max], Max).
+max_list([N|Ns], Max) :-
+    max_list(Ns, Maxs),!,
+    Max is max(N, Maxs).
+
+min_list([Min], Min).
+min_list([N|Ns], Min) :-
+    min_list(Ns, Mins),!,
+    Min is min(N, Mins).
\ No newline at end of file