with
  Neuron;

package ANN is
---------------------------------------------------------------------------
---------------------------------------------------------------------------
Neuron_Count: positive := 3;
---------------------------------------------------------------------------
---------------------------------------------------------------------------
type ANN_Type is
---------------------------------------------------------------------------
-- Every neuron in the ANN receives inputs from every other neuron in the
-- ANN, including itself.
---------------------------------------------------------------------------
  array ( 1..Neuron_Count )
    of Neuron.Neuron_Type ( Synapse_Count => Neuron_Count );
---------------------------------------------------------------------------
---------------------------------------------------------------------------
procedure Initialize ( ANN: in out ANN_Type );
procedure Move       ( ANN: in     ANN_Type );
procedure Sense      ( ANN: in out ANN_Type );
procedure Show_State ( ANN: in     ANN_Type );
procedure Think      ( ANN: in out ANN_Type );
---------------------------------------------------------------------------
---------------------------------------------------------------------------
end ANN;