aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/ncarutil/tests/dashchart.f
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /sys/gio/ncarutil/tests/dashchart.f
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'sys/gio/ncarutil/tests/dashchart.f')
-rw-r--r--sys/gio/ncarutil/tests/dashchart.f145
1 files changed, 145 insertions, 0 deletions
diff --git a/sys/gio/ncarutil/tests/dashchart.f b/sys/gio/ncarutil/tests/dashchart.f
new file mode 100644
index 00000000..fa583b84
--- /dev/null
+++ b/sys/gio/ncarutil/tests/dashchart.f
@@ -0,0 +1,145 @@
+ SUBROUTINE TDASHC (IERROR)
+C
+C LATEST REVISION MAY 1984
+C
+C PURPOSE TO PROVIDE A DEMONSTRATION OF DASHCHAR
+C AND TO TEST DASHCHAR ON A SIMPLE PROBLEM
+C
+C USAGE CALL TDASHC (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 DASHCHAR 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 DASHCHAR
+C FILES
+C
+C LANGUAGE FORTRAN
+C
+C ALGORITHM TDASHC UTILIZES THE SOFTWARE DASHCHAR
+C SUBROUTINES DASHDB, DASHDC, FRSTD, VECTD,
+C LINED AND CURVED TO DRAW FIVE CURVES ON ONE
+C PICTURE USING FIVE DIFFERENT DASHCHAR
+C PATTERNS. EACH CURVE IS CENTERED ABOUT
+C SOLID AXIS LINES AND LABELLED WITH THE
+C CHARACTER REPRESENTATION OF THE DASHCHAR
+C 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 SET SOLID DASH PATTERN, 1111111111111111 (BINARY).
+C BOOLEAN OPERATIONS (EMPLOYING LOCALLY-IMPLEMENTED SUPPORT
+C 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 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 DASHCHAR PATTERN. IN THE PATTERN LABELS, A AND D
+C SHOULD BE INTERPRETED AS APOSTROPHE AND DOLLAR SIGN.
+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 DASHCHAR')
+ CALL GTX (.5,.015,'IN IPAT STRINGS, A AND D SHOULD BE INTERPRETED
+ 1AS APOSTROPHE AND DOLLAR SIGN')
+C
+C ADVANCE FRAME
+C
+c + noao: no need for clearing terminal
+c CALL NEWFM
+c - noao
+C
+ IERROR = 0
+C WRITE (6,1001)
+C
+ RETURN
+C
+C
+C1001 FORMAT (' DASHCHAR TEST SUCCESSFUL',24X,
+C 1 'SEE PLOT TO VERIFY PERFORMANCE')
+C
+ END