Parent: [3445a0] (diff)

Download this file

IEEE.mod    35 lines (27 with data), 1.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
IMPLEMENTATION MODULE IEEE;
IMPORT TIO;
(*------------------------------------------------------------------------*)
(* IEEE positive infinity (NAN) and infinity (INF) constants for *)
(* IEEE 754 machines - no implementation module needed *)
(*------------------------------------------------------------------------*)
(* 27.02.96, MRi: Erstellen der ersten Version *)
(* 26.05.18, MRi: Einfuegen varianter Records um XDS "auszutricksen" *)
(* 11.01.19, MRi: Einfuegen von IsLittleEndian *)
(*------------------------------------------------------------------------*)
(* Implementation : Michael Riedl *)
(* Licence : GNU Lesser General Public License (LGPL) *)
(*------------------------------------------------------------------------*)
(* $Id: IEEE.mod,v 1.1 2018/05/26 15:54:11 mriedl Exp mriedl $ *)
PROCEDURE IsLittleEndian() : BOOLEAN;
TYPE VarR = RECORD
CASE : BOOLEAN OF
|TRUE: lc : LONGCARD;
|FALSE: ca : ARRAY [0..SIZE(LONGCARD)-1] OF CHAR;
END;
END;
VAR vr : VarR;
BEGIN
vr.lc := 1;
RETURN vr.ca[SIZE(LONGCARD)-1] = CHR(1);
END IsLittleEndian;
END IEEE.