Parent: [3445a0] (diff)

Child: [28b809] (diff)

Download this file

F77func.def    87 lines (62 with data), 4.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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.3 2017/07/24 08:47:52 mriedl Exp mriedl $ *)
TYPE REAL8 = LONGREAL; (* F77 DOUBLE PRECISION / REAL (kind=dp), dp=8 *)
INTEGER4 = INTEGER; (* F77 INTEGER (32 Bit) *)
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 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.