xref: /original-bsd/usr.bin/f77/libF77/range.c (revision 9a897be2)
1 /*
2  * Copyright (c) 1980 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  *
6  *	@(#)range.c	5.4	05/13/90
7  *
8  * routines to return extreme values
9  * VERY MACHINE DEPENDENT
10  */
11 
12 union fi
13 {	float	f;
14 	long	i;
15 } ;
16 
17 union dj
18 {	double	d;
19 	long	j[2];
20 } ;
21 
22 float
23 flmax_()
24 {
25 	union fi n;
26 #if	pdp11
27 	n.i = 0x7fffffffL;
28 #else	pdp11
29 #if	vax
30 	n.i = 0xffff7fff;
31 #else	vax
32 #if	tahoe
33 	n.i = 0x7fffffffL;
34 #else	tahoe
35 #if	hp300
36 	n.i = 0x7fffffffL;
37 #else	hp300
38 	UNKNOWN MACHINE!
39 #endif	hp300
40 #endif	tahoe
41 #endif	vax
42 #endif	pdp11
43 	return(n.f);
44 }
45 
46 double
47 dflmax_()
48 {
49 	union dj n;
50 #if	pdp11
51 	n.j[0] = 0x7fffffffL;
52 	n.j[1] = 0xffffffffL;
53 #else	pdp11
54 #if	vax
55 	n.j[0] = 0xffff7fff;
56 	n.j[1] = 0xffffffff;
57 #else	vax
58 #if	tahoe
59 	n.j[0] = 0x7fffffffL;
60 	n.j[1] = 0xffffffffL;
61 #else	tahoe
62 #if	hp300
63 	n.j[0] = 0x7fffffffL;
64 	n.j[1] = 0xffffffffL;
65 #else	hp300
66 	UNKNOWN MACHINE!
67 #endif	hp300
68 #endif	tahoe
69 #endif	vax
70 #endif	pdp11
71 	return(n.d);
72 }
73 
74 float
75 flmin_()
76 {
77 	union fi n;
78 #if	pdp11
79 	n.i = 0x00800000L;
80 #else	pdp11
81 #if	vax
82 	n.i = 0x00000080;
83 #else	vax
84 #if	tahoe
85 	n.i = 0x00800000L;
86 #else	tahoe
87 #if	hp300
88 	n.i = 0x00800000L;
89 #else	hp300
90 	UNKNOWN MACHINE!
91 #endif	hp300
92 #endif	tahoe
93 #endif	vax
94 #endif	pdp11
95 	return(n.f);
96 }
97 
98 double
99 dflmin_()
100 {
101 	union dj n;
102 #if	pdp11
103 	n.j[0] = 0x00800000L;
104 	n.j[1] = 0;
105 #else	pdp11
106 #if	vax
107 	n.j[0] = 0x00000080;
108 	n.j[1] = 0;
109 #else	vax
110 #if	tahoe
111 	n.j[0] = 0x00800000L;
112 	n.j[1] = 0;
113 #else	tahoe
114 #if	hp300
115 	n.j[0] = 0x00800000L;
116 	n.j[1] = 0;
117 #else	hp300
118 	UNKNOWN MACHINE!
119 #endif	hp300
120 #endif	tahoe
121 #endif	vax
122 #endif	pdp11
123 	return(n.d);
124 }
125 
126 long int
127 inmax_()
128 {
129 	return(0x7fffffffL);
130 }
131 
132 
133 float
134 ffrac_()
135 {
136 	union fi n;
137 #if	pdp11
138 	n.i = 0x35000000L;
139 #else	pdp11
140 #if	vax
141 	n.i = 0x00003500;
142 #else	vax
143 #if	tahoe
144 	n.i = 0x35000000L;
145 #else	tahoe
146 #if	hp300
147 	n.i = 0x35000000L;
148 #else	hp300
149 	UNKNOWN MACHINE!
150 #endif	hp300
151 #endif	tahoe
152 #endif	vax
153 #endif	pdp11
154 	return(n.f);
155 }
156 
157 double
158 dffrac_()
159 {
160 	union dj n;
161 #if	pdp11
162 	n.j[0] = 0x25000000L;
163 	n.j[1] = 0;
164 #else	pdp11
165 #if	vax
166 	n.j[0] = 0x00002500;
167 	n.j[1] = 0;
168 #else	vax
169 #if	tahoe
170 	n.j[0] = 0x25000000L;
171 	n.j[1] = 0;
172 #else	tahoe
173 #if	hp300
174 	n.j[0] = 0x25000000L;
175 	n.j[1] = 0;
176 #else	hp300
177 	UNKNOWN MACHINE!
178 #endif	hp300
179 #endif	tahoe
180 #endif	vax
181 #endif	pdp11
182 	return(n.d);
183 }
184