home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / maths / plplot / plplot_2 / src / stubf / sfstubs.f < prev    next >
Encoding:
Text File  |  1994-07-29  |  14.2 KB  |  523 lines

  1. !***********************************************************************
  2. !
  3. !  sfstubs.f
  4. !
  5. !  This file contains all the fortran stub routines.
  6. !  REAL variables correspond to: real*4
  7. !
  8. !***********************************************************************
  9.  
  10.     subroutine plsdev(dnam)
  11.  
  12.         implicit character(a-z)
  13.     character*(*) dnam
  14.         
  15.     integer maxlen
  16.     parameter (maxlen = 320)
  17.     character*(maxlen) string1, string2, string3
  18.     character*(maxlen) string4, string5, string6
  19.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  20.     equivalence ( s1, string1 ), ( s2, string2 )
  21.     equivalence ( s3, string3 ), ( s4, string4 )
  22.     equivalence ( s5, string5 ), ( s6, string6 )
  23.     common /zzplstr1/ string1
  24.     common /zzplstr2/ string2
  25.     common /zzplstr3/ string3
  26.     common /zzplstr4/ string4
  27.     common /zzplstr5/ string5
  28.     common /zzplstr6/ string6
  29.  
  30.  
  31.     call plstrf2c(dnam, string1, maxlen)
  32.     call plsdev7(s1)
  33.  
  34.     end
  35.  
  36. !***********************************************************************
  37.  
  38.     subroutine plsfnam(fnam)
  39.  
  40.         implicit character(a-z)
  41.     character*(*) fnam
  42.         
  43.     integer maxlen
  44.     parameter (maxlen = 320)
  45.     character*(maxlen) string1, string2, string3
  46.     character*(maxlen) string4, string5, string6
  47.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  48.     equivalence ( s1, string1 ), ( s2, string2 )
  49.     equivalence ( s3, string3 ), ( s4, string4 )
  50.     equivalence ( s5, string5 ), ( s6, string6 )
  51.     common /zzplstr1/ string1
  52.     common /zzplstr2/ string2
  53.     common /zzplstr3/ string3
  54.     common /zzplstr4/ string4
  55.     common /zzplstr5/ string5
  56.     common /zzplstr6/ string6
  57.  
  58.  
  59.     call plstrf2c(fnam, string1, maxlen)
  60.     call plsfnam7(s1)
  61.  
  62.     end
  63.  
  64. !***********************************************************************
  65.  
  66.     subroutine plgfnam(fnam)
  67.  
  68.         implicit character(a-z)
  69.     character*(*) fnam
  70.         
  71.     integer maxlen
  72.     parameter (maxlen = 320)
  73.     character*(maxlen) string1, string2, string3
  74.     character*(maxlen) string4, string5, string6
  75.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  76.     equivalence ( s1, string1 ), ( s2, string2 )
  77.     equivalence ( s3, string3 ), ( s4, string4 )
  78.     equivalence ( s5, string5 ), ( s6, string6 )
  79.     common /zzplstr1/ string1
  80.     common /zzplstr2/ string2
  81.     common /zzplstr3/ string3
  82.     common /zzplstr4/ string4
  83.     common /zzplstr5/ string5
  84.     common /zzplstr6/ string6
  85.  
  86.  
  87.     call plgfnam7(string1)
  88.         call plstrc2f(string1, fnam)
  89.  
  90.     end
  91.  
  92. !***********************************************************************
  93.  
  94.     subroutine plgver(ver)
  95.  
  96.         implicit character(a-z)
  97.     character*(*) ver
  98.         
  99.     integer maxlen
  100.     parameter (maxlen = 320)
  101.     character*(maxlen) string1, string2, string3
  102.     character*(maxlen) string4, string5, string6
  103.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  104.     equivalence ( s1, string1 ), ( s2, string2 )
  105.     equivalence ( s3, string3 ), ( s4, string4 )
  106.     equivalence ( s5, string5 ), ( s6, string6 )
  107.     common /zzplstr1/ string1
  108.     common /zzplstr2/ string2
  109.     common /zzplstr3/ string3
  110.     common /zzplstr4/ string4
  111.     common /zzplstr5/ string5
  112.     common /zzplstr6/ string6
  113.  
  114.  
  115.     call plgver7(s1)
  116.         call plstrc2f(string1, ver)
  117.  
  118.     end
  119.  
  120. !***********************************************************************
  121.  
  122.     subroutine plaxes(x0,y0,xopt,xtick,nxsub,yopt,ytick,nysub)
  123.  
  124.         implicit character(a-z)
  125.     real*4 x0, y0, xtick, ytick
  126.     integer nxsub, nysub
  127.     character*(*) xopt,yopt
  128.         
  129.     integer maxlen
  130.     parameter (maxlen = 320)
  131.     character*(maxlen) string1, string2, string3
  132.     character*(maxlen) string4, string5, string6
  133.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  134.     equivalence ( s1, string1 ), ( s2, string2 )
  135.     equivalence ( s3, string3 ), ( s4, string4 )
  136.     equivalence ( s5, string5 ), ( s6, string6 )
  137.     common /zzplstr1/ string1
  138.     common /zzplstr2/ string2
  139.     common /zzplstr3/ string3
  140.     common /zzplstr4/ string4
  141.     common /zzplstr5/ string5
  142.     common /zzplstr6/ string6
  143.  
  144.  
  145.     call plstrf2c(xopt, string1, maxlen)
  146.     call plstrf2c(yopt, string2, maxlen)
  147.  
  148.     call plaxes7(x0,y0,s1,xtick,nxsub,s2,ytick,nysub)
  149.  
  150.     end
  151.  
  152. !***********************************************************************
  153.  
  154.     subroutine plbox(xopt,xtick,nxsub,yopt,ytick,nysub)
  155.  
  156.         implicit character(a-z)
  157.     real*4 xtick, ytick
  158.     integer nxsub, nysub
  159.     character*(*) xopt,yopt
  160.         
  161.     integer maxlen
  162.     parameter (maxlen = 320)
  163.     character*(maxlen) string1, string2, string3
  164.     character*(maxlen) string4, string5, string6
  165.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  166.     equivalence ( s1, string1 ), ( s2, string2 )
  167.     equivalence ( s3, string3 ), ( s4, string4 )
  168.     equivalence ( s5, string5 ), ( s6, string6 )
  169.     common /zzplstr1/ string1
  170.     common /zzplstr2/ string2
  171.     common /zzplstr3/ string3
  172.     common /zzplstr4/ string4
  173.     common /zzplstr5/ string5
  174.     common /zzplstr6/ string6
  175.  
  176.  
  177.     call plstrf2c(xopt, string1, maxlen)
  178.     call plstrf2c(yopt, string2, maxlen)
  179.  
  180.     call plbox7(s1,xtick,nxsub,s2,ytick,nysub)
  181.  
  182.     end
  183.  
  184. !***********************************************************************
  185.  
  186.     subroutine plbox3(xopt,xlabel,xtick,nxsub,yopt,ylabel,ytick,nysub,
  187.      &            zopt,zlabel,ztick,nzsub)
  188.  
  189.         implicit character(a-z)
  190.     real*4 xtick, ytick, ztick
  191.     character*(*) xopt,xlabel,yopt,ylabel,zopt,zlabel
  192.     integer nxsub, nysub, nzsub
  193.         
  194.     integer maxlen
  195.     parameter (maxlen = 320)
  196.     character*(maxlen) string1, string2, string3
  197.     character*(maxlen) string4, string5, string6
  198.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  199.     equivalence ( s1, string1 ), ( s2, string2 )
  200.     equivalence ( s3, string3 ), ( s4, string4 )
  201.     equivalence ( s5, string5 ), ( s6, string6 )
  202.     common /zzplstr1/ string1
  203.     common /zzplstr2/ string2
  204.     common /zzplstr3/ string3
  205.     common /zzplstr4/ string4
  206.     common /zzplstr5/ string5
  207.     common /zzplstr6/ string6
  208.  
  209.  
  210.     call plstrf2c(xopt, string1, maxlen)
  211.     call plstrf2c(xlabel, string2, maxlen)
  212.     call plstrf2c(yopt, string3, maxlen)
  213.     call plstrf2c(ylabel, string4, maxlen)
  214.     call plstrf2c(zopt, string5, maxlen)
  215.     call plstrf2c(zlabel, string6, maxlen)
  216.  
  217.     call plbox37(s1,s2,xtick,nxsub,
  218.      &               s3,s4,ytick,nysub,
  219.      &               s5,s6,ztick,nzsub)
  220.  
  221.     end
  222.  
  223. !***********************************************************************
  224.  
  225.     subroutine plcon0(z,nx,ny,kx,lx,ky,ly,clevel,nlevel)
  226.  
  227.         implicit character(a-z)
  228.     integer nx, ny, kx, lx, ky, ly, nlevel
  229.     real*4 z(nx, ny), clevel(nlevel)
  230.  
  231.     call plcon07(z,nx,ny,kx,lx,ky,ly,clevel,nlevel)
  232.  
  233.     end
  234.  
  235. !***********************************************************************
  236.  
  237.     subroutine plcon1(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  238.  
  239.         implicit character(a-z)
  240.     integer nx, ny, kx, lx, ky, ly, nlevel
  241.     real*4 z(nx, ny), xg(nx), yg(ny), clevel(nlevel)
  242.  
  243.     call plcon17(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  244.  
  245.     end
  246.  
  247. !***********************************************************************
  248.  
  249.     subroutine plcon2(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  250.  
  251.         implicit character(a-z)
  252.     integer nx, ny, kx, lx, ky, ly, nlevel
  253.     real*4 z(nx, ny), xg(nx, ny), yg(nx, ny), clevel(nlevel)
  254.  
  255.     call plcon27(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,xg,yg)
  256.  
  257.     end
  258.  
  259. !***********************************************************************
  260.  
  261.     subroutine plcont(z,nx,ny,kx,lx,ky,ly,clevel,nlevel)
  262.  
  263.         implicit character(a-z)
  264.     integer nx, ny, kx, lx, ky, ly, nlevel
  265.     real*4 z(nx, ny), clevel(nlevel)
  266.     real*4 tr(6)
  267.     common /plplot/ tr
  268.  
  269.     call plcont7(z,nx,ny,kx,lx,ky,ly,clevel,nlevel,tr)
  270.  
  271.     end
  272.  
  273. !***********************************************************************
  274.  
  275.     subroutine plshade0(z, nx, ny, defined, 
  276.      &       xmin, xmax, ymin, ymax,
  277.      &       shade_min, shade_max, 
  278.      &       sh_cmap, sh_color, sh_width, 
  279.      &       min_color, min_width, max_color, max_width)
  280.  
  281.         implicit character(a-z)
  282.         character defined*(*)
  283.     integer nx, ny, sh_cmap, sh_width
  284.         integer min_color, min_width, max_color, max_width
  285.         real*4 shade_min, shade_max, sh_color
  286.     real*4 z(nx, ny), xmin, xmax, ymin, ymax
  287.         
  288.     integer maxlen
  289.     parameter (maxlen = 320)
  290.     character*(maxlen) string1, string2, string3
  291.     character*(maxlen) string4, string5, string6
  292.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  293.     equivalence ( s1, string1 ), ( s2, string2 )
  294.     equivalence ( s3, string3 ), ( s4, string4 )
  295.     equivalence ( s5, string5 ), ( s6, string6 )
  296.     common /zzplstr1/ string1
  297.     common /zzplstr2/ string2
  298.     common /zzplstr3/ string3
  299.     common /zzplstr4/ string4
  300.     common /zzplstr5/ string5
  301.     common /zzplstr6/ string6
  302.  
  303.  
  304. !    call plstrf2c(dnam, string1, maxlen)
  305.  
  306.         call plshade07(z, nx, ny, s1, 
  307.      &       xmin, xmax, ymin, ymax,
  308.      &       shade_min, shade_max, 
  309.      &       sh_cmap, sh_color, sh_width, 
  310.      &       min_color, min_width, max_color, max_width)
  311.  
  312.     end
  313.  
  314. !***********************************************************************
  315.  
  316.     subroutine plshade1(z, nx, ny, defined, 
  317.      &       xmin, xmax, ymin, ymax,
  318.      &       shade_min, shade_max, 
  319.      &       sh_cmap, sh_color, sh_width, 
  320.      &       min_color, min_width, max_color, max_width, 
  321.      &       xg, yg)
  322.  
  323.         implicit character(a-z)
  324.         character defined*(*)
  325.     integer nx, ny, sh_cmap, sh_width
  326.         integer min_color, min_width, max_color, max_width
  327.         real*4 shade_min, shade_max, sh_color
  328.     real*4 z(nx, ny), xmin, xmax, ymin, ymax, xg(nx), yg(ny)
  329.         
  330.     integer maxlen
  331.     parameter (maxlen = 320)
  332.     character*(maxlen) string1, string2, string3
  333.     character*(maxlen) string4, string5, string6
  334.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  335.     equivalence ( s1, string1 ), ( s2, string2 )
  336.     equivalence ( s3, string3 ), ( s4, string4 )
  337.     equivalence ( s5, string5 ), ( s6, string6 )
  338.     common /zzplstr1/ string1
  339.     common /zzplstr2/ string2
  340.     common /zzplstr3/ string3
  341.     common /zzplstr4/ string4
  342.     common /zzplstr5/ string5
  343.     common /zzplstr6/ string6
  344.  
  345.  
  346. !    call plstrf2c(dnam, string1, maxlen)
  347.  
  348.         call plshade17(z, nx, ny, s1, 
  349.      &       xmin, xmax, ymin, ymax,
  350.      &       shade_min, shade_max, 
  351.      &       sh_cmap, sh_color, sh_width, 
  352.      &       min_color, min_width, max_color, max_width, 
  353.      &       xg, yg)
  354.  
  355.     end
  356.  
  357. !***********************************************************************
  358.  
  359.     subroutine plshade2(z, nx, ny, defined, 
  360.      &       xmin, xmax, ymin, ymax,
  361.      &       shade_min, shade_max, 
  362.      &       sh_cmap, sh_color, sh_width, 
  363.      &       min_color, min_width, max_color, max_width, 
  364.      &       xg, yg)
  365.  
  366.         implicit character(a-z)
  367.         character defined*(*)
  368.     integer nx, ny, sh_cmap, sh_width
  369.         integer min_color, min_width, max_color, max_width, rectangular
  370.         real*4 shade_min, shade_max, sh_color
  371.     real*4 z(nx, ny), xmin, xmax, ymin, ymax, xg(nx, ny), yg(nx, ny)
  372.         
  373.     integer maxlen
  374.     parameter (maxlen = 320)
  375.     character*(maxlen) string1, string2, string3
  376.     character*(maxlen) string4, string5, string6
  377.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  378.     equivalence ( s1, string1 ), ( s2, string2 )
  379.     equivalence ( s3, string3 ), ( s4, string4 )
  380.     equivalence ( s5, string5 ), ( s6, string6 )
  381.     common /zzplstr1/ string1
  382.     common /zzplstr2/ string2
  383.     common /zzplstr3/ string3
  384.     common /zzplstr4/ string4
  385.     common /zzplstr5/ string5
  386.     common /zzplstr6/ string6
  387.  
  388.  
  389. !    call plstrf2c(dnam, string1, maxlen)
  390.  
  391.         call plshade27(z, nx, ny, s1, 
  392.      &       xmin, xmax, ymin, ymax,
  393.      &       shade_min, shade_max, 
  394.      &       sh_cmap, sh_color, sh_width, 
  395.      &       min_color, min_width, max_color, max_width, 
  396.      &       xg, yg)
  397.  
  398.     end
  399.  
  400. !***********************************************************************
  401.  
  402.     subroutine pllab(xlab,ylab,title)
  403.  
  404.         implicit character(a-z)
  405.     character*(*) xlab,ylab,title
  406.         
  407.     integer maxlen
  408.     parameter (maxlen = 320)
  409.     character*(maxlen) string1, string2, string3
  410.     character*(maxlen) string4, string5, string6
  411.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  412.     equivalence ( s1, string1 ), ( s2, string2 )
  413.     equivalence ( s3, string3 ), ( s4, string4 )
  414.     equivalence ( s5, string5 ), ( s6, string6 )
  415.     common /zzplstr1/ string1
  416.     common /zzplstr2/ string2
  417.     common /zzplstr3/ string3
  418.     common /zzplstr4/ string4
  419.     common /zzplstr5/ string5
  420.     common /zzplstr6/ string6
  421.  
  422.  
  423.     call plstrf2c(xlab, string1, maxlen)
  424.     call plstrf2c(ylab, string2, maxlen)
  425.     call plstrf2c(title, string3, maxlen)
  426.     
  427.     call pllab7(s1,s2,s3)
  428.  
  429.     end
  430.  
  431. !***********************************************************************
  432.  
  433.     subroutine plmtex(side,disp,pos,xjust,text)
  434.  
  435.         implicit character(a-z)
  436.     real*4 disp, pos, xjust
  437.     character*(*) side, text
  438.         
  439.     integer maxlen
  440.     parameter (maxlen = 320)
  441.     character*(maxlen) string1, string2, string3
  442.     character*(maxlen) string4, string5, string6
  443.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  444.     equivalence ( s1, string1 ), ( s2, string2 )
  445.     equivalence ( s3, string3 ), ( s4, string4 )
  446.     equivalence ( s5, string5 ), ( s6, string6 )
  447.     common /zzplstr1/ string1
  448.     common /zzplstr2/ string2
  449.     common /zzplstr3/ string3
  450.     common /zzplstr4/ string4
  451.     common /zzplstr5/ string5
  452.     common /zzplstr6/ string6
  453.  
  454.  
  455.     call plstrf2c(side, string1, maxlen)
  456.     call plstrf2c(text, string2, maxlen)
  457.  
  458.     call plmtex7(s1,disp,pos,xjust,s2)
  459.  
  460.     end
  461.  
  462. !***********************************************************************
  463.  
  464.     subroutine plptex(x,y,dx,dy,xjust,text)
  465.  
  466.         implicit character(a-z)
  467.     real*4 x, y, dx, dy, xjust
  468.     character*(*) text
  469.         
  470.     integer maxlen
  471.     parameter (maxlen = 320)
  472.     character*(maxlen) string1, string2, string3
  473.     character*(maxlen) string4, string5, string6
  474.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  475.     equivalence ( s1, string1 ), ( s2, string2 )
  476.     equivalence ( s3, string3 ), ( s4, string4 )
  477.     equivalence ( s5, string5 ), ( s6, string6 )
  478.     common /zzplstr1/ string1
  479.     common /zzplstr2/ string2
  480.     common /zzplstr3/ string3
  481.     common /zzplstr4/ string4
  482.     common /zzplstr5/ string5
  483.     common /zzplstr6/ string6
  484.  
  485.  
  486.     call plstrf2c(text, string1, maxlen)
  487.  
  488.     call plptex7(x,y,dx,dy,xjust,s1)
  489.  
  490.     end
  491.  
  492. !***********************************************************************
  493.  
  494.     subroutine plstart(devname, nx, ny)
  495.  
  496.         implicit character(a-z)
  497.     character*(*) devname
  498.     integer nx, ny
  499.         
  500.     integer maxlen
  501.     parameter (maxlen = 320)
  502.     character*(maxlen) string1, string2, string3
  503.     character*(maxlen) string4, string5, string6
  504.     integer s1(80), s2(80), s3(80), s4(80), s5(80), s6(80)
  505.     equivalence ( s1, string1 ), ( s2, string2 )
  506.     equivalence ( s3, string3 ), ( s4, string4 )
  507.     equivalence ( s5, string5 ), ( s6, string6 )
  508.     common /zzplstr1/ string1
  509.     common /zzplstr2/ string2
  510.     common /zzplstr3/ string3
  511.     common /zzplstr4/ string4
  512.     common /zzplstr5/ string5
  513.     common /zzplstr6/ string6
  514.  
  515.  
  516.     call plstrf2c(devname, string1, maxlen)
  517.  
  518.     call plstart7(s1, nx, ny)
  519.  
  520.     end
  521.  
  522. !***********************************************************************
  523.