xref: /csrg-svn/usr.bin/f77/libF77/range.c (revision 29935)
13558Sdlw /*
222974Skre  * Copyright (c) 1980 Regents of the University of California.
322974Skre  * All rights reserved.  The Berkeley software License Agreement
422974Skre  * specifies the terms and conditions for redistribution.
53558Sdlw  *
6*29935Ssam  *	@(#)range.c	5.3	10/30/86
723002Skre  *
83558Sdlw  * routines to return extreme values
93558Sdlw  * VERY MACHINE DEPENDENT
103558Sdlw  */
113558Sdlw 
123558Sdlw union fi
133558Sdlw {	float	f;
143558Sdlw 	long	i;
153558Sdlw } ;
163558Sdlw 
173558Sdlw union dj
183558Sdlw {	double	d;
193558Sdlw 	long	j[2];
203558Sdlw } ;
213558Sdlw 
223558Sdlw float
233558Sdlw flmax_()
243558Sdlw {
253558Sdlw 	union fi n;
268946Sdlw #if	pdp11
273558Sdlw 	n.i = 0x7fffffffL;
288946Sdlw #else	pdp11
298946Sdlw #if	vax
303558Sdlw 	n.i = 0xffff7fff;
318946Sdlw #else	vax
32*29935Ssam #if	tahoe
33*29935Ssam 	n.i = 0x7fffffffL;
34*29935Ssam #else	tahoe
358946Sdlw 	UNKNOWN MACHINE!
36*29935Ssam #endif	tahoe
378946Sdlw #endif	vax
388946Sdlw #endif	pdp11
393558Sdlw 	return(n.f);
403558Sdlw }
413558Sdlw 
423558Sdlw double
433558Sdlw dflmax_()
443558Sdlw {
453558Sdlw 	union dj n;
468946Sdlw #if	pdp11
473558Sdlw 	n.j[0] = 0x7fffffffL;
483558Sdlw 	n.j[1] = 0xffffffffL;
498946Sdlw #else	pdp11
508946Sdlw #if	vax
513558Sdlw 	n.j[0] = 0xffff7fff;
523558Sdlw 	n.j[1] = 0xffffffff;
538946Sdlw #else	vax
54*29935Ssam #if	tahoe
55*29935Ssam 	n.j[0] = 0x7fffffffL;
56*29935Ssam 	n.j[1] = 0xffffffffL;
57*29935Ssam #else	tahoe
588946Sdlw 	UNKNOWN MACHINE!
59*29935Ssam #endif	tahoe
608946Sdlw #endif	vax
618946Sdlw #endif	pdp11
623558Sdlw 	return(n.d);
633558Sdlw }
643558Sdlw 
653558Sdlw float
663558Sdlw flmin_()
673558Sdlw {
683558Sdlw 	union fi n;
698946Sdlw #if	pdp11
703558Sdlw 	n.i = 0x00800000L;
718946Sdlw #else	pdp11
728946Sdlw #if	vax
733558Sdlw 	n.i = 0x00000080;
748946Sdlw #else	vax
75*29935Ssam #if	tahoe
76*29935Ssam 	n.i = 0x00800000L;
77*29935Ssam #else	tahoe
788946Sdlw 	UNKNOWN MACHINE!
79*29935Ssam #endif	tahoe
808946Sdlw #endif	vax
818946Sdlw #endif	pdp11
823558Sdlw 	return(n.f);
833558Sdlw }
843558Sdlw 
853558Sdlw double
863558Sdlw dflmin_()
873558Sdlw {
883558Sdlw 	union dj n;
898946Sdlw #if	pdp11
903558Sdlw 	n.j[0] = 0x00800000L;
913558Sdlw 	n.j[1] = 0;
928946Sdlw #else	pdp11
938946Sdlw #if	vax
943558Sdlw 	n.j[0] = 0x00000080;
953558Sdlw 	n.j[1] = 0;
968946Sdlw #else	vax
97*29935Ssam #if	tahoe
98*29935Ssam 	n.j[0] = 0x00800000L;
99*29935Ssam 	n.j[1] = 0;
100*29935Ssam #else	tahoe
1018946Sdlw 	UNKNOWN MACHINE!
102*29935Ssam #endif	tahoe
1038946Sdlw #endif	vax
1048946Sdlw #endif	pdp11
1053558Sdlw 	return(n.d);
1063558Sdlw }
1073558Sdlw 
1083558Sdlw long int
1093558Sdlw inmax_()
1103558Sdlw {
1118946Sdlw 	return(0x7fffffffL);
1123558Sdlw }
1133558Sdlw 
1148946Sdlw 
1158946Sdlw float
1168946Sdlw ffrac_()
1178946Sdlw {
1188946Sdlw 	union fi n;
1198946Sdlw #if	pdp11
1208946Sdlw 	n.i = 0x35000000L;
1218946Sdlw #else	pdp11
1228946Sdlw #if	vax
1238946Sdlw 	n.i = 0x00003500;
1248946Sdlw #else	vax
125*29935Ssam #if	tahoe
126*29935Ssam 	n.i = 0x35000000L;
127*29935Ssam #else	tahoe
1288946Sdlw 	UNKNOWN MACHINE!
129*29935Ssam #endif	tahoe
1308946Sdlw #endif	vax
1318946Sdlw #endif	pdp11
1328946Sdlw 	return(n.f);
1338946Sdlw }
1348946Sdlw 
1358946Sdlw double
1368946Sdlw dffrac_()
1378946Sdlw {
1388946Sdlw 	union dj n;
1398946Sdlw #if	pdp11
1408946Sdlw 	n.j[0] = 0x25000000L;
1418946Sdlw 	n.j[1] = 0;
1428946Sdlw #else	pdp11
1438946Sdlw #if	vax
1448946Sdlw 	n.j[0] = 0x00002500;
1458946Sdlw 	n.j[1] = 0;
1468946Sdlw #else	vax
147*29935Ssam #if	tahoe
148*29935Ssam 	n.j[0] = 0x25000000L;
149*29935Ssam 	n.j[1] = 0;
150*29935Ssam #else	tahoe
1518946Sdlw 	UNKNOWN MACHINE!
152*29935Ssam #endif	tahoe
1538946Sdlw #endif	vax
1548946Sdlw #endif	pdp11
1558946Sdlw 	return(n.d);
1568946Sdlw }
157