with
  DC_Type;

use
  DC_Type;

package ANN7S is
---------------------------------------------------------------------------
---------------------------------------------------------------------------
Threshhold : constant := 1.0;
---------------------------------------------------------------------------
type Direction_Type is ( Down, Up );
type Pattern_Type (
       Input_Last,
       Output_First,
       Neuron_Count : positive ) is
     record
       Pattern_Inputs  : Array_Boolean ( 1..Input_Last );
       Pattern_Outputs : Array_Boolean ( Output_First..Neuron_Count );
     end record;
---------------------------------------------------------------------------
procedure Pattern_Train (
	    Pattern_Inputs  : in     Array_Boolean;
	    Pattern_Outputs : in     Array_Boolean;
	    Weights          : in out Array_Float_2;
	    Debug_Mode       : in     boolean := false );
procedure Demo_Xor;
procedure Net (
	    States  : in out Array_Boolean;
	    Weights : in out Array_Float_2;
	    Train   : in     boolean := false );
procedure Weight_Change (
	    Weight       : in out float;
	    Direction    : in Direction_Type;
	    Neuron_Count : in positive );
---------------------------------------------------------------------------
---------------------------------------------------------------------------
end ANN7S;
