---------------------------------------------------------------------- -- Title : MathAK -- Version : 1.10 -- Author : David Wallace Croft, CompuServe [76600,102] -- Compiler : standard Ada -- Unit Type : package specification -- Copyright : 1994 David Wallace Croft. All rights reserved. -- Description : Math ---------------------------------------------------------------------- with A83_014_Vector; use A83_014_Vector; with A83_015_Matrix; use A83_015_Matrix; -- with FileAK; use FileAK; -- for Interpolate_Type package MathAK is ---------------------------------------------------------------------- ---------------------------------------------------------------------- Copyright : constant string := "MathAK v1.00 (C) 1994 David Wallace Croft. All rights reserved."; ---------------------------------------------------------------------- E : constant float := 2.71828_18284_59045_23536_02874_71352_66249_77572; Pi : constant float := 3.14159_26535_89793_23846_26433_83279_50288_41972; ---------------------------------------------------------------------- type Float_Array is array ( integer range <> ) of float; type Float_Array_2 is array ( integer range <>, integer range <> ) of float; ---------------------------------------------------------------------- -- type Interpolate_Type is -- record -- Old_File : File_Type; -- Tmp_File : File_Type; -- Old_1 : float; -- Old_2 : float; -- Last_1 : natural; -- Last_2 : natural; -- Old_Line_1 : Line_Type; -- Old_Line_2 : Line_Type; -- Start_Over : boolean := true; -- end record; ---------------------------------------------------------------------- function "**" ( -- not sure how accurate X, Y : float ) return float; procedure Alpha ( V : in out float; dV_dt : in out float; Stimulus : in float := 0.0; Decay : in float := 1.0; dt : in float := 0.001 ); function Characteristic ( InFloat : in float ) return integer; function Combination ( N : in natural; R : in natural ) return float; function Cos ( R : in float ) -- radians return float; function Crosscorrelation ( X, Y : in Vector_Type ) return Vector_Type; procedure Demo; function Exp ( I : in integer ) return float; function Exp ( F : in float ) return float; function Factorial ( X : in natural ) return float; procedure Integrate ( Y: in out Float_Array; F: in Float_Array_2; E: in float ); -- procedure Interpolate ( -- Completed : out boolean; -- Mid_Point : in out float; -- Rec : in out Interpolate_Type; -- Results : in string := ""; -- Old_File_Name : in string := ""; -- Tmp_File_Name : in string := "" ); -- procedure Interpolate_Demo; function Ln ( -- only defined for X > 0, not sure how accurate X : float ) return float; function Minimum ( X, Y : float ) return float; function Odd ( I : in integer ) return boolean; function Sigmoid ( F : float ) return float; function Sin ( R : in float ) -- radians return float; function Sqr ( -- squares the value: Sqr ( F ) := F ** 2 F : float ) return float; function TanH ( F : float ) return float; ---------------------------------------------------------------------- ---------------------------------------------------------------------- end MathAK;