All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.chen0040.gp.treegp.program.operators.Power Maven / Gradle / Ivy

There is a newer version: 1.0.14
Show newest version
package com.github.chen0040.gp.treegp.program.operators;


import com.github.chen0040.gp.commons.Observation;
import com.github.chen0040.gp.treegp.program.Operator;
import com.github.chen0040.gp.treegp.program.Primitive;


/**
 * Created by xschen on 11/5/2017.
 */
public class Power extends Operator {
   private static final long serialVersionUID = 8365660313698391735L;


   public Power(){
      super(2, "^");
   }

   @Override public void execute(Observation observation){
      double x1 = getInput(0);
      double x2 = getInput(1);
      if (Math.abs(x1) < 10)
      {
         setValue(Math.pow(Math.abs(x1), x2));
      }
      else
      {
         setValue(x1 + x2 + 1);
      }
   }


   @Override public Primitive makeCopy() {
      return new Power().copy(this);
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy