package org.jlayer.app; 

import javax.annotation.processing.Generated;
import java.util.Random;
import org.jlayer.model.*;

@Generated("org.jlayer.Processor") 
public interface ILayer_Output_ extends BasedLayer<Output> {


   // interface ILayer_Output_.D1
   interface D1 extends BasedLayer.D1<Output> {
      // method items 
      void initSignals(Random r);
      void setTarget(Layer.D1<?,Double> target);
      BasedLayer.D1<Double> getError();
      void Forward();
      void Backward(double eta);
   }

   // interface ILayer_Output_.D2
   interface D2 extends BasedLayer.D2<Output> {
      // method items 
      void initSignals(Random r);
      void setTarget(Layer.D2<?,Double> target);
      BasedLayer.D2<Double> getError();
      void Forward();
      void Backward(double eta);
   }

   // interface ILayer_Output_.D3
   interface D3 extends BasedLayer.D3<Output> {
      // method items 
      void initSignals(Random r);
      void setTarget(Layer.D3<?,Double> target);
      BasedLayer.D3<Double> getError();
      void Forward();
      void Backward(double eta);
   }

// interface Layer_Output_

// method items 
   void initSignals(Random r);
   void setTarget(Layer<?,Double> target);
   BasedLayer<Double> getError();
   void Forward();
   void Backward(double eta);

} // end of interface ILayer_Output_
