1 /*  -- translated by f2c (version 20100827).
2    You must link the resulting object file with libf2c:
3 	on Microsoft Windows system, link with libf2c.lib;
4 	on Linux or Unix systems, link with .../path/to/libf2c.a -lm
5 	or, if you install libf2c.a in a standard place, with -lf2c -lm
6 	-- in that order, at the end of the command line, as in
7 		cc *.o -lf2c -lm
8 	Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
9 
10 		http://www.netlib.org/f2c/libf2c.zip
11 */
12 
13 #include "libtinyf2c.h"
14 
15 /* Table of constant values */
16 
17 static integer c__31 = 31;
18 static integer c__1 = 1;
19 
20 /* ----------------------------------------------------------------------- */
21 /*     PRESISION OF REAL VARIABLE                             (94/09/17) */
22 /* ----------------------------------------------------------------------- */
23 /*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved. */
24 /* ----------------------------------------------------------------------- */
MAIN__(void)25 /* Main program */ int MAIN__(void)
26 {
27     /* System generated locals */
28     real r__1;
29 
30     /* Builtin functions */
31     double atan(doublereal), sin(doublereal);
32     integer s_wsfe(cilist *), do_fio(integer *, char *, ftnlen), e_wsfe(void);
33     /* Subroutine */ int s_stop(char *, ftnlen);
34 
35     /* Local variables */
36     static integer i__, i0, i1;
37     static real s0, s1, pi, th, eps;
38     static integer iou;
39     static real emin, emax, delta;
40     extern /* Subroutine */ int sbyte_(real *, integer *, integer *, integer *
41 	    ), gliget_(char *, integer *, ftnlen);
42 
43     /* Fortran I/O blocks */
44     static cilist io___13 = { 0, 0, 0, "(A,1P,E10.3)", 0 };
45 
46 
47     pi = atan(1.f) * 4;
48     emin = 1.f;
49     emax = 0.f;
50     for (i__ = 1; i__ <= 179; ++i__) {
51 	th = pi / 180 * i__;
52 	s0 = sin(th);
53 	s1 = s0;
54 	i0 = 0;
55 	i1 = 1;
56 	sbyte_(&s0, &i0, &c__31, &c__1);
57 	sbyte_(&s1, &i1, &c__31, &c__1);
58 	delta = s1 - s0;
59 	eps = (r__1 = delta / s1, abs(r__1));
60 	emax = max(eps,emax);
61 	emin = min(eps,emin);
62 /* L100: */
63     }
64     gliget_("IOUNIT", &iou, (ftnlen)6);
65 /*     WRITE(IOU,*) ' MAX ERROR = ',EMAX */
66 /*     WRITE(IOU,*) ' MIN ERROR = ',EMIN */
67     io___13.ciunit = iou;
68     s_wsfe(&io___13);
69     do_fio(&c__1, "< REPSL > IN GLPGET/GLPSET SHOULD BE ", (ftnlen)37);
70     r__1 = emax * 10;
71     do_fio(&c__1, (char *)&r__1, (ftnlen)sizeof(real));
72     e_wsfe();
73     s_stop("", (ftnlen)0);
74     return 0;
75 } /* MAIN__ */
76 
repsl_()77 /* Main program alias */ int repsl_ () { MAIN__ (); return 0; }
78