[comp.sources.amiga] v90i002: plplot 2.6 - C library for making scientific plots, Part01/12

Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator) (01/15/90)

Submitted-by: Anthony M. Richardson <amr@dukee.egr.duke.edu>
Posting-number: Volume 90, Issue 002
Archive-name: applications/plplot-2.6/part01

[ the six files in the fonts directory have been uuencoded, 
  and one had to be split.  ...tad ]

   Here is the new, improved version of plplot that first appeared
over a year ago.  This contains all the source necessary to create
a scanned or linkable C library.  The code compiles as is with Lattice
5.04 and on the two unix machines I've ported it to (both sys v machines).
This version includes a greatly improved Amiga intuition interface and
preferences support for hardcopy. Several other device drivers are
included (iff, aegis draw, plt:, postscript) and new drivers can be
easily added.

PLPLOT is a library of C functions that are useful for making scientific plots.
The PLPLOT library can be used to create standard x-y plots, semilog plots,
log-log plots, contour plots, 3D plots, mesh plots, bar charts and pie
charts. Multiple graphs (of the same or different sizes) may be placed
on a single page with multiple lines in each graph. Different line
styles, widths and colors are supported. A virtually infinite number
of distinct area fill patterns may be used. There are almost 2000 characters
in the extended character set. This includes four different fonts,
the Greek alphabet and a host of mathematical, musical, and other symbols.
The fonts can be scaled to any size for various effects.

Regards,
Tony

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 12)."
# Contents:  Amiga Amiga/Makefile README README.AMIGA README.CHANGES
#   docs drivers drivers/Makefile examples examples/compexam
#   examples/example02.c examples/example05.c examples/example09.c
#   examples/example10.c fonts fonts/plstnd.idx.uu fonts/plstnd.lkp.uu
#   include lattice lattice/README lattice/make-clean lattice/make-up
#   pllibs pllibs/dummy src src/icnvrt.c src/movphy.c src/movwor.c
#   src/pl3cut.c src/plabv.c src/pladv.c src/plbeg.c src/plclr.c
#   src/plcol.c src/plcvec.c src/plend.c src/plerrx.c src/plerry.c
#   src/plerx1.c src/plery1.c src/plexit.c src/plfont.c src/plgra.c
#   src/plgspa.c src/pljoin.c src/pllab.c src/plline.c src/plmesh.c
#   src/plpage.c src/plpat.c src/plpoi1.c src/plpoin.c src/plr135.c
#   src/plr45.c src/plschr.c src/plsmaj.c src/plsmin.c src/plssym.c
#   src/plstik.c src/plsym.c src/plsym1.c src/pltext.c src/plvsta.c
#   src/plwid.c src/plxtik.c src/plytik.c src/setphy.c src/setpxl.c
#   src/setsub.c src/stindex.c src/strpos.c src/stsearch.c src/xform.c
#   unix unix/README
# Wrapped by tadguy@xanth on Sun Jan 14 18:11:21 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test ! -d 'Amiga' ; then
    echo shar: Creating directory \"'Amiga'\"
    mkdir 'Amiga'
fi
if test -f 'Amiga/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Amiga/Makefile'\"
else
echo shar: Extracting \"'Amiga/Makefile'\" \(234 characters\)
sed "s/^X//" >'Amiga/Makefile' <<'END_OF_FILE'
X#
X# Lattice definitions
X#
XCFLAGS = $(LFLG1) $(LFLG2) -i/include -O
XCC = lc
X#
XOBJS  =  amiga.o \
X         plmenu.o \
X         plprefs.o \
X         plsupport.o \
X         plwindow.o
X
X.c.o:
X        $(CC) $(CFLAGS) $*.c
X
Xlib:    $(OBJS)
X
END_OF_FILE
if test 234 -ne `wc -c <'Amiga/Makefile'`; then
    echo shar: \"'Amiga/Makefile'\" unpacked with wrong size!
