amalgame/commit

handle case when input has less alignments than the requested sample size

authorJacco van Ossenbruggen
Mon May 6 12:25:54 2013 +0200
committerJacco van Ossenbruggen
Mon May 6 12:25:54 2013 +0200
commit78ab49aeab6d96fef74eb31fd95b487210047447
treef6bbdeafccde15cb86948d4abb89d25a84a01212
parentfa6178a67048dc28c5d8802aa0d17afa3fb5f5f8
Diff style: patch stat
diff --git a/lib/ag_modules/ag_sample.pl b/lib/ag_modules/ag_sample.pl
index 1c849c5..57c69c0 100644
--- a/lib/ag_modules/ag_sample.pl
+++ b/lib/ag_modules/ag_sample.pl
@@ -1,8 +1,7 @@
 :- module(ag_sample, [
 		     ]).
 
-:- use_module(library(semweb/rdf_db)).
-:- use_module(library(amalgame/map)).
+:- use_module(library(random)).
 
 :- public amalgame_module/1.
 :- public selecter/5.
@@ -17,7 +16,8 @@ selecter(In, Out, [], [], Options) :-
 	option(sample_size(Size), Options, 5),
 	option(method(Method), Options, random),
 	length(In, Length),
-	randset(Size, Length, RandSet),
+	N is min(Length, Size),
+	randset(N, Length, RandSet),
 	assert_from_list(Method, In, 1, RandSet, Out).
 
 assert_from_list(_,[],_,_,[]):- !.