* Dotted filenames for package numlib

This commit is contained in:
Michaël Van Canneyt 2023-03-06 14:57:58 +01:00
parent 151a3124e0
commit d312b46d1b
37 changed files with 204 additions and 0 deletions

View File

@ -0,0 +1,3 @@
unit NumLib.Det;
{$DEFINE FPC_DOTTEDUNITS}
{$i det.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Dsl;
{$DEFINE FPC_DOTTEDUNITS}
{$i dsl.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Eig;
{$DEFINE FPC_DOTTEDUNITS}
{$i eig.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Eigh1;
{$DEFINE FPC_DOTTEDUNITS}
{$i eigh1.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Eigh2;
{$DEFINE FPC_DOTTEDUNITS}
{$i eigh2.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Int;
{$DEFINE FPC_DOTTEDUNITS}
{$i int.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Inv;
{$DEFINE FPC_DOTTEDUNITS}
{$i inv.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Iom;
{$DEFINE FPC_DOTTEDUNITS}
{$i iom.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Ipf;
{$DEFINE FPC_DOTTEDUNITS}
{$i ipf.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Mdt;
{$DEFINE FPC_DOTTEDUNITS}
{$i mdt.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Numlib;
{$DEFINE FPC_DOTTEDUNITS}
{$i numlib.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Ode;
{$DEFINE FPC_DOTTEDUNITS}
{$i ode.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Omv;
{$DEFINE FPC_DOTTEDUNITS}
{$i omv.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Roo;
{$DEFINE FPC_DOTTEDUNITS}
{$i roo.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Sle;
{$DEFINE FPC_DOTTEDUNITS}
{$i sle.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Spe;
{$DEFINE FPC_DOTTEDUNITS}
{$i spe.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Spl;
{$DEFINE FPC_DOTTEDUNITS}
{$i spl.pas}

View File

@ -0,0 +1,3 @@
unit NumLib.Typ;
{$DEFINE FPC_DOTTEDUNITS}
{$i typ.pas}

View File

@ -0,0 +1,20 @@
src/roo.pas=namespaced/NumLib.Roo.pas
{s*:src/}=namespaced/
{i+:src/}
src/ode.pas=namespaced/NumLib.Ode.pas
src/omv.pas=namespaced/NumLib.Omv.pas
src/ipf.pas=namespaced/NumLib.Ipf.pas
src/inv.pas=namespaced/NumLib.Inv.pas
src/spe.pas=namespaced/NumLib.Spe.pas
src/dsl.pas=namespaced/NumLib.Dsl.pas
src/iom.pas=namespaced/NumLib.Iom.pas
src/int.pas=namespaced/NumLib.Int.pas
src/mdt.pas=namespaced/NumLib.Mdt.pas
src/sle.pas=namespaced/NumLib.Sle.pas
src/eigh2.pas=namespaced/NumLib.Eigh2.pas
src/typ.pas=namespaced/NumLib.Typ.pas
src/eig.pas=namespaced/NumLib.Eig.pas
src/eigh1.pas=namespaced/NumLib.Eigh1.pas
src/det.pas=namespaced/NumLib.Det.pas
src/numlib.pas=namespaced/NumLib.Numlib.pas
src/spl.pas=namespaced/NumLib.Spl.pas

View File

@ -18,12 +18,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit det;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$I DIRECT.INC}
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
{Generic determinant}
procedure detgen(n, rwidth: ArbInt; var a, f: ArbFloat; var k, term: ArbInt);
@ -51,7 +57,11 @@ var og : ArbFloat absolute ogx;
implementation
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Mdt;
{$ELSE FPC_DOTTEDUNITS}
uses mdt;
{$ENDIF FPC_DOTTEDUNITS}
procedure detgen(n, rwidth: ArbInt; var a, f: ArbFloat; var k, term: ArbInt);

View File

@ -24,13 +24,19 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
Unit dsl;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$I DIRECT.INC}
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
{Gen=generic, matrix without special or unknown ordering}
Procedure dslgen(n, rwidth: ArbInt; Var alu: ArbFloat; Var p: ArbInt;

View File

@ -17,12 +17,18 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit eig;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
const versie = 'augustus 1993';
@ -92,7 +98,11 @@ procedure eigsv3(var a: ArbFloat; m, n, rwidtha: ArbInt; var sig, u: ArbFloat;
implementation
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Eigh1, NumLib.Eigh2;
{$ELSE FPC_DOTTEDUNITS}
uses eigh1, eigh2;
{$ENDIF FPC_DOTTEDUNITS}
procedure eiggs1(var a: ArbFloat; n, rwidth: ArbInt; var lam: ArbFloat;
var term: ArbInt);

View File

@ -19,12 +19,18 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit eigh1;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
procedure tred1(var a: ArbFloat; n, rwidth: ArbInt; var d, cd: ArbFloat;
var term: ArbInt);

View File

@ -19,12 +19,18 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit eigh2;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
procedure orthes(var a: ArbFloat; n, rwidth: ArbInt; var u: ArbFloat);
procedure hessva(var h: ArbFloat; n, rwidth: ArbInt; var lam: complex;

View File

@ -19,12 +19,18 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
Unit int;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ,System.Math;
{$ELSE FPC_DOTTEDUNITS}
uses typ,math;
{$ENDIF FPC_DOTTEDUNITS}
Var
limit : ArbInt;

View File

@ -18,12 +18,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit inv;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
{Calc inverse for a matrix with unknown symmetry. General version. }
procedure invgen(n, rwidth: ArbInt; var ai: ArbFloat; var term: ArbInt);
@ -36,7 +42,11 @@ procedure invgpd(n, rwidth: ArbInt; var ai: ArbFloat; var term: ArbInt);
implementation
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Mdt, NumLib.Dsl;
{$ELSE FPC_DOTTEDUNITS}
uses mdt, dsl;
{$ENDIF FPC_DOTTEDUNITS}
procedure invgen(n, rwidth: ArbInt; var ai: ArbFloat; var term: ArbInt);
var

View File

@ -18,12 +18,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit iom;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$I direct.inc}
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
const
npos : ArbInt = 78;

View File

@ -26,12 +26,18 @@
{
}
{$IFNDEF FPC_DOTTEDUNITS}
unit ipf;
{$ENDIF FPC_DOTTEDUNITS}
{$modeswitch exceptions}
{$I direct.inc}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ, NumLib.Mdt, NumLib.Dsl, NumLib.Sle, NumLib.Spe;
{$ELSE FPC_DOTTEDUNITS}
uses typ, mdt, dsl, sle, spe;
{$ENDIF FPC_DOTTEDUNITS}
type
THermiteSplineType = (

View File

@ -22,12 +22,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
Unit mdt;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$I DIRECT.INC}
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ, NumLib.Dsl, NumLib.Omv;
{$ELSE FPC_DOTTEDUNITS}
uses typ, dsl, omv;
{$ENDIF FPC_DOTTEDUNITS}
Procedure mdtgen(n, rwidth: ArbInt; Var alu: ArbFloat; Var p: ArbInt;
Var ca:ArbFloat; Var term: ArbInt);

View File

@ -20,12 +20,18 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit NumLib;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$I direct.inc}
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
CONST Numlib_dll_version=2; {Original is 1, first FPC version=2}

View File

@ -21,13 +21,19 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
Unit ode;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
{Solve first order, starting value, differential eqs,
Calc y(b) for dy/dx=f(x,y) and y(a)=ae}

View File

@ -18,12 +18,18 @@
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
Unit omv;
{$ENDIF FPC_DOTTEDUNITS}
{$I direct.inc}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
{Calculates inproduct of vectors a and b which have N elements. The first
element is passed in a and b}

View File

@ -21,12 +21,18 @@
{$mode objfpc}{$H+}
{$modeswitch nestedprocvars}
{$IFNDEF FPC_DOTTEDUNITS}
Unit roo;
{$ENDIF FPC_DOTTEDUNITS}
{$i direct.inc}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ, NumLib.Spe;
{$ELSE FPC_DOTTEDUNITS}
uses typ, spe;
{$ENDIF FPC_DOTTEDUNITS}
{Find the all roots of the binomial eq. x^n=a, with "a" a complex number}

View File

@ -40,11 +40,17 @@ All procedures have similar procedure with a "L" appended to the name. We
didn't receive docs for those procedures. If you know what the difference is,
please mail us }
{$IFNDEF FPC_DOTTEDUNITS}
Unit sle;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$I DIRECT.INC}
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ, NumLib.Omv;
{$ELSE FPC_DOTTEDUNITS}
uses typ, omv;
{$ENDIF FPC_DOTTEDUNITS}
{solve for special tridiagonal matrices}
Procedure sledtr(n: ArbInt; Var l, d, u, b, x: ArbFloat; Var term: ArbInt);
@ -100,7 +106,11 @@ Procedure slegtr(n:ArbInt; Var l, d, u, b, x, ca: ArbFloat;
implementation
{$IFDEF FPC_DOTTEDUNITS}
Uses NumLib.Dsl,NumLib.Mdt;
{$ELSE FPC_DOTTEDUNITS}
Uses DSL,MDT;
{$ENDIF FPC_DOTTEDUNITS}
{Here originally stood an exact copy of mdtgtr from unit mdt}
{Here originally stood an exact copy of dslgtr from unit DSL}

View File

@ -23,12 +23,18 @@
{$mode objfpc}{$H+}
{$modeswitch nestedprocvars}
{$IFNDEF FPC_DOTTEDUNITS}
unit spe;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ;
{$ELSE FPC_DOTTEDUNITS}
uses typ;
{$ENDIF FPC_DOTTEDUNITS}
{ Calculate modified Besselfunction "of the first kind" I0(x) }
function spebi0(x: ArbFloat): ArbFloat;
@ -174,8 +180,13 @@ function speath(x: ArbFloat): ArbFloat; deprecated 'Use arctanh(x) in unit math'
implementation
{$IFDEF FPC_DOTTEDUNITS}
uses
System.Math, NumLib.Roo;
{$ELSE FPC_DOTTEDUNITS}
uses
math, roo;
{$ENDIF FPC_DOTTEDUNITS}
const
SQRT2 = 1.4142135623730950488016887242097; // sqrt(2)

View File

@ -18,12 +18,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$IFNDEF FPC_DOTTEDUNITS}
unit spl;
{$ENDIF FPC_DOTTEDUNITS}
{$I direct.inc}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses NumLib.Typ, System.Math, NumLib.Sle;
{$ELSE FPC_DOTTEDUNITS}
uses typ, math, sle;
{$ENDIF FPC_DOTTEDUNITS}
function spl1bspv(q: ArbInt; var kmin1, c1: ArbFloat; x: ArbFloat; var term: ArbInt): ArbFloat;
function spl2bspv(qx, qy: ArbInt; var kxmin1, kymin1, c11: ArbFloat; x, y: ArbFloat; var term: ArbInt): ArbFloat;

View File

@ -38,7 +38,9 @@ complex.inp and scale methods)
{$mode objfpc}{$H+}
{$modeswitch nestedprocvars}
{$IFNDEF FPC_DOTTEDUNITS}
unit typ;
{$ENDIF FPC_DOTTEDUNITS}
{$I DIRECT.INC} {Contains "global" compilerswitches which
are imported into every unit of the library }
@ -46,8 +48,13 @@ unit typ;
interface
{$IFDEF FPC_DOTTEDUNITS}
uses
System.Math;
{$ELSE FPC_DOTTEDUNITS}
uses
Math;
{$ENDIF FPC_DOTTEDUNITS}
{$if sizeof(extended)=10}
{$DEFINE ArbExtended}