h40816
s 00016/00011/00064
d D 1.2 83/01/28 13:53:48 tes 2 1
c initial_internal_update
e
s 00075/00000/00000
d D 1.1 83/01/28 13:02:47 tes 1 0
c date and time created 83/01/28 13:02:47 by tes
e
u
tes
mjb
mrk
mmm
U
t
T
I 1
subroutine gpisrf (count, xdata, ydata)
########################################################################
#                                                                      #
#          THIS MATERIAL IS CONFIDENTIAL AND IS FURNISHED UNDER        #
#          A WRITTEN LICENSE AGREEMENT.  IT MAY NOT BE USED,           #
#          COPIED OR DISCLOSED TO OTHERS EXCEPT IN ACCORDANCE          #
#          WITH THE TERMS OF THAT AGREEMENT.                           #
#                                                                      #
#          COPYRIGHT (C) 1982 GRAPHIC SOFTWARE SYSTEMS INC.            #
#          ALL RIGHTS RESERVED.                                        #
#                                                                      #
#     Function: initialize the plotting surface                        #
#                                                                      #
#     Input Parameters:                                                #
#            count - number of data points                             #
#            xdata - array of x coordinate data                        #
#            ydata - array of y coordinate data                        #
#                                                                      #
#     Output Parameters:                                               #
#            none                                                      #
#                                                                      #
#     Routines Called:                                                 #
#                                                                      #
########################################################################
integer count
real xdata(1), ydata(1)
integer xaxst, yaxst, xrngst, yrngst
D 2
real xstrt, xend, ystrt, yend, zxstrt, zxend, zystrt, zyend
E 2
I 2
real zxstrt, zxend, zystrt, zyend, gtreal 
E 2

D 2
PLOTxREALS PLOTxGETREAL
E 2
I 2
# Set aside four eight byte areas for real number conversions on CP/M
ifdef(`F80',`
integer*1 xstrt(8), xend(8), ystrt(8), yend(8)
',`
real xstrt, xend, ystrt, yend
')
E 2
 
include(`pltcom')
 
#  In order to reduce code size the following equivalences were made:
#       xrngst = nrstat(1)
#       yrngst = nrstat(2)
#       xaxst  = naxsts(1)
#       yaxst  = naxsts(2)
#       zxstrt = zrstrt(1)
#       zxend  = zrend(1)
#       zystrt = zrstrt(2)
#       zyend  = zrend(2)
equivalence (nrstat(1), xrngst), (nrstat(2), yrngst),
           (naxsts(1), xaxst), (naxsts(2), yaxst),
           (zxstrt, zrstrt(1)), (zxend, zrend(1)),
           (zystrt, zrstrt(2)), (zyend, zrend(2))
D 2
 
E 2
I 2

E 2
DxB write (DEBUGxUNIT, 100) count, xdata(1), ydata(1)
DxB 100 format (' gpisrf:', i5, 2f10.5)
 
   if (xrngst == 0) {
      call minmax (count, xdata, xstrt, xend)
D 2
      zxstrt = PLOTxGETREAL(xstrt)
      zxend = PLOTxGETREAL(xend)
E 2
I 2
      zxstrt = gtreal (xstrt, 0)
      zxend = gtreal (xend, 0)
E 2
      xrngst = 1
      }
   if (yrngst == 0) {
      call minmax (count, ydata, ystrt, yend)
D 2
      zystrt = PLOTxGETREAL(ystrt)
      zyend = PLOTxGETREAL(yend)
E 2
I 2
      zystrt = gtreal (ystrt, 0)
      zyend = gtreal (yend, 0)
E 2
      yrngst = 1
      }
   if (xaxst == 0) {
D 2
      PLOTxPUTREAL(zxstrt,xstrt)
      PLOTxPUTREAL(zxend,xend)
E 2
I 2
      call ptreal (zxstrt, 0, xstrt)
      call ptreal (zxend, 0, xend)
E 2
      call xaxlin (xstrt, xend, 3, 1)
      }
   if (yaxst == 0) {
D 2
      PLOTxPUTREAL(zystrt,ystrt)
      PLOTxPUTREAL(zyend,yend)
E 2
I 2
      call ptreal (zystrt, 0, ystrt)
      call ptreal (zyend, 0, yend)
E 2
      call yaxlin (ystrt, yend, 3, 1)
      }
 
   return
end
E 1
