public double basicFunc(int func_no, double[] x) throws JMetalException { double result = 0.0; // This part is according to Matlab reference code switch (func_no) { case 0: result = Benchmark.weierstrass(x); break; case 1: result = Benchmark.EScafferF6(x); break; case 2: result = Benchmark.F8F2(x); break; case 3: result = Benchmark.ackley(x); break; case 4: result = Benchmark.rastrigin(x); break; case 5: result = Benchmark.griewank(x); break; case 6: result = Benchmark.EScafferF6NonCont(x); break; case 7: result = Benchmark.rastriginNonCont(x); break; case 8: result = Benchmark.elliptic(x); break; case 9: result = Benchmark.sphere_noise(x); break; default: throw new JMetalException("func_no is out of range."); } return (result); }