fi
# end of 'Amiga/Makefile'
fi
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(2659 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X                    Version 2.6 of PLPLOT
XPLPLOT is a library of C functions that are useful for scientific plotting.
XThe PLPLOT library can be used to create standard x-y plots, semilog plots,
Xlog-log plots, contour plots, 3D plots, mesh plots, bar charts and pie
Xcharts. Multiple graphs (of the same or different sizes) may be placed
Xon a single page with multiple lines in each graph. Different line
Xstyles, widths and colors are supported. A virtually infinite number
Xof distinct area fill patterns may be used. There are almost 2000 characters
Xin the extended character set. This includes four different fonts,
Xthe Greek alphabet and a host of mathematical, musical, and other symbols.
XThe fonts can be scaled to any size for various effects.
X
XTo create a library compatible with your compiler/system you need to go to
Xthe appropriate directory (lattice, unix) and follow the directions
Xin the README file there.
X
XRead the file README.CHANGES for a description of the changes/improvements
Xmade in this version. (This version is not compatible with version 1.0
Xin programs that do 3D or contour plots.) The Amiga interface
Xhas been greatly improved and there have been a number of improvements
Xin the portable code (all the stuff in the src directory) as well
X(mesh plots, area fill routines, and a better method of handling the
Xfonts).  Also read README.AMIGA if you are installing PLPLOT on an Amiga.
X
XMany thanks to Tom Rokicki (who provided the Preferences and IFF driver
Xroutines), Sam Paolucci (he wrote the Postscript driver) and to
XBob Wolff and Steve Walton (they provided several hints as to how to
Xavoid Lattice/Manx incompatibilities. Note: This code may not work with
XManx yet.  Steve got it to work, but I'm not sure if all the changes he
Xmade are included in this version (I haven't been able to contact him,
XI think his Internet feed is down)).  There were several people who
Xhelped test this library and who made many suggestions. They are too
Xnumerous to list but their help was greatly appreciated.
X
XEnjoy,
X
X   Tony Richardson
X
X   EMAIL   amr@dukee.egr.duke.edu
X
X   USMAIL  Tony Richardson              Tony Richardson
X           Dept of Elect Eng            311 S. LaSalle St. #41B
X           Duke University              Durham, NC 27705
X           Durham, NC 27706
X
X           ph 919-684-3123              ph 919-286-7101
X
Xp.s. I'm trying to make a plplot function library for use with AREXX.
XI'm using Lattice 5.04 with its new features for creating shared
Xlibraries.  I can't seem to get anything to work, though.  If anyone has
Xdone this I would appreciate it if you would contact me so that I can
Xfind out what I'm doing wrong.
X
END_OF_FILE
if test 2659 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'README.AMIGA' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README.AMIGA'\"
else
echo shar: Extracting \"'README.AMIGA'\" \(5716 characters\)
sed "s/^X//" >'README.AMIGA' <<'END_OF_FILE'
XFor a color requester I just use the palette program that comes with the
XWorkBench 1.3 enhancer package. PLPLOT looks for this program in TOOLS:
Xand if it's not there it looks in sys:tools, so you'll program want
Xto "assign" tools: to the directory in which the palette program resides.
X
XPLPLOT looks for the fonts in PLFONTS: so make sure it is "assign"ed
Xtoo (put it in your startup sequence).
X
XAbout the Amiga drivers:
X
X   ******
X
X   IFF and Preferences
X
X   Tom Rokicki (thanks!) provided the code for the iff and preferences
X   drivers.
X
X   The IFF driver will prompt for resolution, page size,
X   filename and orientation unless plsetup() and plselect() are used.
X
X   The preferences driver creates a black and white graph on your
X   preferences supported printer. It uses the preferences selected
X   density and page size limits and ignores most of the other stuff.
X   If you have selected "ignore" in the page size limit options
X   (see the 1.3 Enhancer manual) then a full page graph is produced.
X   The other options operate as described in the Enhancer manual.
X   Only "ignore" and "bounded" produce aspect ratio correct plots
X   (usually unimportant unless x and y must have the same scaling
X   like for pie charts or polar plots). You can get very high quality
X   plots with this driver. A full page, high resolution plot
X   requires a lot of memory though (An 8"x10" 300 dpi plot requires
X   (8*300)*(10*300)/8 = 900000 bytes).  You can use the page limits
X   to reduce the memory requirements and still get high quality
X   output.
X
X   ******
X
X   postscript
X
X   The postscript driver was written by Sam Paolucci (thanks!) for
X   the previous version. I don't have a ps printer and so was unable
X   to upgrade the driver to be completely version compatible with this
X   version. (I didn't know how to set the pen width.)
X
X   ******
X
X   Aegis Draw
X
X   I created this one because I have Draw2000 and it was easy to do.
X   I don't know how popular it is. It does provide a very nice
X   method for touching up graphs.
X
X   ******
X
X   HP Plotter (or PLT: device)
X
X   The plt: device is an HP plotter compatible device handler written by
X   Jim Miller and Rich Champeaux. It is freely redistributable, but
X   it is not included with this package (it's big enough already!).
X   It gives high quality output like the preferences driver but with
X   full preferences support. Usually requires less memory (for full
X   page plots) than the preferences driver, but is slower. Highly
X   recommended if you have a color printer or are memory strapped.
X   I don't know exactly which model HP plotter this is compatible
X   with (the HP7470 I think).
X
X   *******
X
X   Amiga window
X
X   I've completely redone this driver.  I hope you agree that it is much
X   nicer. A normal window with standard intuition gadgets is now used.
X   You can resize the window even while the program is plotting in the
X   window (see the "Redraw Enabled" section below).  If you are making
X   several graphs on separate pages, use the close gadget to advance
X   from one "page" to the next.
X
X   "Plplot" menu selections:
X
X       "Save Configuration"
X          - Saves current window configuration (window size, screen type,
X            screen depth, colors, resolution, etc.). The configuration
X            is saved in s:Plplot.def (only 54 bytes).
X
X       "Reset"
X          - Resets the window to the configuration in s:Plplot.def
X            (or to a default config if this file doesn't exist).
X
X       "Maintain Plot Aspect"
X          - If this is checked the plot aspect ratio is maintained as the
X            window is resized (handy for polar plots, etc.). Default
X            is unchecked in which case x and y are stretched
X            independently to fit in the window.
X
X       "Redraw Enabled"
X          - If this is checked, then the graphics commands are buffered
X            in t:plplot.dat. This file is used to redraw the plot when
X            required. It's status is checked only when a new graph is
X            started. The buffer is also used to create the "Full Page"
X            prints under the "Print" selection.
X
X       "Select Screen Type"
X          - A submenu allows the user to select either "Workbench" or
X            "Custom".
X
X       "Print"
X          - There are three submenu options here. The "Bitmap Dump"
X            does just that (with full preferences support). The
X            output is pretty jagged, but you can play around with
X            the preferences stuff (scaling, smoothing, etc.) to
X            improve things. The other two submenus are
X            "Full Page (Landscape)" and "Full Page (Portrait)". This
X            uses the graphics buffer file (see "Redraw Enabled" above)
X            to create graphics output similar to the preferences
X            driver. However the aspect ratio can not be maintained.
X            Same preferences options are used as in preferences driver.
X
X       "Save Bitmap as IFF File"
X          - Self explanatory. You can use this to save your images and
X            then touch them up (do area fills, etc.) with your favorite
X            paint program.
X
X   "Screen Format" selections: (This menu only appears on the custom screen)
X       "Interlaced"
X       "High Resolution"
X       "Number of Colors"
X       "Set Color Palette"
X          - I think these are all self-explanatory. You can select either
X            2, 4, 8, or 16 colors.
X
X
X   Tony Richardson
X
X   EMAIL   amr@dukee.egr.duke.edu
X
X   USMAIL  Tony Richardson              Tony Richardson
X           Dept of Elect Eng            311 S. LaSalle St. #41B
X           Duke University              Durham, NC 27705
X           Durham, NC 27706
X
X           ph 919-684-3123              ph 919-286-7101
X
END_OF_FILE
if test 5716 -ne `wc -c <'README.AMIGA'`; then
    echo shar: \"'README.AMIGA'\" unpacked with wrong size!
fi
# end of 'README.AMIGA'
fi
if test -f 'README.CHANGES' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README.CHANGES'\"
else
echo shar: Extracting \"'README.CHANGES'\" \(2798 characters\)
sed "s/^X//" >'README.CHANGES' <<'END_OF_FILE'
XSee the documentation for more complete descriptions of the routines
Xmentioned in this file.
X
XIn this version all floating point variables are declared to be of type
XPLFLT.  By appropriately typedef'ing PLFLT you can elect to have
Xeither float's or double's be the default.
X
XEverything is prototyped now. You can override this if your compiler
Xdoes not support prototypes (see plplot.h in the include directory).
X
XPreviously the fonts were hard coded into the code.  Since there are
Xabout 2000 characters available this took up a lot of memory (about
X50k bytes).  Most programs required only a small subset of the total
Xnumber of characters, so I decided to redo the way fonts are handled.
XI've changed things so that the fonts are loaded from a file.
XThere is a standard set of fonts that are loaded automatically when
Xplstar() is called.  The full extended set of fonts can still be
Xloaded by calling a new routine, plfontld()).
X
XThe escape sequence for special characters/fonts has changed from
X'\\' to '#'.
X
Xplgrid3() and plside3() no longer exist.  Their function has been
Xabsorbed into plbox3() and plot3d().
X
Xplot3d(), plbox3(), and plcont() have been changed and are no longer
Xcompatible with old programs that call them.
X
Xplot3d() no longer needs the work array and a new option has been
Xadded. The new option allows sides to be drawn on the graph, it
Xeliminates the old plside3() routine.
X
Xplbox3() has a new option in the zopt string. The option draws lines
Xparallel to the x-y plane behind the figure at the z axis major tick
Xmarks. These lines are not drawn until plot3d is called because of
Xthe need for hidden line removal. This option replaces plside3().
X
XThe array indices for plcont() go from 0 to nx-1 and 0 to ny-1 instead
Xof from 1 to nx and 1 to ny.  This usually results in simpler
Xtransformations from the indices to world coordinates.
X
XThe bugs in plbin() and plhist() have been fixed. They should work as
Xdocumented.
X
Xplfontld() added. See discussion on fonts above.
X
XA mesh drawing routine, plmesh(), has been added.
X
XPolygonal area fills can be done using the new routine plfill().
X
XYou can select a pen width using plwid().
X
Xpllsty() can be used to select 1 of 8 default line styles.
X
XArea fill patterns can be defined using plpat().
X
Xplpsty() can be used to select 1 of 8 different area fill patterns.
X
XThe orientation and output filename can be set using plselect().
X
XFor devices supporting different resolutions and page sizes, you can set
Xthings up using plsetup().
X
XUse plprec() to set the number of characters after the decimal point
Xin numeric labels.
X
XI've made it easier to add new drivers. You shouldn't have to
Xtouch any of the files in the src directory. After writing your new
Xdriver just update the dispatch table in dispatch.c in the drivers
Xdirectory.
X
END_OF_FILE
if test 2798 -ne `wc -c <'README.CHANGES'`; then
    echo shar: \"'README.CHANGES'\" unpacked with wrong size!
fi
# end of 'README.CHANGES'
fi
if test ! -d 'docs' ; then
    echo shar: Creating directory \"'docs'\"
    mkdir 'docs'
fi
if test ! -d 'drivers' ; then
    echo shar: Creating directory \"'drivers'\"
    mkdir 'drivers'
fi
if test -f 'drivers/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'drivers/Makefile'\"
else
echo shar: Extracting \"'drivers/Makefile'\" \(256 characters\)
sed "s/^X//" >'drivers/Makefile' <<'END_OF_FILE'
X#
X# Lattice definitions
X#
XCFLAGS = $(LFLG1) $(LFLG2) -i/include -O
XCC = lc
X#
XOBJS  =  aegis.o \
X         dispatch.o \
X         hpplot.o \
X         iff.o \
X         postscript.o \
X         preferences.o
X
X.c.o:
X        $(CC) $(CFLAGS) $*.c
X
Xlib:    $(OBJS)
X
END_OF_FILE
if test 256 -ne `wc -c <'drivers/Makefile'`; then
    echo shar: \"'drivers/Makefile'\" unpacked with wrong size!
fi
# end of 'drivers/Makefile'
fi
if test ! -d 'examples' ; then
    echo shar: Creating directory \"'examples'\"
    mkdir 'examples'
fi
if test -f 'examples/compexam' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/compexam'\"
else
echo shar: Extracting \"'examples/compexam'\" \(776 characters\)
sed "s/^X//" >'examples/compexam' <<'END_OF_FILE'
X.k number/a,lib
X.def lib "FFP"
Xif not "<lib>" eq "FFP"
X   if not "<lib>" eq "IEEEF"
X      if not "<lib>" eq "IEEED"
X         echo "usage: execute compexam # [FFP | IEEEF | IEEED | REXX]"
X         skip end
X      endif
X   endif
Xendif
X
Xif "<lib>" eq "FFP"
X   lc -ff -i/include example<number>
X   blink lib:c.o,example<number>.o to example<number> +
X         lib lib:lcmffp.lib,/pllibs/plpffp.lib,lib:lc.lib
Xendif
X
Xif "<lib>" eq "IEEEF"
X   lc -i/include example<number>
X   blink lib:c.o,example<number>.o to example<number> +
X         lib lib:lcm.lib,/pllibs/plplcmf.lib,lib:lc.lib
Xendif
X
Xif "<lib>" eq "IEEED"
X   lc -dPLDBL -i/include example<number>
X   blink lib:c.o,example<number>.o to example<number> +
X         lib lib:lcm.lib,/pllibs/plplcmd.lib,lib:lc.lib
Xendif
X
Xlab end
X
END_OF_FILE
if test 776 -ne `wc -c <'examples/compexam'`; then
    echo shar: \"'examples/compexam'\" unpacked with wrong size!
fi
# end of 'examples/compexam'
fi
if test -f 'examples/example02.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/example02.c'\"
else
echo shar: Extracting \"'examples/example02.c'\" \(819 characters\)
sed "s/^X//" >'examples/example02.c' <<'END_OF_FILE'
X/* Demonstrates multiple windows */
X
X#include "plplot.h"
X#include <stdio.h>
X#include <math.h>
X
Xmain()
X{
X      PLINT i,j;
X      PLFLT vmin,vmax;
X      char text[3];
X
X     /* Divide screen into 16 regions */
X      plstar(4,4);
X      plschr((PLFLT)0.0,(PLFLT)3.5);
X      plfont(4);
X
X      for (i=0; i<=15; i++) {
X        plcol(i/4+1);
X        sprintf(text,"%d",i);
X        pladv(0);
X        vmin = 0.1;
X        vmax = 0.9;
X        for (j=0; j<=2; j++) {
X          plwid(j+1);
X          plvpor(vmin,vmax,vmin,vmax);
X          plwind((PLFLT)0.0,(PLFLT)1.0,(PLFLT)0.0,(PLFLT)1.0);
X          plbox("bc",(PLFLT)0.0,0,"bc",(PLFLT)0.0,0);
X          vmin = vmin + 0.1;
X          vmax = vmax - 0.1;
X        }
X        plwid(1);
X        plptex((PLFLT)0.5,(PLFLT)0.5,(PLFLT)1.0,(PLFLT)0.0,(PLFLT)0.5,text);
X      }
X
X      plend();
X}
X
END_OF_FILE
if test 819 -ne `wc -c <'examples/example02.c'`; then
    echo shar: \"'examples/example02.c'\" unpacked with wrong size!
fi
# end of 'examples/example02.c'
fi
if test -f 'examples/example05.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/example05.c'\"
else
echo shar: Extracting \"'examples/example05.c'\" \(385 characters\)
sed "s/^X//" >'examples/example05.c' <<'END_OF_FILE'
X/* Test of drawing a histogram */
X
X#include "plplot.h"
X#include <math.h>
X
Xmain()
X{
X   int i;
X   static float data[2048];
X
X   /* Fill up data points */
X
X   for (i=0; i<2048; i++)
X     data[i]=sin(0.01*(i+1));
X
X   plstar(1,1);
X   plhist(2048,data,-1.1,1.1,44,0);
X   pllab("#frValue","#frFrequency",
X            "#frPLPLOT Example 5 - Probability function of Oscillator");
X
X   plend();
X}
END_OF_FILE
if test 385 -ne `wc -c <'examples/example05.c'`; then
    echo shar: \"'examples/example05.c'\" unpacked with wrong size!
fi
# end of 'examples/example05.c'
fi
if test -f 'examples/example09.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/example09.c'\"
else
echo shar: Extracting \"'examples/example09.c'\" \(888 characters\)
sed "s/^X//" >'examples/example09.c' <<'END_OF_FILE'
X/* Demonstration of contour plotting */
X
X#include "plplot.h"
X
X#define NPTS      41
X
Xfloat tr[6] = {0.05, 0.0, -1.0, 0.0, 0.05, -1.0};
X
Xmain()
X{
X   int i, j;
X   float xx, yy;
X   static float clevel[11] = {-1.,-.8,-.6,-.4,-.2,0,.2,.4,.6,.8,1.};
X   static float z[NPTS][NPTS], w[NPTS][NPTS];
X   static int mark=1500, space=1500;
X
X   for (i=0; i<NPTS; i++) {
X     xx = (double)(i-(NPTS/2))/(double)(NPTS/2);
X     for (j=0; j<NPTS; j++)  {
X       yy = (double)(j-(NPTS/2))/(double)(NPTS/2) - 1.0;
X       z[i][j] = xx*xx - yy*yy;
X       w[i][j] = 2*xx*yy;
X     }
X   }
X   plstar(1,1);
X   plenv(-1.0,1.0,-1.0,1.0,0,0);
X   plcol(2);
X   plcont(&z[0][0],NPTS,NPTS,1,NPTS,1,NPTS,clevel,11,xform);
X   plstyl(1,&mark,&space);
X   plcol(3);
X   plcont(&w[0][0],NPTS,NPTS,1,NPTS,1,NPTS,clevel,11,xform);
X   plcol(1);
X   pllab("X Coordinate", "Y Coordinate","Contour Plots of Saddle Points");
X   plend();
X}
END_OF_FILE
if test 888 -ne `wc -c <'examples/example09.c'`; then
    echo shar: \"'examples/example09.c'\" unpacked with wrong size!
fi
# end of 'examples/example09.c'
fi
if test -f 'examples/example10.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/example10.c'\"
else
echo shar: Extracting \"'examples/example10.c'\" \(419 characters\)
sed "s/^X//" >'examples/example10.c' <<'END_OF_FILE'
X/* Demonstration program for PLPLOT illustrating absolute positioning */
X/* of graphs on a page */
X
X#include "plplot.h"
X
Xmain()
X{
X   plstar(1,1);
X
X   pladv(0);
X   plvpor(0.0,1.0,0.0,1.0);
X   plwind(0.0,1.0,0.0,1.0);
X   plbox("bc",0.0,0,"bc",0.0,0);
X
X   plsvpa(50.0,150.0,100.0,150.0);
X   plwind(0.0,1.0,0.0,1.0);
X   plbox("bc",0.0,0,"bc",0.0,0);
X   plptex(0.5,0.5,1.0,0.0,0.5,"BOX at (50,150,100,150)");
X
X   plend();
X}
END_OF_FILE
if test 419 -ne `wc -c <'examples/example10.c'`; then
    echo shar: \"'examples/example10.c'\" unpacked with wrong size!
fi
# end of 'examples/example10.c'
fi
if test ! -d 'fonts' ; then
    echo shar: Creating directory \"'fonts'\"
    mkdir 'fonts'
fi
if test -f 'fonts/plstnd.idx.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fonts/plstnd.idx.uu'\"
else
echo shar: Extracting \"'fonts/plstnd.idx.uu'\" \(521 characters\)
sed "s/^X//" >'fonts/plstnd.idx.uu' <<'END_OF_FILE'
Xbegin 644 plstnd.idx
XM`*L``0`,`"8`.P!-`%L`9@!_`(H`CP"<`*<`KP"]`,@`X`#P`0L!'@$U`3T!F
XM2@%2`6`!:`%Q`7P!AP&A`:D!M`'"`<T!V`'S`?@"`P(+`AD")`(O`D<"4@)B[
XM`FX"=@*+`J("J@*^`M$"Y0+Y`PH#'@,R`ST#5@-C`VX#?`.'`XP#H0.N`\(#"
XMU@/J`_4$"004!"$$*00W!#\$2P16!'`$D02D!+X$UP3L!/<%#`47!2X%/@5=7
XM!7$%@`65!:D%LP7%!=4%ZP8$!A8&+P9&!DH&7@9E!G8&B`:1!J4&OP;'!N<'G
XM`0<)!Q0'(@<S!SX'50=:!V('<@>/!Y0'H0>N![,'N`?`!\@'TP?;!^D(#@@L&
XM"$`(2`A/"%<(90AM"'4(@`BE",((V@CJ"/8(_@D*"1H)+@E""5H)?@FB"=8)Y
X=Y`GR"@X**@HP"C8*4`I9"F8*<PJ`"HT*KPKI"Q$*"
X``
Xend
Xsize 344
END_OF_FILE
if test 521 -ne `wc -c <'fonts/plstnd.idx.uu'`; then
    echo shar: \"'fonts/plstnd.idx.uu'\" unpacked with wrong size!
fi
# end of 'fonts/plstnd.idx.uu'
fi
if test -f 'fonts/plstnd.lkp.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fonts/plstnd.lkp.uu'\"
else
echo shar: Extracting \"'fonts/plstnd.lkp.uu'\" \(533 characters\)
sed "s/^X//" >'fonts/plstnd.lkp.uu' <<'END_OF_FILE'
Xbegin 644 plstnd.lkp
XM`;``AP"3`(L`C0"&`(P`AP"(`*L`J@"%`(D`B@"'`)$`D@"/`(X`D`"'`)0`C
XME0"6`)<`F`"9`)H`FP"F`*0`I0"G`&4`=`!W`(,`>0"H`(0`=@![`'P`@0!_C
XM`'$`?@!P`'H`9@!G`&@`:0!J`&L`;`!M`&X`;P!R`',`H`"``*$`=0"I``$`'
XM`@`#``0`!0`&``<`"``)``H`"P`,``T`#@`/`!``$0`2`!,`%``5`!8`%P`8K
XM`!D`&@"<`((`G0!X`((`HP`S`#0`-0`V`#<`.``Y`#H`.P`\`#T`/@`_`$``P
XM00!"`$,`1`!%`$8`1P!(`$D`2@!+`$P`G@!]`)\`H@!E`!L`'``=`!X`'P`@`
XM`"$`(@`C`"0`)0`F`"<`*``I`"H`*P`L`"T`+@`O`#``,0`R`$T`3@!/`%``E
XG8@!1`%(`8P!3`%0`50!6`%<`6`!9`%H`6P!<`%T`7@!D`%\`8`!A2
X``
Xend
Xsize 354
END_OF_FILE
if test 533 -ne `wc -c <'fonts/plstnd.lkp.uu'`; then
    echo shar: \"'fonts/plstnd.lkp.uu'\" unpacked with wrong size!
fi
# end of 'fonts/plstnd.lkp.uu'
fi
if test ! -d 'include' ; then
    echo shar: Creating directory \"'include'\"
    mkdir 'include'
fi
if test ! -d 'lattice' ; then
    echo shar: Creating directory \"'lattice'\"
    mkdir 'lattice'
fi
if test -f 'lattice/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'lattice/README'\"
else
echo shar: Extracting \"'lattice/README'\" \(775 characters\)
sed "s/^X//" >'lattice/README' <<'END_OF_FILE'
X    Installation of plplot for use with the Lattice C compiler.
X
XA script is provided (make-all) to compile all of the routines and
Xcreate a Lattice compatible library.  You should examine this script
Xand the first part of plplot.h to become familiar with some of the
Xavailable options. (You might want to change some of the default
Xoptions).  To create the plplot library type
X
X  execute make-all [FFP | IEEEF |IEEED]
X
Xwhere the options allow you to create Motorola fast floating point,
XIEEE float, or IEEE double compatible libraries. The library is
Xcreated in the pllibs directory.  You may want to move the library
Xto lib: (the lattice directory containing the link libraries).
XThe libraries are named differently depending on whether you specify
XFFP, IEEEF, or IEEED.
X
X
END_OF_FILE
if test 775 -ne `wc -c <'lattice/README'`; then
    echo shar: \"'lattice/README'\" unpacked with wrong size!
fi
# end of 'lattice/README'
fi
if test -f 'lattice/make-clean' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'lattice/make-clean'\"
else
echo shar: Extracting \"'lattice/make-clean'\" \(75 characters\)
sed "s/^X//" >'lattice/make-clean' <<'END_OF_FILE'
Xdelete /src/#?.o quiet
Xdelete /drivers/#?.o quiet
Xdelete /Amiga/#?.o quiet
END_OF_FILE
if test 75 -ne `wc -c <'lattice/make-clean'`; then
    echo shar: \"'lattice/make-clean'\" unpacked with wrong size!
fi
# end of 'lattice/make-clean'
fi
if test -f 'lattice/make-up' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'lattice/make-up'\"
else
echo shar: Extracting \"'lattice/make-up'\" \(633 characters\)
sed "s/^X//" >'lattice/make-up' <<'END_OF_FILE'
X.key lib
X.def lib "FFP"
X
X; You can use this script to update the library after changing any of the
X; plplot routines.
X
Xif not "<lib>" eq "FFP"
X   if not "<lib>" eq "IEEEF"
X      if not "<lib>" eq "IEEED"
X         echo "usage: execute make-all [FFP | IEEEF | IEEED]"
X         skip end
X      endif
X   endif
Xendif
X
Xif "<lib>" eq "FFP"
X   lmk -f Makefile.inc LFLGS=ff LIB=/pllibs/plpffp.lib
Xendif
X
X; Can't use prototypes here due to Lattice bug :-(
Xif "<lib>" eq "IEEEF"
X   lmk -f Makefile.inc LFLGS=dNOPROTS LIB=/pllibs/plplcmf.lib
Xendif
X
Xif "<lib>" eq "IEEED"
X   lmk -f Makefile.inc LFLGS=dPLDBL LIB=/pllibs/plplcmd.lib
Xendif
X
Xlab end
END_OF_FILE
if test 633 -ne `wc -c <'lattice/make-up'`; then
    echo shar: \"'lattice/make-up'\" unpacked with wrong size!
fi
# end of 'lattice/make-up'
fi
if test ! -d 'pllibs' ; then
    echo shar: Creating directory \"'pllibs'\"
    mkdir 'pllibs'
fi
if test -f 'pllibs/dummy' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'pllibs/dummy'\"
else
echo shar: Extracting \"'pllibs/dummy'\" \(55 characters\)
sed "s/^X//" >'pllibs/dummy' <<'END_OF_FILE'
XJust a placeholder so that zoo creates this directory.
END_OF_FILE
if test 55 -ne `wc -c <'pllibs/dummy'`; then
    echo shar: \"'pllibs/dummy'\" unpacked with wrong size!
fi
# end of 'pllibs/dummy'
fi
if test ! -d 'src' ; then
    echo shar: Creating directory \"'src'\"
    mkdir 'src'
fi
if test -f 'src/icnvrt.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/icnvrt.c'\"
else
echo shar: Extracting \"'src/icnvrt.c'\" \(799 characters\)
sed "s/^X//" >'src/icnvrt.c' <<'END_OF_FILE'
X/* Coordinate transformations for plotting package */
X/* Convertion routines yielding an integer result  */
X
X#include "plplot.h"
X#include "declare.h"
X
X/* dcpc. converts device coordinates to physical coordinates */
X
XPLINT dcpcx(x)
XPLFLT x;
X{
X      return(round(dpxoff + dpxscl * x));
X}
X
XPLINT dcpcy(y)
XPLFLT y;
X{
X      return(round(dpyoff + dpyscl * y));
X}
X
X/* mmpc. converts millimetres from bottom left-hand corner to physical */
X/* coordinates */
X
XPLINT mmpcx(x)
XPLFLT x;
X{
X      return(round(mpxoff + mpxscl * x));
X}
X
XPLINT mmpcy(y)
XPLFLT y;
X{
X      return(round(mpyoff + mpyscl * y));
X}
X
X/* wcpc. converts world coordinates to physical coordinates */
X
XPLINT wcpcx(x)
XPLFLT x;
X{
X      return(round(wpxoff + wpxscl * x));
X}
X
XPLINT wcpcy(y)
XPLFLT y;
X{
X      return(round(wpyoff + wpyscl * y));
X}
X
END_OF_FILE
if test 799 -ne `wc -c <'src/icnvrt.c'`; then
    echo shar: \"'src/icnvrt.c'\" unpacked with wrong size!
fi
# end of 'src/icnvrt.c'
fi
if test -f 'src/movphy.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/movphy.c'\"
else
echo shar: Extracting \"'src/movphy.c'\" \(349 characters\)
sed "s/^X//" >'src/movphy.c' <<'END_OF_FILE'
X/*      MOVE AND DRAW ROUTINES IN PHYSICAL COORDINATES                */
X
X/* Move to physical coordinates (x,y) */
X
X#include "plplot.h"
X
Xvoid movphy(x,y)
XPLINT x,y;
X{
X      scurr(x,y);
X}
X
X/* Draws to physical coordinates (x,y) */
X
Xvoid draphy(x,y)
XPLINT x,y;
X{
X      PLINT currx, curry;
X      gcurr(&currx,&curry);
X      pllclp(currx,curry,x,y);
X}
X
END_OF_FILE
if test 349 -ne `wc -c <'src/movphy.c'`; then
    echo shar: \"'src/movphy.c'\" unpacked with wrong size!
fi
# end of 'src/movphy.c'
fi
if test -f 'src/movwor.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/movwor.c'\"
else
echo shar: Extracting \"'src/movwor.c'\" \(335 characters\)
sed "s/^X//" >'src/movwor.c' <<'END_OF_FILE'
X/* MOVE AND DRAW ROUTINES IN WORLD COORDINATES */
X
X/* Move to world coordinates (x,y) */
X
X#include "plplot.h"
X
Xvoid movwor(x,y)
XPLFLT x,y;
X{
X   scurr(wcpcx(x),wcpcy(y));
X}
X
X/* Draws to world coordinates (x,y) */
X
Xvoid drawor(x,y)
XPLFLT x,y;
X{
X   PLINT currx, curry;
X   gcurr(&currx,&curry);
X   pllclp(currx,curry,wcpcx(x),wcpcy(y));
X}
END_OF_FILE
if test 335 -ne `wc -c <'src/movwor.c'`; then
    echo shar: \"'src/movwor.c'\" unpacked with wrong size!
fi
# end of 'src/movwor.c'
fi
if test -f 'src/pl3cut.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/pl3cut.c'\"
else
echo shar: Extracting \"'src/pl3cut.c'\" \(918 characters\)
sed "s/^X//" >'src/pl3cut.c' <<'END_OF_FILE'
X/* Determines the point of intersection (cx,cy) between the line */
X/* joining (sx1,sy1) to (sx2,sy2) and the line joining */
X/* (su1,sv1) to (su2,sv2). */
X
X#include "plplot.h"
X
Xvoid pl3cut(sx1,sy1,sx2,sy2,su1,sv1,su2,sv2,cx,cy)
XPLINT sx1, sy1, sx2, sy2, su1, sv1, su2, sv2, *cx, *cy;
X{
X      PLINT x21, y21, u21, v21, yv1, xu1, a, b;
X      PLFLT fa, fb;
X
X      x21 = sx2 - sx1;
X      y21 = sy2 - sy1;
X      u21 = su2 - su1;
X      v21 = sv2 - sv1;
X      yv1 = sy1 - sv1;
X      xu1 = sx1 - su1;
X
X      a = x21 * v21 - y21 * u21;
X      fa = (PLFLT)a;
X      if (a == 0) {
X        if (sx2 < su2) {
X          *cx = sx2;
X          *cy = sy2;
X        }
X        else {
X          *cx = su2;
X          *cy = sv2;
X        }
X        return;
X      }
X      else {
X        b = yv1 * u21 - xu1 * v21;
X        fb = (PLFLT)b;
X        *cx = (PLINT)(sx1 + (fb * x21)/ fa + .5);
X        *cy = (PLINT)(sy1 + (fb * y21)/ fa + .5);
X      }
X}
END_OF_FILE
if test 918 -ne `wc -c <'src/pl3cut.c'`; then
    echo shar: \"'src/pl3cut.c'\" unpacked with wrong size!
fi
# end of 'src/pl3cut.c'
fi
if test -f 'src/plabv.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plabv.c'\"
else
echo shar: Extracting \"'src/plabv.c'\" \(518 characters\)
sed "s/^X//" >'src/plabv.c' <<'END_OF_FILE'
X#include "plplot.h"
X
X/* Determines if point (px,py) lies above the line joining (sx1,sy1) to */
X/* (sx2,sy2). It only works correctly if sx1 <= px <= sx2  */
X
XPLINT plabv(px, py, sx1, sy1, sx2, sy2)
XPLINT px, py, sx1, sy1, sx2, sy2;
X{
X      PLINT above;
X
X      if (py >= sy1 && py >= sy2)
X        above = 1;
X      else if (py < sy1 && py < sy2)
X        above = 0;
X      else if ((PLFLT)(sx2-sx1) * (py-sy1) > (PLFLT)(px-sx1) * (sy2-sy1))
X        above = 1;
X      else
X        above = 0;
X
X      return((PLINT)above);
X}
END_OF_FILE
if test 518 -ne `wc -c <'src/plabv.c'`; then
    echo shar: \"'src/plabv.c'\" unpacked with wrong size!
fi
# end of 'src/plabv.c'
fi
if test -f 'src/pladv.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/pladv.c'\"
else
echo shar: Extracting \"'src/pladv.c'\" \(744 characters\)
sed "s/^X//" >'src/pladv.c' <<'END_OF_FILE'
X/* Advance to subpage "page", or to the next one if "page" = 0 */
X
X#include "plplot.h"
X
Xvoid pladv(page)
XPLINT page;
X{
X      PLINT cursub, nsubx, nsuby;
X      PLINT device, termin, graphx;
X      PLINT level;
X
X      glev(&level);
X      if (level < 1) plexit("Please call plstar before calling pladv.");
X
X      gdev(&device,&termin,&graphx);
X      gsub(&nsubx,&nsuby,&cursub);
X      if (page > 0 && page <= nsubx*nsuby)
X        cursub = page;
X      else if (page == 0) {
X        if (cursub == nsubx*nsuby) {
X          plclr();
X          plpage();
X          cursub = 1;
X        }
X        else
X          cursub = cursub + 1;
X      }
X      else
X        plexit("Invalid subpage number in pladv.");
X
X      ssub(nsubx,nsuby,cursub);
X      setsub();
X}
X
END_OF_FILE
if test 744 -ne `wc -c <'src/pladv.c'`; then
    echo shar: \"'src/pladv.c'\" unpacked with wrong size!
fi
# end of 'src/pladv.c'
fi
if test -f 'src/plbeg.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plbeg.c'\"
else
echo shar: Extracting \"'src/plbeg.c'\" \(748 characters\)
sed "s/^X//" >'src/plbeg.c' <<'END_OF_FILE'
X/* Sets up the device "dev" for plotting, dividing the page into "nx" */
X/* by "ny" subpages. */
X
X#include "plplot.h"
X#include <math.h>
X
Xvoid plbeg(dev,nx,ny)
XPLINT dev, nx, ny;
X{
X   PLFLT scale, def, ht;
X
X   if ((nx <= 0) || (ny <= 0 ))
X      plexit("Cannot have negative number of subpages in plstar.");
X
X   scale = 1.0/sqrt((double)ny);
X   slev(1);
X   grbeg(dev);
X   ssub(nx,ny,0);
X
X   /* Set up character, symbol and tick sizes for requested number of */
X   /* subpages */
X
X   gchr(&def,&ht);
X   schr((PLFLT)(def*scale),(PLFLT)(def*scale));
X   gsym(&def,&ht);
X   ssym((PLFLT)(def*scale),(PLFLT)(def*scale));
X   gmaj(&def,&ht);
X   smaj((PLFLT)(def*scale),(PLFLT)(def*scale));
X   gmin(&def,&ht);
X   smin((PLFLT)(def*scale),(PLFLT)(def*scale));
X}
END_OF_FILE
if test 748 -ne `wc -c <'src/plbeg.c'`; then
    echo shar: \"'src/plbeg.c'\" unpacked with wrong size!
fi
# end of 'src/plbeg.c'
fi
if test -f 'src/plclr.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plclr.c'\"
else
echo shar: Extracting \"'src/plclr.c'\" \(160 characters\)
sed "s/^X//" >'src/plclr.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plclr()
X{
X   PLINT level;
X   glev(&level);
X   if (level < 1)
X      plexit("Please call plstar before calling plclr.");
X
X   grclr();
X}
END_OF_FILE
if test 160 -ne `wc -c <'src/plclr.c'`; then
    echo shar: \"'src/plclr.c'\" unpacked with wrong size!
fi
# end of 'src/plclr.c'
fi
if test -f 'src/plcol.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plcol.c'\"
else
echo shar: Extracting \"'src/plcol.c'\" \(336 characters\)
sed "s/^X//" >'src/plcol.c' <<'END_OF_FILE'
X/* Sets line color */
X
X#include "plplot.h"
X
Xvoid plcol(color)
XPLINT color;
X{
X      PLINT font,col;
X      PLINT level;
X
X      glev(&level);
X      if (level < 1)  plexit("Please call plstar before calling plcol.");
X      if (color < 0)  plexit("Invalid color in plcol.");
X
X      gatt(&font,&col);
X      satt(font,color);
X      grcol();
X}
END_OF_FILE
if test 336 -ne `wc -c <'src/plcol.c'`; then
    echo shar: \"'src/plcol.c'\" unpacked with wrong size!
fi
# end of 'src/plcol.c'
fi
if test -f 'src/plcvec.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plcvec.c'\"
else
echo shar: Extracting \"'src/plcvec.c'\" \(719 characters\)
sed "s/^X//" >'src/plcvec.c' <<'END_OF_FILE'
X/* Gets the character digitisation of Hershey table entry "char" */
X/* Returns 1 if there is a valid entry */
X
Xextern short int *fntbffr;
Xextern short int *fntindx;
Xextern short int indxleng;
X
X#include "plplot.h"
X#define STLEN     250
X
Xstatic SCHAR xygrid[STLEN];
X
Xstruct point {
X   SCHAR x, y;
X};
X
XPLINT plcvec(ch,xygr)
XPLINT ch;
XSCHAR **xygr;
X{
X
X   PLINT k=0, ib;
X   struct point *pt;
X
X   ch--;
X   if (ch < 0 || ch >= indxleng) return((PLINT)0);
X   ib = fntindx[ch]-2;
X   if (ib == -2) return((PLINT)0);
X
X   do {
X     ib++;
X     pt = (struct point *)&fntbffr[ib];
X     xygrid[k++]=pt->x;
X     xygrid[k++]=pt->y;
X   } while ((pt->x != 64 || pt->y != 64) && k <= (STLEN-2));
X
X   *xygr = xygrid;
X   return((PLINT)1);
X}
X
END_OF_FILE
if test 719 -ne `wc -c <'src/plcvec.c'`; then
    echo shar: \"'src/plcvec.c'\" unpacked with wrong size!
fi
# end of 'src/plcvec.c'
fi
if test -f 'src/plend.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plend.c'\"
else
echo shar: Extracting \"'src/plend.c'\" \(261 characters\)
sed "s/^X//" >'src/plend.c' <<'END_OF_FILE'
X/* Ends a plotting session */
X
X#include "plplot.h"
X#include "declare.h"
X
Xvoid plend()
X{
X   PLINT dev, term, gra, level;
X
X   glev(&level);
X   if (level == 0) return;
X   gdev(&dev,&term,&gra);
X   if (gra != 0) pltext();
X   plfontrel();
X   grtidy();
X   slev(0);
X}
END_OF_FILE
if test 261 -ne `wc -c <'src/plend.c'`; then
    echo shar: \"'src/plend.c'\" unpacked with wrong size!
fi
# end of 'src/plend.c'
fi
if test -f 'src/plerrx.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plerrx.c'\"
else
echo shar: Extracting \"'src/plerrx.c'\" \(346 characters\)
sed "s/^X//" >'src/plerrx.c' <<'END_OF_FILE'
X/* Plots horizontal error bars (xmin(i),y(i)) to (xmax(i),y(i)) */
X
X#include "plplot.h"
X
Xvoid plerrx(n,xmin,xmax,y)
XPLINT n;
XPLFLT *xmin, *xmax, *y;
X{
X      PLINT level;
X      short i;
X
X      glev(&level);
X      if (level < 3) plexit("Please set up window before calling plerrx.");
X      for (i=0;i<n;i++)
X        plerx1(xmin[i],xmax[i],y[i]);
X}
END_OF_FILE
if test 346 -ne `wc -c <'src/plerrx.c'`; then
    echo shar: \"'src/plerrx.c'\" unpacked with wrong size!
fi
# end of 'src/plerrx.c'
fi
if test -f 'src/plerry.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plerry.c'\"
else
echo shar: Extracting \"'src/plerry.c'\" \(342 characters\)
sed "s/^X//" >'src/plerry.c' <<'END_OF_FILE'
X/* Plots vertical error bars (x,ymin(i)) to (x(i),ymax(i)) */
X
X#include "plplot.h"
X
Xvoid plerry(n,x,ymin,ymax)
XPLINT n;
XPLFLT *x, *ymin, *ymax;
X{
X      PLINT level;
X      short i;
X
X      glev(&level);
X      if (level < 3) plexit("Please set up window before calling plerry.");
X      for(i=0; i<n; i++)
X        plery1(x[i],ymin[i],ymax[i]);
X}
END_OF_FILE
if test 342 -ne `wc -c <'src/plerry.c'`; then
    echo shar: \"'src/plerry.c'\" unpacked with wrong size!
fi
# end of 'src/plerry.c'
fi
if test -f 'src/plerx1.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plerx1.c'\"
else
echo shar: Extracting \"'src/plerx1.c'\" \(425 characters\)
sed "s/^X//" >'src/plerx1.c' <<'END_OF_FILE'
X/* Plots single horizontal error bar */
X
X#include "plplot.h"
X#include <math.h>
X
Xvoid plerx1(xmin,xmax,y)
XPLFLT xmin, xmax, y;
X{
X      PLFLT mindef, minht, xpmm, ypmm;
X      PLINT yminor;
X
X      gmin(&mindef,&minht);
X      gpixmm(&xpmm,&ypmm);
X      yminor = max(1.0,minht*ypmm);
X      movwor(xmin,y);
X      plxtik(wcpcx(xmin),wcpcy(y),yminor,yminor);
X      drawor(xmax,y);
X      plxtik(wcpcx(xmax),wcpcy(y),yminor,yminor);
X}
END_OF_FILE
if test 425 -ne `wc -c <'src/plerx1.c'`; then
    echo shar: \"'src/plerx1.c'\" unpacked with wrong size!
fi
# end of 'src/plerx1.c'
fi
if test -f 'src/plery1.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plery1.c'\"
else
echo shar: Extracting \"'src/plery1.c'\" \(423 characters\)
sed "s/^X//" >'src/plery1.c' <<'END_OF_FILE'
X/* Plots single vertical error bar */
X
X#include "plplot.h"
X#include <math.h>
X
Xvoid plery1(x,ymin,ymax)
XPLFLT x, ymin, ymax;
X{
X      PLFLT mindef, minht, xpmm, ypmm;
X      PLINT xminor;
X
X      gmin(&mindef,&minht);
X      gpixmm(&xpmm,&ypmm);
X      xminor = max(1.0,minht*xpmm);
X      movwor(x,ymin);
X      plytik(wcpcx(x),wcpcy(ymin),xminor,xminor);
X      drawor(x,ymax);
X      plytik(wcpcx(x),wcpcy(ymax),xminor,xminor);
X}
END_OF_FILE
if test 423 -ne `wc -c <'src/plery1.c'`; then
    echo shar: \"'src/plery1.c'\" unpacked with wrong size!
fi
# end of 'src/plery1.c'
fi
if test -f 'src/plexit.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plexit.c'\"
else
echo shar: Extracting \"'src/plexit.c'\" \(506 characters\)
sed "s/^X//" >'src/plexit.c' <<'END_OF_FILE'
X/* In case of an error this routine is called.  It just prints out the
X   error message and trys to clean up as much as possible.
X   The user should write his/her own pl_exit() routine, if cleanup needs to
X   be done in the user program. */
X
X#include "plplot.h"
X#include <stdio.h>
X
Xvoid plexit(errormsg)
Xchar *errormsg;
X{
X   PLINT level;
X   void pl_exit();
X
X   fprintf(stderr,"\n%s\n",errormsg);
X   glev(&level);
X   if(level > 0) grtidy();
X   plfontrel();
X   pl_exit();
X   exit(1);
X}
X
Xvoid pl_exit()
X{
X}
X
X
END_OF_FILE
if test 506 -ne `wc -c <'src/plexit.c'`; then
    echo shar: \"'src/plexit.c'\" unpacked with wrong size!
fi
# end of 'src/plexit.c'
fi
if test -f 'src/plfont.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plfont.c'\"
else
echo shar: Extracting \"'src/plfont.c'\" \(313 characters\)
sed "s/^X//" >'src/plfont.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plfont(ifont)
XPLINT ifont;
X{
X      PLINT ifnt,icol;
X      PLINT level;
X
X      glev(&level);
X      if (level < 1) plexit("Please call plstar before calling plfont.");
X
X      if (ifont < 1 || ifont > 4) plexit("Invalid font in plfont.");
X      gatt(&ifnt,&icol);
X      satt(ifont,icol);
X}
END_OF_FILE
if test 313 -ne `wc -c <'src/plfont.c'`; then
    echo shar: \"'src/plfont.c'\" unpacked with wrong size!
fi
# end of 'src/plfont.c'
fi
if test -f 'src/plgra.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plgra.c'\"
else
echo shar: Extracting \"'src/plgra.c'\" \(190 characters\)
sed "s/^X//" >'src/plgra.c' <<'END_OF_FILE'
X/* Switches to graphics mode */
X
X#include "plplot.h"
X
Xvoid plgra()
X{
X      PLINT level;
X      glev(&level);
X      if (level < 1) plexit("Please call plstar before plgra.");
X      grgra();
X}
END_OF_FILE
if test 190 -ne `wc -c <'src/plgra.c'`; then
    echo shar: \"'src/plgra.c'\" unpacked with wrong size!
fi
# end of 'src/plgra.c'
fi
if test -f 'src/plgspa.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plgspa.c'\"
else
echo shar: Extracting \"'src/plgspa.c'\" \(506 characters\)
sed "s/^X//" >'src/plgspa.c' <<'END_OF_FILE'
X/* Gets subpage boundaries in absolute coordinates (mm from bottom */
X/* left-hand corner of page) */
X
X#include "plplot.h"
X
Xvoid plgspa(xmin,xmax,ymin,ymax)
XPLFLT *xmin, *xmax, *ymin, *ymax;
X{
X      PLFLT spdxmi, spdxma, spdymi, spdyma;
X      PLINT level;
X
X      glev(&level);
X      if (level < 1) plexit("Please call plstar before plgspa.");
X      gspd(&spdxmi,&spdxma,&spdymi,&spdyma);
X      *xmin = dcmmx(spdxmi);
X      *xmax = dcmmx(spdxma);
X      *ymin = dcmmy(spdymi);
X      *ymax = dcmmy(spdyma);
X}
END_OF_FILE
if test 506 -ne `wc -c <'src/plgspa.c'`; then
    echo shar: \"'src/plgspa.c'\" unpacked with wrong size!
fi
# end of 'src/plgspa.c'
fi
if test -f 'src/pljoin.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/pljoin.c'\"
else
echo shar: Extracting \"'src/pljoin.c'\" \(108 characters\)
sed "s/^X//" >'src/pljoin.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid pljoin(x1,y1,x2,y2)
XPLFLT x1, x2, y1, y2;
X{
X   movwor(x1,y1);
X   drawor(x2,y2);
X}
END_OF_FILE
if test 108 -ne `wc -c <'src/pljoin.c'`; then
    echo shar: \"'src/pljoin.c'\" unpacked with wrong size!
fi
# end of 'src/pljoin.c'
fi
if test -f 'src/pllab.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/pllab.c'\"
else
echo shar: Extracting \"'src/pllab.c'\" \(412 characters\)
sed "s/^X//" >'src/pllab.c' <<'END_OF_FILE'
X/* Simple routine for labelling graphs */
X
X#include "plplot.h"
X
Xvoid pllab(xlabel, ylabel, tlabel)
Xchar *xlabel, *ylabel, *tlabel;
X{
X   PLINT level;
X
X   glev(&level);
X   if (level < 2) plexit("Please set up viewport before calling pllab.");
X
X   plmtex("t",(PLFLT)2.0,(PLFLT)0.5,(PLFLT)0.5,tlabel);
X   plmtex("b",(PLFLT)3.2,(PLFLT)0.5,(PLFLT)0.5,xlabel);
X   plmtex("l",(PLFLT)5.0,(PLFLT)0.5,(PLFLT)0.5,ylabel);
X}
END_OF_FILE
if test 412 -ne `wc -c <'src/pllab.c'`; then
    echo shar: \"'src/pllab.c'\" unpacked with wrong size!
fi
# end of 'src/pllab.c'
fi
if test -f 'src/plline.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plline.c'\"
else
echo shar: Extracting \"'src/plline.c'\" \(261 characters\)
sed "s/^X//" >'src/plline.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plline(n,x,y)
XPLINT n;
XPLFLT *x, *y;
X{
X      PLINT i, level;
X
X      glev(&level);
X      if (level<3) plexit("Please set up window before calling plline.");
X      movwor(x[0],y[0]);
X      for(i=1; i<n; i++)
X        drawor(x[i],y[i]);
X}
END_OF_FILE
if test 261 -ne `wc -c <'src/plline.c'`; then
    echo shar: \"'src/plline.c'\" unpacked with wrong size!
fi
# end of 'src/plline.c'
fi
if test -f 'src/plmesh.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plmesh.c'\"
else
echo shar: Extracting \"'src/plmesh.c'\" \(677 characters\)
sed "s/^X//" >'src/plmesh.c' <<'END_OF_FILE'
X/* Plots a mesh representation of the function z[x][y]. The x values */
X/* are stored as x[0..nx-1], the y values as y[0..ny-1], and the */
X/* z values are in the 2-d array z[][0..ly-1]. The integer "opt" */
X/* specifies: */
X/*  opt = 1:  Draw lines parallel to x-axis */
X/*  opt = 2:  Draw lines parallel to y-axis */
X/*  opt = 3:  Draw lines parallel to both axes */
X
X#include "plplot.h"
X#ifdef PLSTDC
X#include <stdlib.h>
X#else
Xextern void free();
X#endif
X
Xextern PLINT pl3mode;
Xextern PLINT *oldloview;
X
Xvoid plmesh(x,y,z,ly,nx,ny,opt)
XPLINT ly, nx, ny, opt;
XPLFLT *x, *y, *z;
X{
X   pl3mode = 1;
X   plot3d(x,y,z,ly,nx,ny,opt,0);
X
X   free((VOID *)oldloview);
X   pl3mode = 0;
X}
END_OF_FILE
if test 677 -ne `wc -c <'src/plmesh.c'`; then
    echo shar: \"'src/plmesh.c'\" unpacked with wrong size!
fi
# end of 'src/plmesh.c'
fi
if test -f 'src/plpage.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plpage.c'\"
else
echo shar: Extracting \"'src/plpage.c'\" \(52 characters\)
sed "s/^X//" >'src/plpage.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plpage()
X{
X   grpage();
X}
END_OF_FILE
if test 52 -ne `wc -c <'src/plpage.c'`; then
    echo shar: \"'src/plpage.c'\" unpacked with wrong size!
fi
# end of 'src/plpage.c'
fi
if test -f 'src/plpat.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plpat.c'\"
else
echo shar: Extracting \"'src/plpat.c'\" \(479 characters\)
sed "s/^X//" >'src/plpat.c' <<'END_OF_FILE'
X/* Sets line width */
X
X#include "plplot.h"
X#include "declare.h"
X
Xvoid plpat(nlin,inc,del)
XPLINT nlin, *inc, *del;
X{
X   PLINT i, level;
X
X   glev(&level);
X   if (level < 1)  plexit("Please call plstar before calling plpat.");
X   if(nlin<1 || nlin>2) plexit("Only 1 or 2 line styles allowed in plpat.");
X
X   nps = nlin;
X   for(i=0; i<nlin; i++) {
X      inclin[i] = inc[i];
X      delta[i] = del[i];
X      if(del[i] < 0)plexit("Line spacing must be greater than 0 in plpat.");
X   }
X}
END_OF_FILE
if test 479 -ne `wc -c <'src/plpat.c'`; then
    echo shar: \"'src/plpat.c'\" unpacked with wrong size!
fi
# end of 'src/plpat.c'
fi
if test -f 'src/plpoi1.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plpoi1.c'\"
else
echo shar: Extracting \"'src/plpoi1.c'\" \(301 characters\)
sed "s/^X//" >'src/plpoi1.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xextern short int *fntlkup;
Xextern short int numberfonts, numberchars;
X
Xvoid plpoi1(x,y,code)
XPLFLT x,y;
XPLINT code;
X{
X   PLINT sym, font, col;
X
X   /* Initialize parameters. */
X   gatt(&font,&col);
X   sym = *(fntlkup+(font-1)*numberchars+code);
X   plhrsh(sym,wcpcx(x),wcpcy(y));
X}
END_OF_FILE
if test 301 -ne `wc -c <'src/plpoi1.c'`; then
    echo shar: \"'src/plpoi1.c'\" unpacked with wrong size!
fi
# end of 'src/plpoi1.c'
fi
if test -f 'src/plpoin.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plpoin.c'\"
else
echo shar: Extracting \"'src/plpoin.c'\" \(431 characters\)
sed "s/^X//" >'src/plpoin.c' <<'END_OF_FILE'
X/* Plots single precision array y against x for n points using */
X/* ASCII code "code" */
X
X#include "plplot.h"
X
Xvoid plpoin(n,x,y,code)
XPLINT n, code;
XPLFLT *x, *y;
X{
X      short int i;
X      PLINT level;
X
X      glev(&level);
X      if (level < 3) plexit("Please set up window before calling plpoin.");
X      if (code < 0 || code > 127) plexit("Invalid code in plpoin.");
X
X      for(i=0; i<n; i++)
X        plpoi1(x[i],y[i],code);
X}
END_OF_FILE
if test 431 -ne `wc -c <'src/plpoin.c'`; then
    echo shar: \"'src/plpoin.c'\" unpacked with wrong size!
fi
# end of 'src/plpoin.c'
fi
if test -f 'src/plr135.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plr135.c'\"
else
echo shar: Extracting \"'src/plr135.c'\" \(135 characters\)
sed "s/^X//" >'src/plr135.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plr135(ix,iy,isens)
XPLINT *ix, *iy, isens;
X{
X      *ix = -*ix;
X      *iy = -*iy;
X      plr45(ix,iy,isens);
X}
END_OF_FILE
if test 135 -ne `wc -c <'src/plr135.c'`; then
    echo shar: \"'src/plr135.c'\" unpacked with wrong size!
fi
# end of 'src/plr135.c'
fi
if test -f 'src/plr45.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plr45.c'\"
else
echo shar: Extracting \"'src/plr45.c'\" \(239 characters\)
sed "s/^X//" >'src/plr45.c' <<'END_OF_FILE'
X#include "plplot.h"
X#include <math.h>
X
Xvoid plr45(ix,iy,isens)
XPLINT *ix, *iy, isens;
X{
X      PLINT ixx, iyy;
X
X      ixx = *ix-isens*(*iy);
X      iyy = *ix * isens + *iy;
X      *ix = ixx/max(1,abs(ixx));
X      *iy = iyy/max(1,abs(iyy));
X}
END_OF_FILE
if test 239 -ne `wc -c <'src/plr45.c'`; then
    echo shar: \"'src/plr45.c'\" unpacked with wrong size!
fi
# end of 'src/plr45.c'
fi
if test -f 'src/plschr.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plschr.c'\"
else
echo shar: Extracting \"'src/plschr.c'\" \(231 characters\)
sed "s/^X//" >'src/plschr.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plschr(def,scale)
XPLFLT def,scale;
X{
X    PLFLT defalt, ht;
X
X    if (def != 0.0)
X       schr(def,(PLFLT)(scale*def));
X    else {
X       gchr(&defalt,&ht);
X       schr(defalt,(PLFLT)(scale*defalt));
X    }
X}
END_OF_FILE
if test 231 -ne `wc -c <'src/plschr.c'`; then
    echo shar: \"'src/plschr.c'\" unpacked with wrong size!
fi
# end of 'src/plschr.c'
fi
if test -f 'src/plsmaj.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plsmaj.c'\"
else
echo shar: Extracting \"'src/plsmaj.c'\" \(231 characters\)
sed "s/^X//" >'src/plsmaj.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plsmaj(def,scale)
XPLFLT def,scale;
X{
X    PLFLT defalt, ht;
X
X    if (def != 0.0)
X       smaj(def,(PLFLT)(scale*def));
X    else {
X       gmaj(&defalt,&ht);
X       smaj(defalt,(PLFLT)(scale*defalt));
X    }
X}
END_OF_FILE
if test 231 -ne `wc -c <'src/plsmaj.c'`; then
    echo shar: \"'src/plsmaj.c'\" unpacked with wrong size!
fi
# end of 'src/plsmaj.c'
fi
if test -f 'src/plsmin.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plsmin.c'\"
else
echo shar: Extracting \"'src/plsmin.c'\" \(233 characters\)
sed "s/^X//" >'src/plsmin.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plsmin(def,scale)
XPLFLT def, scale;
X{
X    PLFLT defalt, ht;
X
X    if (def !=  0.0)
X       smin(def,(PLFLT)(scale*def));
X    else {
X       gmin(&defalt,&ht);
X       smin(defalt,(PLFLT)(scale*defalt));
X    }
X}
END_OF_FILE
if test 233 -ne `wc -c <'src/plsmin.c'`; then
    echo shar: \"'src/plsmin.c'\" unpacked with wrong size!
fi
# end of 'src/plsmin.c'
fi
if test -f 'src/plssym.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plssym.c'\"
else
echo shar: Extracting \"'src/plssym.c'\" \(230 characters\)
sed "s/^X//" >'src/plssym.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plssym(def,scale)
XPLFLT def,scale;
X{
X    PLFLT defalt,ht;
X
X    if (def != 0.0)
X       ssym(def,(PLFLT)(scale*def));
X    else {
X       gsym(&defalt,&ht);
X       ssym(defalt,(PLFLT)(scale*defalt));
X    }
X}
END_OF_FILE
if test 230 -ne `wc -c <'src/plssym.c'`; then
    echo shar: \"'src/plssym.c'\" unpacked with wrong size!
fi
# end of 'src/plssym.c'
fi
if test -f 'src/plstik.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plstik.c'\"
else
echo shar: Extracting \"'src/plstik.c'\" \(298 characters\)
sed "s/^X//" >'src/plstik.c' <<'END_OF_FILE'
X/* Draws a slanting tick at position (mx,my) (measured in mm) of */
X/* vector length (dx,dy) */
X
X#include "plplot.h"
X
Xvoid plstik(mx,my,dx,dy)
XPLFLT mx, my, dx, dy;
X{
X      draphy(mmpcx(mx),mmpcy(my));
X      draphy(mmpcx((PLFLT)(mx+dx)),mmpcy((PLFLT)(my+dy)));
X      draphy(mmpcx(mx),mmpcy(my));
X}
END_OF_FILE
if test 298 -ne `wc -c <'src/plstik.c'`; then
    echo shar: \"'src/plstik.c'\" unpacked with wrong size!
fi
# end of 'src/plstik.c'
fi
if test -f 'src/plsym.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plsym.c'\"
else
echo shar: Extracting \"'src/plsym.c'\" \(420 characters\)
sed "s/^X//" >'src/plsym.c' <<'END_OF_FILE'
X/* Plots single precision array y against x for n points using */
X/* Hershey symbol "code" */
X
X#include "plplot.h"
X
Xvoid plsym(n,x,y,code)
XPLINT n, code;
XPLFLT x[],y[];
X{
X      short int i;
X      PLINT level;
X
X      glev(&level);
X      if (level < 3) plexit("Please set up window before calling plsym.");
X      if (code < 0) plexit("Invalid code in plsym.");
X
X      for (i=0; i<n; i++)
X        plsym1(x[i],y[i],code);
X}
END_OF_FILE
if test 420 -ne `wc -c <'src/plsym.c'`; then
    echo shar: \"'src/plsym.c'\" unpacked with wrong size!
fi
# end of 'src/plsym.c'
fi
if test -f 'src/plsym1.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plsym1.c'\"
else
echo shar: Extracting \"'src/plsym1.c'\" \(108 characters\)
sed "s/^X//" >'src/plsym1.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plsym1(x,y,code)
XPLFLT x,y;
XPLINT code;
X{
X      plhrsh(code,wcpcx(x),wcpcy(y));
X}
END_OF_FILE
if test 108 -ne `wc -c <'src/plsym1.c'`; then
    echo shar: \"'src/plsym1.c'\" unpacked with wrong size!
fi
# end of 'src/plsym1.c'
fi
if test -f 'src/pltext.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/pltext.c'\"
else
echo shar: Extracting \"'src/pltext.c'\" \(204 characters\)
sed "s/^X//" >'src/pltext.c' <<'END_OF_FILE'
X/* Switches back to text mode */
X
X#include "plplot.h"
X
Xvoid pltext()
X{
X      PLINT level;
X
X      glev(&level);
X      if (level < 1) plexit("Please call plstar before calling pltext.");
X
X      grtext();
X}
END_OF_FILE
if test 204 -ne `wc -c <'src/pltext.c'`; then
    echo shar: \"'src/pltext.c'\" unpacked with wrong size!
fi
# end of 'src/pltext.c'
fi
if test -f 'src/plvsta.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plvsta.c'\"
else
echo shar: Extracting \"'src/plvsta.c'\" \(891 characters\)
sed "s/^X//" >'src/plvsta.c' <<'END_OF_FILE'
X/* Defines a "standard" viewport with seven character heights for   */
X/* the left margin and four character heights everywhere else       */
X
X#include "plplot.h"
X
Xvoid plvsta()
X{
X    PLFLT xmin, xmax, ymin, ymax;
X    PLFLT chrdef, chrht, spdxmi, spdxma, spdymi, spdyma;
X    PLINT level;
X
X    glev(&level);
X    if (level < 1) plexit("Please call plstar before calling plvsta.");
X
X    gchr(&chrdef,&chrht);
X    gspd(&spdxmi,&spdxma,&spdymi,&spdyma);
X
X/*  Find out position of subpage boundaries in millimetres, reduce by */
X/*  the desired border, and convert back into normalized subpage */
X/*  coordinates */
X
X    xmin = dcscx(mmdcx((PLFLT)(dcmmx(spdxmi) + 7 * chrht)));
X    xmax = dcscx(mmdcx((PLFLT)(dcmmx(spdxma) - 4 * chrht)));
X    ymin = dcscy(mmdcy((PLFLT)(dcmmy(spdymi) + 4 * chrht)));
X    ymax = dcscy(mmdcy((PLFLT)(dcmmy(spdyma) - 4 * chrht)));
X
X    plvpor(xmin,xmax,ymin,ymax);
X}
END_OF_FILE
if test 891 -ne `wc -c <'src/plvsta.c'`; then
    echo shar: \"'src/plvsta.c'\" unpacked with wrong size!
fi
# end of 'src/plvsta.c'
fi
if test -f 'src/plwid.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plwid.c'\"
else
echo shar: Extracting \"'src/plwid.c'\" \(228 characters\)
sed "s/^X//" >'src/plwid.c' <<'END_OF_FILE'
X/* Sets line width */
X
X#include "plplot.h"
X
Xvoid plwid(width)
XPLINT width;
X{
X      PLINT level;
X
X      glev(&level);
X      if (level < 1)  plexit("Please call plstar before calling plwid.");
X
X      swid(width);
X      grwid();
X}
END_OF_FILE
if test 228 -ne `wc -c <'src/plwid.c'`; then
    echo shar: \"'src/plwid.c'\" unpacked with wrong size!
fi
# end of 'src/plwid.c'
fi
if test -f 'src/plxtik.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plxtik.c'\"
else
echo shar: Extracting \"'src/plxtik.c'\" \(200 characters\)
sed "s/^X//" >'src/plxtik.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plxtik(x,y,below,above)
XPLINT x, y, below, above;
X{
X      draphy(x,y);
X      if (below != 0) draphy(x,y-below);
X      if (above != 0) draphy(x,y+above);
X      draphy(x,y);
X}
END_OF_FILE
if test 200 -ne `wc -c <'src/plxtik.c'`; then
    echo shar: \"'src/plxtik.c'\" unpacked with wrong size!
fi
# end of 'src/plxtik.c'
fi
if test -f 'src/plytik.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/plytik.c'\"
else
echo shar: Extracting \"'src/plytik.c'\" \(196 characters\)
sed "s/^X//" >'src/plytik.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xvoid plytik(x,y,left,right)
XPLINT x, y, left, right;
X{
X      draphy(x,y);
X      if (left != 0) draphy(x-left,y);
X      if (right != 0) draphy(x+right,y);
X      draphy(x,y);
X}
END_OF_FILE
if test 196 -ne `wc -c <'src/plytik.c'`; then
    echo shar: \"'src/plytik.c'\" unpacked with wrong size!
fi
# end of 'src/plytik.c'
fi
if test -f 'src/setphy.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/setphy.c'\"
else
echo shar: Extracting \"'src/setphy.c'\" \(570 characters\)
sed "s/^X//" >'src/setphy.c' <<'END_OF_FILE'
X/* Sets up physical limits of plotting device and the mapping between */
X/* normalized device coordinates and physical coordinates */
X
X#include "plplot.h"
X
Xvoid setphy(xmin,xmax,ymin,ymax)
XPLINT xmin,xmax,ymin,ymax;
X{
X    PLFLT xpmm, ypmm, mpxscl, mpyscl;
X
X    sphy(xmin,xmax,ymin,ymax);
X    sdp((PLFLT)(xmax-xmin),(PLFLT)(xmin),(PLFLT)(ymax-ymin),
X         (PLFLT)(ymin));
X
X    gpixmm(&xpmm,&ypmm);
X    mpxscl = xpmm;
X    if (xmax <= xmin) mpxscl = -xpmm;
X    mpyscl = ypmm;
X    if (ymax <= ymin) mpyscl = -ypmm;
X    smp(mpxscl,(PLFLT)(xmin), mpyscl,(PLFLT)(ymin));
X}
X
END_OF_FILE
if test 570 -ne `wc -c <'src/setphy.c'`; then
    echo shar: \"'src/setphy.c'\" unpacked with wrong size!
fi
# end of 'src/setphy.c'
fi
if test -f 'src/setpxl.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/setpxl.c'\"
else
echo shar: Extracting \"'src/setpxl.c'\" \(247 characters\)
sed "s/^X//" >'src/setpxl.c' <<'END_OF_FILE'
X/* Sets up pixel size from the number of pixels/mm in each direction */
X
X#include "plplot.h"
X#include "declare.h"
X
Xvoid setpxl(xpmm0,ypmm0)
XPLFLT xpmm0,ypmm0;
X{
X    xpmm = xpmm0;
X    ypmm = ypmm0;
X    umx  = 1000.0/xpmm;
X    umy  = 1000.0/ypmm;
X}
END_OF_FILE
if test 247 -ne `wc -c <'src/setpxl.c'`; then
    echo shar: \"'src/setpxl.c'\" unpacked with wrong size!
fi
# end of 'src/setpxl.c'
fi
if test -f 'src/setsub.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/setsub.c'\"
else
echo shar: Extracting \"'src/setsub.c'\" \(793 characters\)
sed "s/^X//" >'src/setsub.c' <<'END_OF_FILE'
X/* Sets up the subpage boundaries according to the current subpage  */
X/* selected */
X
X#include "plplot.h"
X
Xvoid setsub()
X{
X      PLINT ix, iy;
X      PLINT nsubx, nsuby, cursub;
X      PLFLT spdxmi, spdxma, spdymi, spdyma;
X      PLINT sppxmi, sppxma, sppymi, sppyma;
X
X      gsub(&nsubx,&nsuby,&cursub);
X      ix = (cursub-1)%nsubx;
X      iy = nsuby - (cursub-1)/nsubx;
X
X      spdxmi = (PLFLT)(ix)/(PLFLT)(nsubx);
X      spdxma = (PLFLT)(ix+1)/(PLFLT)(nsubx);
X      spdymi = (PLFLT)(iy-1)/(PLFLT)(nsuby);
X      spdyma = (PLFLT)(iy)/(PLFLT)(nsuby);
X      sspd(spdxmi,spdxma,spdymi,spdyma);
X
X      sppxmi = dcpcx(spdxmi);
X      sppxma = dcpcx(spdxma);
X      sppymi = dcpcy(spdymi);
X      sppyma = dcpcy(spdyma);
X      sspp(sppxmi,sppxma,sppymi,sppyma);
X
X      sclp(sppxmi,sppxma,sppymi,sppyma);
X
X}
END_OF_FILE
if test 793 -ne `wc -c <'src/setsub.c'`; then
    echo shar: \"'src/setsub.c'\" unpacked with wrong size!
fi
# end of 'src/setsub.c'
fi
if test -f 'src/stindex.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/stindex.c'\"
else
echo shar: Extracting \"'src/stindex.c'\" \(453 characters\)
sed "s/^X//" >'src/stindex.c' <<'END_OF_FILE'
X#include "plplot.h"
X
XPLINT stindex(str1,str2)
Xchar *str1,*str2;
X{
X    PLINT base;
X    PLINT str1ind;
X    PLINT str2ind;
X
X    for(base=0; *(str1+base)!='\0'; base++) {
X        for(str1ind=base, str2ind=0; *(str2+str2ind)!='\0' &&
X            *(str2+str2ind) == *(str1+str1ind); str1ind++, str2ind++)
X            ;   /* no body */
X
X        if(*(str2+str2ind) == '\0')
X            return((PLINT)base);
X    }
X    return((PLINT)-1);    /* search failed */
X}
END_OF_FILE
if test 453 -ne `wc -c <'src/stindex.c'`; then
    echo shar: \"'src/stindex.c'\" unpacked with wrong size!
fi
# end of 'src/stindex.c'
fi
if test -f 'src/strpos.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/strpos.c'\"
else
echo shar: Extracting \"'src/strpos.c'\" \(493 characters\)
sed "s/^X//" >'src/strpos.c' <<'END_OF_FILE'
X/* Searches string str for first occurence of character chr.  If found */
X/* the position of the character in the string is returned (the first  */
X/* character has position 0).  If the character is not found a -1 is   */
X/* returned. */
X
X#include "plplot.h"
X#ifdef PLSTDC
X#include <string.h>
X#else
Xextern char *strchr();
X#endif
X
XPLINT strpos(str,chr)
Xchar *str,chr;
X{
X    char *temp;
X
X    if (temp = strchr(str,chr))
X        return((PLINT)(temp - str));
X    else
X        return((PLINT)-1);
X}
END_OF_FILE
if test 493 -ne `wc -c <'src/strpos.c'`; then
    echo shar: \"'src/strpos.c'\" unpacked with wrong size!
fi
# end of 'src/strpos.c'
fi
if test -f 'src/stsearch.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/stsearch.c'\"
else
echo shar: Extracting \"'src/stsearch.c'\" \(367 characters\)
sed "s/^X//" >'src/stsearch.c' <<'END_OF_FILE'
X/* Searches string str for character chr (case insensitive) */
X
X#include "plplot.h"
X#include <ctype.h>
X#ifdef PLSTDC
X#include <string.h>
X#else
Xextern char *strchr();
X#endif
X
XPLINT stsearch(str,chr)
Xchar *str,chr;
X{
X    if (strchr(str,chr))
X        return((PLINT)1);
X    else if(strchr(str,toupper(chr)))
X        return((PLINT)1);
X    else
X        return((PLINT)0);
X}
END_OF_FILE
if test 367 -ne `wc -c <'src/stsearch.c'`; then
    echo shar: \"'src/stsearch.c'\" unpacked with wrong size!
fi
# end of 'src/stsearch.c'
fi
if test -f 'src/xform.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/xform.c'\"
else
echo shar: Extracting \"'src/xform.c'\" \(170 characters\)
sed "s/^X//" >'src/xform.c' <<'END_OF_FILE'
X#include "plplot.h"
X
Xextern PLFLT tr[];
X
Xvoid xform(x,y,tx,ty)
XPLFLT x, y, *tx, *ty;
X{
X   *tx = tr[0] * x + tr[1] * y + tr[2];
X   *ty = tr[3] * x + tr[4] * y + tr[5];
X}
X
END_OF_FILE
if test 170 -ne `wc -c <'src/xform.c'`; then
    echo shar: \"'src/xform.c'\" unpacked with wrong size!
fi
# end of 'src/xform.c'
fi
if test ! -d 'unix' ; then
    echo shar: Creating directory \"'unix'\"
    mkdir 'unix'
fi
if test -f 'unix/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'unix/README'\"
else
echo shar: Extracting \"'unix/README'\" \(519 characters\)
sed "s/^X//" >'unix/README' <<'END_OF_FILE'
XSorry, I don't offer much help here.  You'll need to create a library
Xwith all the stuff in the src and this directory in it. (You don't need
Xthe Amiga or drivers directories).  
X
XBe sure to set things up correctly in plplot.h in the include directory.
XEspecially the font directory location!
X
XI've written a set of stub routines so that the library can be used
Xfrom a Fortan program.  They are not provided, but if you want them
Xjust contact me. I'll galdly give them to you. (These may not work
Xon all unix systems).
END_OF_FILE
if test 519 -ne `wc -c <'unix/README'`; then
    echo shar: \"'unix/README'\" unpacked with wrong size!
fi
# end of 'unix/README'
fi
echo shar: End of archive 1 \(of 12\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 12 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
	amiga@cs.odu.edu	
or	amiga@xanth.cs.odu.edu	( obsolescent mailers may need this address )
or	...!uunet!xanth!amiga	( very obsolescent mailers need this address )

Comments, questions, and suggestions s should be addressed to ``amiga-request''
(only use ``amiga'' for submissions) at the above addresses.