ScalarQuadratic.java

  1. package neureka.backend.main.implementations.fun;

  2. import neureka.backend.main.implementations.fun.api.CPUFun;
  3. import neureka.backend.main.implementations.fun.api.ScalarFun;

  4. public final class ScalarQuadratic implements ScalarFun
  5. {
  6.     @Override public String id() { return "quad"; }

  7.     @Override public String activationCode() { return "output = input * input;\n"; }

  8.     @Override public String derivationCode() { return "output = 2 * input;\n"; }

  9.     @Override
  10.     public CPUFun getActivation() {
  11.         return new CPUFun() {
  12.             @Override public double invoke(double x) { return x * x; }
  13.             @Override public float invoke(float x) { return x * x; }
  14.             @Override public int invoke(int x) { return x * x; }
  15.         };
  16.     }

  17.     @Override
  18.     public CPUFun getDerivative() {
  19.         return new CPUFun() {
  20.             @Override public double invoke(double x) { return 2 * x; }
  21.             @Override public float invoke(float x) { return 2 * x; }
  22.             @Override public int invoke(int x) { return 2 * x; }
  23.         };
  24.     }

  25. }