aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/ncarutil/tests/dashsuprt.f
blob: f35c9c8b68d6943d25f83eba52bc777e20051aea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
SUBROUTINE TDASHP	(IERROR)
C
C LATEST REVISION	 JUNE 1984
C
C PURPOSE		 TO PROVIDE A DEMONSTRATION OF DASHSUPR
C			 AND TO	TEST DASHSUPR ON A SIMPLE PROBLEM
C
C USAGE			 CALL TDASHP (IERROR)
C
C ARGUMENTS
C
C ON OUTPUT		 IERROR
C			   AN INTEGER VARIABLE
C			   = 0,	IF THE TEST IS SUCCESSFUL,
C			   = 1,	OTHERWISE
C
C I/O			 IF THE	TEST IS	SUCCESSFUL, THE	MESSAGE
C
C			   DASHSUPR TEST SUCCESSFUL  . . .  SEE	PLOT
C			   TO VERIFY PERFORMANCE
C
C			 IS PRINTED ON UNIT 6.
C
C			 IN ADDITION, ONE FRAME	CONTAINING THE
C			 DASHED	LINE PLOT IS PRODUCED ON THE
C			 MACHINE GRAPHICS DEVICE.  TO DETERMINE
C			 IF THE	TEST IS	SUCCESSFUL, IT IS NECESSARY
C			 TO EXAMINE THIS PLOT.
C
C PRECISION		 SINGLE
C
C REQUIRED LIBRARY	 DASHSUPR
C FILES
C
C LANGUAGE		 FORTRAN
C
C ALGORITHM		 TDASHP	UTILIZES THE SOFTWARE DASHSUPR
C			 SUBROUTINES DASHDB, DASHDC, FRSTD,
C			 VECTD,	LASTD, LINED AND CURVED	TO
C			 DRAW FIVE CURVES ON ONE PICTURE USING
C			 FIVE DIFFERENT	DASHSMTH PATTERNS.  EACH
C			 CURVE IS CENTERED ABOUT SOLID AXIS LINES AND
C			 LABELLED WITH THE CHARACTER REPRESENTATION OF
C			 THE DASHSUPR PATTERN USED.
C
C PORTABILITY		 FORTRAN 77
C
C X CONTAINS ABSCISSAE VALUES OF THE CURVE TO BE PLOTTED, Y CONTAINS
C ORDINATE VALUES OF THE CURVE TO BE PLOTTED.
C
      DIMENSION	      X(31)	 ,Y(31)
C
C SELECT NORMALIZATION TRANSFORMATION 0
C
      CALL GSELNT(0)
C
C RESET	 INITIALIZES THE MODEL PICTURE ARRAY AND SHOULD	BE CALLED WITH
C EACH NEW FRAME AND BEFORE THE	OTHER SUBROUTINES OF THE DASHSUPR
C PACKAGE.
C
      CALL RESET
C
C
C SET SOLID DASH PATTERN,  1111111111111111 (BINARY).
C BOOLEAN OPERATIONS (EMPLOYING	LOCALLY	IMPLEMENTED PLOT PACKAGE
C SUPPORT ROUTINES) ARE	USED FOR PORTABILITY TO	HOSTS WITH 16 BIT
C INTEGERS.
C
      ISOLID = IOR (ISHIFT (32767,1), 1)
C
      DO 130 K=1,5
	 CALL DASHDB (ISOLID)
	 ORG =1.07-0.195*K
C
C	DRAW CENTRAL AXIS FOR EACH CURVE
C
	 CALL FRSTD (.50,ORG-0.03)
	 CALL VECTD (.50,ORG+0.03)
	 CALL LASTD
	 CALL LINED (.109,ORG,.891,ORG)
C
C CALL SUBROUTINE DASHDC WITH A	DIFFERENT DASHED LINE AND CHARACTER
C COMBINATION FOR EACH OF FIVE CURVES
C
	 GO TO ( 10, 20, 30, 40, 50),K
   10	 CALL DASHDC ('$''$''$''$''$''$''$''$K = 1',10,12)
	 GO TO	60
   20	 CALL DASHDC ('$$$$$$''$''$$$$$$K = 2',10,12)
	 GO TO	60
   30	 CALL DASHDC ('$$$$''$$$$''$$$$''K = 3',10,12)
	 GO TO	60
   40	 CALL DASHDC ('$$$$$''''''''''$$$$$K = 4',10,12)
	 GO TO	60
   50	 CALL DASHDC ('$$$''$$$''$$$''$$$K = 5',10,12)
   60	 CONTINUE
C
C	COMPUTE	VALUES FOR AND DRAW THE	KTH CURVE
C
	 DO  70	I=1,31
	    THETA = FLOAT(I-1)*3.1415926535897932/15.
	    X(I) = 0.5+.4*COS(THETA)
	    Y(I) = ORG+.075*SIN(FLOAT(K)*THETA)
   70	 CONTINUE
	 CALL CURVED (X,Y,31)
C
C	LABEL EACH CURVE WITH THE APPROPRIATE CHARACTER	REPRESENTATION
C	OF THE DASHSMTH	PATTERN.  IN THE PATTERN LABELS, A AND D
C	SHOULD BE INTERPRETED AS APOSTROPHE AND	DOLLAR SIGN.
C
C
C	SET TEXT ALIGNMENT TO CENTER THE STRING	AT THE LEFT OF THE
C	STRING AND IN THE VERTICAL CENTER
C
	CALL GSTXAL(1,3)
C
C	SET CHARACTER HEIGHT
C
	 CALL GSCHH(.012)
C
	 ORY = ORG+.089
	 GO TO ( 80, 90,100,110,120),K
   80	 CALL GTX(.1,ORY,'IPAT=DADADADADADADADK=1')
	 GO TO 130
   90	 CALL GTX(.1,ORY,'IPAT=DDDDDDADADDDDDDK=2')
	 GO TO 130
  100	 CALL GTX(.1,ORY,'IPAT=DDDDADDDDADDDDAK=3')
	 GO TO 130
  110	 CALL GTX(.1,ORY,'IPAT=DDDDDAAAAADDDDDK=4')
	 GO TO 130
  120	 CALL GTX(.1,ORY,'IPAT=DDDADDDADDDADDDK=5')
C
  130 CONTINUE
C
      CALL GSTXAL(2,3)
      CALL GTX (.5,.991,'DEMONSTRATION PLOT FOR	DASHSUPR')
      CALL GTX (.5,.013,'IN IPAT STRINGS, A AND	D SHOULD BE INTERPRETED
     1AS APOSTROPHE AND	DOLLAR SIGN')
C
C ADVANCE FRAME
C
      CALL NEWFM
C
      IERROR = 0
      WRITE (6,1001)
C
      RETURN
C
 1001 FORMAT ('	  DASHSUPR TEST	SUCCESSFUL',24X,
     1	      'SEE PLOT	TO VERIFY PERFORMANCE')
C
      END