DEFINITION MODULE F77func;
(*------------------------------------------------------------------------*)
(* Funktionen die das Portieren von Fortran-Quellen unterstuetzen. *)
(* Some Fortran intrinsics which can be used to translate Fortran to M2 *)
(*------------------------------------------------------------------------*)
(* Implementation : Michael Riedl *)
(* Licence : GNU Lesser General Public License (LGPL) *)
(*------------------------------------------------------------------------*)
(* $Id: F77func.def,v 1.4 2018/07/08 08:39:09 mriedl Exp mriedl $ *)
IMPORT LibDBlasL1F77;
TYPE INTEGER4 = LibDBlasL1F77.INTEGER4;
REAL8 = LibDBlasL1F77.REAL8;
COMPLEX16 = LibDBlasL1F77.COMPLEX16;
PROCEDURE DSIGN(a,b : REAL8) : REAL8;
(*----------------------------------------------------------------*)
(* FORTRAN DSIGN-Funktion (Vorzeichentransfer). Wenn b >= 0 wird *)
(* ABS(a) zurueckgegeben, wenn b < 0 wird -ABS(a) zurueckgegeben. *)
(*----------------------------------------------------------------*)
PROCEDURE DMAX(x,y : REAL8) : REAL8;
(*----------------------------------------------------------------*)
(* FORTRAN DMAX-Funktion (Maximum von x,y). *)
(*----------------------------------------------------------------*)
PROCEDURE DMIN(x,y : REAL8) : REAL8;
(*----------------------------------------------------------------*)
(* FORTRAN DMIN-Funktion (Minimum von x,y). *)
(*----------------------------------------------------------------*)
PROCEDURE MIN0(ix,iy : INTEGER4) : INTEGER4;
(*----------------------------------------------------------------*)
(* FORTRAN MIN0-Funktion (Maximum von x,y). *)
(*----------------------------------------------------------------*)
PROCEDURE MAX0(ix,iy : INTEGER4) : INTEGER4;
(*----------------------------------------------------------------*)
(* FORTRAN MAX0-Funktion (Maximum von x,y). *)
(*----------------------------------------------------------------*)
PROCEDURE DINT(x : REAL8) : REAL8;
(*----------------------------------------------------------------*)
(* FORTRAN DINT-Funktion (Abschneiden des Nachkommaanteils). *)
(*----------------------------------------------------------------*)
PROCEDURE NINT(x : LONGREAL) : INTEGER;
(*----------------------------------------------------------------*)
(* FORTRAN NINT-Funktion (rundet zur naechstliegende Ganzzahl) *)
(*----------------------------------------------------------------*)
PROCEDURE IAND(a,b : INTEGER) : INTEGER;
(*----------------------------------------------------------------*)
(* Returns the bitwise logical AND of a and b (set intersection) *)
(*----------------------------------------------------------------*)
PROCEDURE IOR(a,b : INTEGER) : INTEGER;
(*----------------------------------------------------------------*)
(* Returns the bitwise boolean inclusive OR of a and b *)
(* (set union) *)
(*----------------------------------------------------------------*)
PROCEDURE IEOR(a,b : INTEGER) : INTEGER;
(*----------------------------------------------------------------*)
(* Returns the bitwise boolean exclusive OR of a and b *)
(* (symmetric set difference) *)
(*----------------------------------------------------------------*)
PROCEDURE D1Mach (i: INTEGER): LONGREAL;
(*----------------------------------------------------------------*)
(* D1Mach liefert verschiende Maschinenkonstanten *)
(* *)
(* 1 : the smallest positive magnitude TINY(1.0D0) *)
(* 2 : the largest magnitude (HUGE(1.0D0), MAX(LONGREAL)). *)
(* 3 : the smallest relative spacing epsilon(1) / radix (1) *)
(* 4 : the largest relative spacing. *)
(* 5 : the machine precision EPSILON(1.0D0) (MachEps) *)
(* 6 : the nearest numbner to 1 (LowLong.succ(1.0) - 1.0) *)
(*----------------------------------------------------------------*)
END F77func.