-- lsfit.ads tailored to nonlinear PDE solution -- maximum 5th order, 6 dimensions with Ada.Text_IO; use Ada.Text_IO; with Ada.Numerics.Long_Elementary_Functions; use Ada.Numerics.Long_Elementary_Functions; with Real_Arrays; -- types real, real_vector, real_matrix use Real_Arrays; with Array3d; use Array3d; with Array4d; use Array4d; with Array5d; use Array5d; with Array6d; use Array6d; with Integer_Arrays; -- types integer_vector use Integer_Arrays; package Lsfit is -- data built by fit_bpoly, used by eval_poly procedure Fit_Init(An : Integer; Amm : Integer); -- power, dimension procedure Fit2_Bpoly(Nx : Integer; Ny : Integer; Xg : Real_Vector; Yg : Real_Vector; Ug : Real_Matrix); procedure Fit2_data(X : Real; Y : Real; U : Real; Last : Boolean); function Eval2_Poly(X : Real; Y : Real) return Real; procedure Fit3_Bpoly(Nx : Integer; Ny : Integer; Nz : Integer; Xg : Real_Vector; Yg : Real_Vector; Zg : Real_Vector; Ug : Real_Matrix3d); procedure Fit3_data(X : Real; Y : Real; Z : Real; U : Real; Last : Boolean); function Eval3_Poly(X : Real; Y : Real ; Z: Real) return Real; procedure Fit4_Bpoly(Nx : Integer; Ny : Integer; Nz : Integer; Nt : Integer; Xg : Real_Vector; Yg : Real_Vector; Zg : Real_Vector; Tg : Real_Vector; Ug : Real_Matrix4d); procedure Fit4_data(X : Real; Y : Real; Z : Real; T : Real; U : Real; Last : Boolean); function Eval4_Poly(X : Real; Y : Real ; Z : Real; T : Real) return Real; procedure Fit5_Bpoly(Nx : Integer; Ny : Integer; Nz : Integer; Nt : Integer; Nu : Integer; Xg : Real_Vector; Yg : Real_Vector; Zg : Real_Vector; Tg : Real_Vector; Ug : Real_Vector; Wg : Real_Matrix5d); procedure Fit5_data(X : Real; Y : Real; Z : Real; T : Real; U : Real; W : Real; Last : Boolean); function Eval5_Poly(X : Real; Y : Real ; Z : Real; T : Real; U : Real) return Real; procedure Fit6_Bpoly(Nx : Integer; Ny : Integer; Nz : Integer; Nt : Integer; Nu : Integer; Nv : Integer; Xg : Real_Vector; Yg : Real_Vector; Zg : Real_Vector; Tg : Real_Vector; Ug : Real_Vector; Vg : Real_Vector; Wg : Real_Matrix6d); procedure Fit6_data(X : Real; Y : Real; Z : Real; T : Real; U : Real; V : Real; W : Real; Last : Boolean); function Eval6_Poly(X : Real; Y : Real ; Z : Real; T : Real; U : Real; V : Real) return Real; end Lsfit;