xref: /original-bsd/usr.bin/f77/libF77/test/fpetst.f (revision eafa6506)
1	program fpetst
2	character arg
3	logical flag
4	common /fpeflt/ flag
5
6	call trpfpe(1, 1.2345d0)
7	call traper(3)
8	i = 10
9	j = 0
10	x = 10.
11	y = 0.
12
13	write (*,*)
14	call getarg (1, arg)
15	if (arg .eq. '1') then
16		write(*,*) 'testing integer overflow, flag=', flag
17		k = inmax() + 10
18		write (*,*) 'k=', k, 'flag=', flag
19		stop('returned')
20	else if (arg .eq. '2') then
21		write(*,*) 'testing integer divide by 0, flag=', flag
22		k = i / j
23		write (*,*) 'k=', k, 'flag=', flag
24		stop('returned')
25	else if (arg .eq. '3') then
26		write(*,*) 'testing floating overflow, flag=', flag
27		z = flmax() * 10.
28		write(*,*) 'z=', z, 'flag=', flag
29		stop('returned')
30	else if (arg .eq. '4') then
31		write(*,*) 'testing floating divide by 0, flag=', flag
32		z = x / y
33		write(*,*) 'z=', z, 'flag=', flag
34		stop('returned')
35	else if (arg .eq. '5') then
36		write(*,*) 'testing floating underflow, flag=', flag
37		z = flmin() / 10.
38		write(*,*) 'z=', z, 'flag=', flag
39		stop('returned')
40	endif
41	write(*,*) 'what??'
42	end
43