1 package net.bmahe.genetics4j.gpu.spec.fitness;
2
3 import java.util.List;
4 import java.util.concurrent.ExecutorService;
5
6 import net.bmahe.genetics4j.core.Genotype;
7 import net.bmahe.genetics4j.gpu.opencl.OpenCLExecutionContext;
8 import net.bmahe.genetics4j.gpu.spec.fitness.kernelcontext.KernelExecutionContext;
9
10 @FunctionalInterface
11 public interface FitnessExtractor<T extends Comparable<T>> {
12
13 List<T> compute(final OpenCLExecutionContext openCLExecutionContext,
14 final KernelExecutionContext kernelExecutionContext, final ExecutorService executorService,
15 final long generation, final List<Genotype> genotypes, final ResultExtractor resultExtractor);
16 }