     ----------------------------------------------------------------------
     -- Title       :  HyperNet
     -- Copyright   :  (C) 1994 David Wallace Croft.  All rights reserved.
     -- Author      :  David Wallace Croft, CompuServe [76600,102]
     -- Compiler    :  Meridian OpenAda for DOS
     -- Description :  neural network music box
     ----------------------------------------------------------------------

     with Hyper_Type; use Hyper_Type;
--   with HyperMus; use HyperMus;

     package HyperNet is
     ----------------------------------------------------------------------
     ----------------------------------------------------------------------
     procedure Clamp (
       Notes      : in out Notes_Type;
       Neurons    : in out Neurons_Type;
       Axons      : in out Axons_Type;
       Weights    : in out Weights_Type;
       Opt        : in out Options_Type;
       Note       : in     positive );
     procedure Current_Soma (
       I_Dep     :    out float;
       I_Shu     :    out float;
       I_Hyp     :    out float;
       Neuron    : in out Neuron_Type;
       Opt       : in     Options_Type );
     procedure Current_Synapse (
       Weight              : in out Weight_Type;
       G_Dep, G_Shu, G_Hyp : in     float;
       Vm                  : in     float );
     procedure Demo;
     procedure Reset (
       Axons   : in out Axons_Type;
       Neurons : in out Neurons_Type;
       Weights : in out Weights_Type;
       Neuron  : in     integer := -1 );
     procedure Update (
       Notes      :    out Notes_Type;
       Axons      : in out Axons_Type;
       Neurons    : in out Neurons_Type;
       Weights    : in out Weights_Type;
       Opt        : in     Options_Type;
       Segments   : in     positive );
     procedure Voltage_Membrane (
       Neuron     : in out Neuron_Type;
       Weights    : in out Weights_Type;
       G          : in     G_Type;
       N          : in     natural;
       Opt        : in     Options_Type );
     procedure Weight_Learn (
       Weight           : in out Weight_Type;
       V_Avg            : in out float;
       Opt              : in     Options_Type;
       Vm               : in     float );
     ----------------------------------------------------------------------
     ----------------------------------------------------------------------
     end HyperNet;
