xref: /csrg-svn/usr.bin/f77/libF77/range.c (revision 23002)
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*23002Skre  *	@(#)range.c	5.2	06/07/85
7*23002Skre  *
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
328946Sdlw 	UNKNOWN MACHINE!
338946Sdlw #endif	vax
348946Sdlw #endif	pdp11
353558Sdlw 	return(n.f);
363558Sdlw }
373558Sdlw 
383558Sdlw double
393558Sdlw dflmax_()
403558Sdlw {
413558Sdlw 	union dj n;
428946Sdlw #if	pdp11
433558Sdlw 	n.j[0] = 0x7fffffffL;
443558Sdlw 	n.j[1] = 0xffffffffL;
458946Sdlw #else	pdp11
468946Sdlw #if	vax
473558Sdlw 	n.j[0] = 0xffff7fff;
483558Sdlw 	n.j[1] = 0xffffffff;
498946Sdlw #else	vax
508946Sdlw 	UNKNOWN MACHINE!
518946Sdlw #endif	vax
528946Sdlw #endif	pdp11
533558Sdlw 	return(n.d);
543558Sdlw }
553558Sdlw 
563558Sdlw float
573558Sdlw flmin_()
583558Sdlw {
593558Sdlw 	union fi n;
608946Sdlw #if	pdp11
613558Sdlw 	n.i = 0x00800000L;
628946Sdlw #else	pdp11
638946Sdlw #if	vax
643558Sdlw 	n.i = 0x00000080;
658946Sdlw #else	vax
668946Sdlw 	UNKNOWN MACHINE!
678946Sdlw #endif	vax
688946Sdlw #endif	pdp11
693558Sdlw 	return(n.f);
703558Sdlw }
713558Sdlw 
723558Sdlw double
733558Sdlw dflmin_()
743558Sdlw {
753558Sdlw 	union dj n;
768946Sdlw #if	pdp11
773558Sdlw 	n.j[0] = 0x00800000L;
783558Sdlw 	n.j[1] = 0;
798946Sdlw #else	pdp11
808946Sdlw #if	vax
813558Sdlw 	n.j[0] = 0x00000080;
823558Sdlw 	n.j[1] = 0;
838946Sdlw #else	vax
848946Sdlw 	UNKNOWN MACHINE!
858946Sdlw #endif	vax
868946Sdlw #endif	pdp11
873558Sdlw 	return(n.d);
883558Sdlw }
893558Sdlw 
903558Sdlw long int
913558Sdlw inmax_()
923558Sdlw {
938946Sdlw 	return(0x7fffffffL);
943558Sdlw }
953558Sdlw 
968946Sdlw 
978946Sdlw float
988946Sdlw ffrac_()
998946Sdlw {
1008946Sdlw 	union fi n;
1018946Sdlw #if	pdp11
1028946Sdlw 	n.i = 0x35000000L;
1038946Sdlw #else	pdp11
1048946Sdlw #if	vax
1058946Sdlw 	n.i = 0x00003500;
1068946Sdlw #else	vax
1078946Sdlw 	UNKNOWN MACHINE!
1088946Sdlw #endif	vax
1098946Sdlw #endif	pdp11
1108946Sdlw 	return(n.f);
1118946Sdlw }
1128946Sdlw 
1138946Sdlw double
1148946Sdlw dffrac_()
1158946Sdlw {
1168946Sdlw 	union dj n;
1178946Sdlw #if	pdp11
1188946Sdlw 	n.j[0] = 0x25000000L;
1198946Sdlw 	n.j[1] = 0;
1208946Sdlw #else	pdp11
1218946Sdlw #if	vax
1228946Sdlw 	n.j[0] = 0x00002500;
1238946Sdlw 	n.j[1] = 0;
1248946Sdlw #else	vax
1258946Sdlw 	UNKNOWN MACHINE!
1268946Sdlw #endif	vax
1278946Sdlw #endif	pdp11
1288946Sdlw 	return(n.d);
1298946Sdlw }
130