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
|
SUBROUTINE ZHAFTO (IERROR)
C
C LATEST REVISION JULY, 1984
C
C PURPOSE TO PROVIDE A SIMPLE DEMONSTRATION OF
C EZHAFTON AND TO TEST HAFTON ON A SINGLE
C PROBLEM
C
C USAGE CALL ZHAFTO (IERROR)
C
C ARGUMENTS
C
C ON OUTPUT IERROR
C AN INTEGER VARIABLE
C = 0, IF THE TEST WAS SUCCESSFUL,
C = 1, OTHERWISE
C
C I/O IF THE TEST IS SUCCESSFUL, THE MESSAGE
C
C HAFTON TEST SUCCESSFUL . . . SEE PLOT TO
C VERIFY PERFORMANCE
C
C IS PRINTED ON UNIT 6.
C IN ADDITION, TWO FRAMES CONTAINING THE
C HALF-TONE PLOT ARE PRODUCED ON THE MACHINE
C GRAPHICS DEVICE. IN ORDER TO DETERMINE IF THE
C TEST WAS SUCCESSFUL, IT IS NECESSARY TO EXAMINE
C THESE PLOTS.
C
C PRECISION SINGLE
C
C REQUIRED LIBRARY HAFTON
C FILES
C
C LANGUAGE ANSI FORTRAN 77
C
C ALGORITHM THE FUNCTION
C Z(X,Y) = X + Y + 1./((X-.1)**2+Y**2+.09)
C -1./((X+.1)**2+Y**2+.09)
C FOR X = -1. TO +1. IN INCREMENTS OF .1 AND
C Y = -1.2 TO +1.2 IN INCREMENTS OF .1
C IS COMPUTED.
C THAFTO CALLS SUBROUTINES EZHFTN AND HAFTON TO
C DRAW TWO HALF-TONE PLOTS OF THE ARRAY Z.
C
C PORTABILITY ANSI STANDARD
C
C
C Z CONTAINS THE VALUES TO BE PLOTTED.
C
C
REAL Z(21,25)
C
C SPECIFY COORDINATES FOR PLOT TITLES. ON AN ABSTRACT GRID WHERE
C THE COORDINATES RANGE FROM 0.0 TO 1.0, THE VALUES TX AND TY
C DEFINE THE CENTER OF THE LEFT EDGE OF THE TITLE STRING.
C
DATA TX/0.0762/, TY/0.9769/
C
C SPECIFY SOME ARGUMENT VALUES FOR ROUTINE HAFTON.
C FLO CONTAINS THE LOW VALUE DESIGNATION FOR HAFTON, FHI
C CONTAINS THE HIGH VALUE DESIGNATION FOR HAFTON, NLEV
C SPECIFIES THE NUMBER OF UNIQUE LEVELS BETWEEN FLO AND FHI, THE
C ABSOLUTE VALUE OF NOPT DETERMINES THE MAPPING OF Z ONTO THE
C INTENSITIES, AND THE SIGN OF NOPT CONTROLS THE DIRECTNESS OR
C INVERSNESS OF THE MAPPING.
C
DATA FLO/-4.0/, FHI/4.0/, NLEV/8/, NOPT/-3/
C
C
SAVE
C
C INITIALIZE ERROR PARAMETER
C
IERROR = 0
C
C FILL TWO DIMENSIONAL ARRAY TO BE PLOTTED
C
DO 20 I=1,21
X = .1*FLOAT(I-11)
DO 10 J=1,25
Y = .1*FLOAT(J-13)
Z(I,J) = X+Y+1./((X-.10)**2+Y**2+.09)-
1 1./((X+.10)**2+Y**2+.09)
10 CONTINUE
20 CONTINUE
C
C SELECT NORMALIZATION TRANS 0 FOR PLOTTING TITLE
C
CALL GSELNT (0)
C
C
C
C ENTRY EZHFTN REQUIRES ONLY THE ARRAY NAME AND ITS DIMENSIONS
C
C THE TITLE FOR THIS PLOT IS
C
C DEMONSTRATION PLOT FOR ENTRY EZHFTN OF HAFTON
C
CALL WTSTR (TX,TY,
1 'DEMONSTRATION PLOT FOR ENTRY EZHFTN OF HAFTON',2,0,-1)
CALL EZHFTN (Z,21,25)
C
C ENTRY HAFTON ALLOWS USER SPECIFICATIONS OF PLOT PARAMETERS, IF DESIRED
C
C THE TITLE FOR THIS PLOT IS
C
C DEMONSTRATION PLOT FOR ENTRY HAFTON OF HAFTON
C
c CALL GSELNT (0)
c CALL WTSTR (TX,TY,
c 1 'DEMONSTRATION PLOT FOR ENTRY HAFTON OF HAFTON',2,0,-1)
c CALL HAFTON (Z,21,21,25,FLO,FHI,NLEV,NOPT,0,0,0.)
c CALL NEWFM
C
c WRITE (6,1001)
RETURN
C
C
c1001 FORMAT (' HAFTON TEST SUCCESSFUL',24X,
c 1 'SEE PLOT TO VERIFY PERFORMANCE')
C
END
|