1c     program DRDTCST
2c>> 1996-06-05 DRDTCST Krogh Fixes for conversion to C.
3c>> 1996-05-28 DRDTCST Krogh Moved formats up.
4c>> 1994-10-19 DRDTCST Krogh  Changes to use M77CON
5c>> 1994-08-09 DRDTCST WVS Remove '0' from format
6c>> 1992-04-22 DRDTCST CAO commented program statement
7c>> 1989-05-08 DRDTCST FTK, CLL
8c>> 1989-05-04 DRDTCST FTK, CLL
9c Driver to demonstrate DTCST
10c     ------------------------------------------------------------------
11c--D replaces "?": DR?TCST, ?TCST
12c     ------------------------------------------------------------------
13      double precision F(65), S(32), T, TTIME
14      double precision DELTAT, DELTAO, OMEGA, FTRUE, SIN1,COS1
15      double precision PI, ZERO, ONE
16      integer    K, KSKIP, M, MS, N, ND, MA(1)
17      parameter (M = 6)
18c      parameter (N = 2 ** M + 1)
19      parameter (N = 65)
20      parameter (ND = 1)
21      parameter (KSKIP = 10)
22      parameter (PI = 3.1415926535897932384D0)
23      parameter (ZERO = 0.D0)
24      parameter (ONE = 1.D0)
25      data TTIME / 10.D0 /
26      data MA / M /
27 1000 format (/'  K', 4X, 'OMEGA', 8X, 'COMPUTED', 9X, 'TRUE')
28 1001 format (1X, I3, 1P,E13.5, 2E15.7)
29c     ------------------------------------------------------------------
30      SIN1 = SIN (ONE)
31      COS1 = COS (ONE)
32      DELTAT = TTIME / DBLE(N - 1)
33      DELTAO = DBLE(KSKIP) * (PI / TTIME)
34      T = ZERO
35c                 Compute (TTIME / 2 ) * F(T)
36      F(1) = TTIME / PI
37      do 10 K = 2, N
38         T = T + DELTAT
39         F(K) = TTIME * SINH(T) / SINH(PI * T)
40   10 continue
41c
42      MS = 0
43      call DTCST (F, 'C', 'A', MA, ND, MS, S)
44c
45      OMEGA = ZERO
46      write (*, 1000)
47      do 20 K = 1, N, KSKIP
48         FTRUE = SIN1 / (COSH(OMEGA) + COS1)
49         write (*, 1001) K, OMEGA, F(K), FTRUE
50         OMEGA = OMEGA + DELTAO
51   20 continue
52      stop
53      end
54