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.