1 10 package org.jgap.gp.function; 11 12 import org.jgap.*; 13 import org.jgap.gp.*; 14 import org.jgap.gp.impl.*; 15 16 22 public class Pow 23 extends MathCommand { 24 25 private final static String CVS_REVISION = "$Revision: 1.5 $"; 26 27 public Pow(final GPConfiguration a_conf, Class a_type) 28 throws InvalidConfigurationException { 29 super(a_conf, 2, a_type); 30 } 31 32 public String toString() { 33 return "&1 ^ &2"; 34 } 35 36 42 public String getName() { 43 return "Power"; 44 } 45 46 public int execute_int(ProgramChromosome c, int n, Object [] args) { 47 int i = c.execute_int(n, 0, args); 48 int j = c.execute_int(n, 1, args); 49 return (int) Math.pow(Math.max( -10000.0f, Math.min(i, 20.0f)), 51 Math.max( -10000.0f, Math.min(j, 20.0f))); 52 } 53 54 public float execute_float(ProgramChromosome c, int n, Object [] args) { 55 float f = c.execute_float(n, 0, args); 56 float g = c.execute_float(n, 1, args); 57 return (float) Math.pow(Math.max( -10000.0f, Math.min(f, 20.0f)), 59 Math.max( -10000.0f, Math.min(g, 20.0f))); 60 } 61 62 public double execute_double(ProgramChromosome c, int n, Object [] args) { 63 double f = c.execute_double(n, 0, args); 64 double g = c.execute_double(n, 1, args); 65 return Math.pow(Math.max( -10000.0, Math.min(f, 20.0)), 67 Math.max( -10000.0, Math.min(g, 20.0))); 68 } 69 70 public Object execute_object(ProgramChromosome c, int n, Object [] args) { 71 return ( (Compatible) c.execute_object(n, 0, args)).execute_pow( 72 c.execute_object(n, 1, args)); 73 } 74 75 protected interface Compatible { 76 public Object execute_pow(Object o); 77 } 78 } 79 | Popular Tags |