xref: /csrg-svn/usr.bin/f77/libF77/range.c (revision 3558)
1*3558Sdlw /*
2*3558Sdlw char id_range[] = "@(#)range.c	1.1";
3*3558Sdlw  *
4*3558Sdlw  * routines to return extreme values
5*3558Sdlw  * VERY MACHINE DEPENDENT
6*3558Sdlw  */
7*3558Sdlw 
8*3558Sdlw union fi
9*3558Sdlw {	float	f;
10*3558Sdlw 	long	i;
11*3558Sdlw } ;
12*3558Sdlw 
13*3558Sdlw union dj
14*3558Sdlw {	double	d;
15*3558Sdlw 	long	j[2];
16*3558Sdlw } ;
17*3558Sdlw 
18*3558Sdlw float
19*3558Sdlw flmax_()
20*3558Sdlw {
21*3558Sdlw 	union fi n;
22*3558Sdlw #ifdef	PDP11
23*3558Sdlw 	n.i = 0x7fffffffL;
24*3558Sdlw #endif
25*3558Sdlw #ifdef	VAX
26*3558Sdlw 	n.i = 0xffff7fff;
27*3558Sdlw #endif
28*3558Sdlw 	return(n.f);
29*3558Sdlw }
30*3558Sdlw 
31*3558Sdlw double
32*3558Sdlw dflmax_()
33*3558Sdlw {
34*3558Sdlw 	union dj n;
35*3558Sdlw #ifdef	PDP11
36*3558Sdlw 	n.j[0] = 0x7fffffffL;
37*3558Sdlw 	n.j[1] = 0xffffffffL;
38*3558Sdlw #endif
39*3558Sdlw #ifdef	VAX
40*3558Sdlw 	n.j[0] = 0xffff7fff;
41*3558Sdlw 	n.j[1] = 0xffffffff;
42*3558Sdlw #endif
43*3558Sdlw 	return(n.d);
44*3558Sdlw }
45*3558Sdlw 
46*3558Sdlw float
47*3558Sdlw flmin_()
48*3558Sdlw {
49*3558Sdlw 	union fi n;
50*3558Sdlw #ifdef	PDP11
51*3558Sdlw 	n.i = 0x00800000L;
52*3558Sdlw #endif
53*3558Sdlw #ifdef	VAX
54*3558Sdlw 	n.i = 0x00000080;
55*3558Sdlw #endif
56*3558Sdlw 	return(n.f);
57*3558Sdlw }
58*3558Sdlw 
59*3558Sdlw double
60*3558Sdlw dflmin_()
61*3558Sdlw {
62*3558Sdlw 	union dj n;
63*3558Sdlw #ifdef	PDP11
64*3558Sdlw 	n.j[0] = 0x00800000L;
65*3558Sdlw 	n.j[1] = 0;
66*3558Sdlw #endif
67*3558Sdlw #ifdef	VAX
68*3558Sdlw 	n.j[0] = 0x00000080;
69*3558Sdlw 	n.j[1] = 0;
70*3558Sdlw #endif
71*3558Sdlw 	return(n.d);
72*3558Sdlw }
73*3558Sdlw 
74*3558Sdlw long int
75*3558Sdlw inmax_()
76*3558Sdlw {
77*3558Sdlw 	return(0x7fffffff);
78*3558Sdlw }
79*3558Sdlw 
80