mirror of
https://github.com/PDP-10/its.git
synced 2026-01-19 09:29:15 +00:00
276 lines
12 KiB
Plaintext
276 lines
12 KiB
Plaintext
'<PCODE "2PLOTSO">
|
|
<PACKAGE "PLOTSO">
|
|
|
|
<ENTRY GRAPH GRFUNC PLOT REGRAPH ERASE_S SCALE SURPRESS-GRAPH-NUMBERS GRAPH_DATA
|
|
GRAPH_TITLE GRAPH_X GRAPH_Y GRAPH_COMMENT CLEAR-GRAPHS NUMPRINT DEMO NO-DRAW
|
|
END_DEMO GRFLIST BACKSPACE>
|
|
|
|
<USE "GS">
|
|
|
|
<NEWTYPE GRFLIST LIST>
|
|
|
|
<PRINTTYPE GRFLIST <FUNCTION (X) T>>
|
|
|
|
<USE-DEFER "GSTTYC">
|
|
|
|
<COND (<NOT <GASSIGNED? G_R!-GSTTYC!-PACKAGE>> <PRINC
|
|
"YOU MAY WANT TO EVALUATE <G_R>"> <USE "GSTTYC"> <G_R!-GSTTYC!-PACKAGE <>>)>
|
|
|
|
<DROP "GSTTYC">
|
|
|
|
<SET GLOBAL_GRAPHS <CHTYPE () GRFLIST>>
|
|
|
|
<SET GLOBAL_MAKE_GRID T>
|
|
|
|
<SET GLOBAL_CONSERVE_SCALE <>>
|
|
|
|
<SET SMOOTH-TOL '0.5>
|
|
|
|
<SET OLD_INC 0.5E-1>
|
|
|
|
<SET OLD_MIN 0>
|
|
|
|
<SET OLD_MAX 1>
|
|
|
|
<SET OLD_VAR T>
|
|
|
|
<SET OLD_FORM '<SIN .T>>
|
|
|
|
<SETG GRFUNC %<RSUBR!- '[ %<PCODE!- "2PLOTSO" 0> GRFUNC #DECL ("VALUE" ANY <OR
|
|
FUNCTION SUBR FSUBR RSUBR> "OPTIONAL" <OR FLOAT FIX> <OR FLOAT FIX> <OR FLOAT
|
|
FIX>) GFMUNGER GSSCALE LINE_SEG GSTEXT POSITION GFMUNG MAPPER GSEND-UPDATES
|
|
GSEND GSREMOVE GSCHANGE GSBLANK REGRAPHER AGRITCH GSUNBLANK GSBEGIN VEC_PLOTTER
|
|
OLD_MAX OLD_MIN OLD_INC NOERASE T (ANY) MIN-IS-G=?-MAX!-ERROR GRFUNC %<TYPE-W
|
|
GRFLIST LIST> GRF "FUNCTION = " " MIN = " " MAX = " " INC = " "
|
|
" TITLE GLOBAL_GRAPHS GLOBAL_MAKE_GRID GLOBAL_CONSERVE_SCALE OLD_FORM OLD_VAR
|
|
VARLIST MARKER GRAPH "FORM = " " VAR = " "
|
|
" [LVAL GVAL VALUE] " = " " " #FALSE () RBOUND LBOUND SMOOTH-TOL
|
|
TBOUND BBOUND %<RGLOC DO_VEC_P T> X-MY OY-MY NOTHING-PLOTTED!-ERRORS THIN-PLOT
|
|
PLOT GRIT_EXPLNTN_POSN FANCY_CHAR "plot
|
|
" PROG (GIFTEMP) SET GIFTEMP READ <AND <TYPE? .GIFTEMP FIX FLOAT> .GIFTEMP> AND
|
|
NOT EMPTY? LVAL REST + #FALSE (NO-CHANGES) %<RSUBR!- '[ %<PCODE!- "2PLOTSO"
|
|
7073> ANONF1!-TMP #DECL ("VALUE" FIX "TUPLE" TUPLE)]> (<GRFLIST [REST VECTOR]>)
|
|
NEED-BLANKING HAVE-BLANKED EMPTY-GRFLIST-ARGUMENT--ERRET-ANYTHING!-ERRORS
|
|
%<RSUBR!- '[ %<PCODE!- "2PLOTSO" 7119> ANONF1!-TMP #DECL ("VALUE" VECTOR
|
|
"TUPLE" TUPLE) J (FIX) X-MY]> REGRAPH-INDEX-OUT-OF-RANGE--ERRET-ANYTHING!-ERRORS
|
|
DUPL-REGRAPH-INDEX--ERRET-ANYTHING!-ERROR PLOT-SEGMENT CONSERVE_SCALE XMIN XMAX
|
|
YMIN YMAX XMIN1 XMAX1 YMIN1 YMAX1 PLOT_SCALE <COND (.CONSERVE_SCALE <GSSCALE .
|
|
XMIN1 .XMAX1 .YMIN1 .YMAX1>) (T <GENEROUS_SCALE .XMIN .XMAX .YMIN .YMAX>)>
|
|
NO-DRAW %<TYPE-W GSEG VECTOR> GRID-IS-NULL <GRID> GTOP BOTTOM RIGHT LEFT DGTL
|
|
" " BSPACES DESIRED_INC (<OR FIX FLOAT>) XX GRFNUM <VEC_P .XX .GRFNUM>
|
|
SURPRESS-GRAPH-NUMBERS DFCS H V -H -V H2 V2 -H2 -V2 FANCY_CHARS GSTEXT
|
|
DEV-DISPATCH ("()") () COMMENT "TITLE: " OUTCHAN "X-AXIS TITLE: "
|
|
"Y-AXIS TITLE: " "DSK:MUDDLE;UGRF DEMO" "" CHRS "READ" RINCHAN "INT:" %<RGLOC
|
|
CHARGIVER T> INCHAN "BEGINNING" %<RGLOC INCHAN T> "DONE" Z '<GSSCALE !.Z>]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,GRFUNC PGLUE ![0 0 0 0 0 0 0 0 0 0!]>>
|
|
|
|
<SETG GRAPH %<RSUBR-ENTRY '[GRFUNC GRAPH #DECL ("VALUE" <GRFLIST [REST VECTOR]>
|
|
"OPTIONAL" <OR FORM FLOAT FIX FALSE> <OR ATOM FALSE> <OR FIX FLOAT> <OR FIX
|
|
FLOAT> <OR FIX FLOAT>)] 183>>
|
|
|
|
<SETG GET_VARS %<RSUBR-ENTRY '[GRFUNC GET_VARS #DECL ("VALUE" ATOM ANY)] 461>>
|
|
|
|
<SETG VEC_CALC %<RSUBR-ENTRY '[GRFUNC VEC_CALC #DECL ("VALUE" VECTOR <OR
|
|
FUNCTION FSUBR RSUBR SUBR> <OR FLOAT FIX> <OR FLOAT FIX> <OR FLOAT FIX>)] 606>>
|
|
|
|
<SETG PLOT %<RSUBR-ENTRY '[GRFUNC PLOT #DECL ("VALUE" <GRFLIST [REST VECTOR]>
|
|
ANY "OPTIONAL" ANY ANY ANY)] 1035>>
|
|
|
|
<SETG GET_ITEM_FORMER %<RSUBR-ENTRY '[GRFUNC GET_ITEM_FORMER #DECL ("VALUE" ANY
|
|
ATOM)] 1382>>
|
|
|
|
<SETG PLOT_CALC %<RSUBR-ENTRY '[GRFUNC PLOT_CALC #DECL ("VALUE" <VECTOR LIST
|
|
FLOAT FLOAT FLOAT FLOAT FIX FALSE> ANY ANY)] 1580>>
|
|
|
|
<SETG THIN-PLOT %<RSUBR-ENTRY '[GRFUNC THIN-PLOT #DECL ("VALUE" <OR FALSE LIST>
|
|
ANY)] 1722>>
|
|
|
|
<SETG AGRITCH %<RSUBR-ENTRY '[GRFUNC AGRITCH #DECL ("VALUE" <VECTOR ANY ANY ANY
|
|
ANY ANY ANY ANY> VECTOR ANY <GRFLIST [REST VECTOR]>)] 2049>>
|
|
|
|
<SET NEED-BLANKING <SET HAVE-BLANKED <>>>
|
|
|
|
<SET GRIT_EXPLNTN_POSN -1>
|
|
|
|
<SET GRID-IS-NULL <>>
|
|
|
|
<SETG REGRAPH %<RSUBR-ENTRY '[GRFUNC REGRAPH #DECL ("VALUE" GRFLIST "TUPLE" <
|
|
TUPLE [REST FIX]>)] 2114>>
|
|
|
|
<SETG REGRAPHER %<RSUBR-ENTRY '[GRFUNC REGRAPHER #DECL ("VALUE" GRFLIST <GRFLIST
|
|
[REST VECTOR]> "TUPLE" <TUPLE [REST FIX]>)] 2149>>
|
|
|
|
<APPLYTYPE GRFLIST ,REGRAPHER>
|
|
|
|
<SETG CLEAR-GRAPHS %<RSUBR-ENTRY '[GRFUNC CLEAR-GRAPHS #DECL ("VALUE" FALSE)]
|
|
2848>>
|
|
|
|
<SETG GIVE-GG %<RSUBR-ENTRY '[GRFUNC GIVE-GG #DECL ("VALUE" <GRFLIST [REST
|
|
VECTOR]>)] 2886>>
|
|
|
|
<SETG VEC_PLOTTER %<RSUBR-ENTRY '[GRFUNC VEC_PLOTTER #DECL ("VALUE" ATOM
|
|
STRUCTURED "OPTIONAL" ANY ANY)] 2975>>
|
|
|
|
<SETG GRSTORE %<RSUBR-ENTRY '[GRFUNC GRSTORE #DECL ("VALUE" <OR ATOM <VECTOR <OR
|
|
FIX FLOAT> <OR FIX FLOAT> <OR FIX FLOAT> <OR FIX FLOAT> <UVECTOR [4 FLOAT]>>>
|
|
"OPTIONAL" ANY ANY)] 3587>>
|
|
|
|
<SETG GRID %<RSUBR-ENTRY '[GRFUNC GRID #DECL ("VALUE" ATOM "OPTIONAL" <OR FIX
|
|
FLOAT> <OR FIX FLOAT> <OR FIX FLOAT>)] 3646>>
|
|
|
|
<SETG NUMPRINT %<RSUBR-ENTRY '[GRFUNC NUMPRINT #DECL ("VALUE" ANY <OR FLOAT FIX>
|
|
<OR FLOAT FIX> "OPTIONAL" ANY)] 4597>>
|
|
|
|
<SETG NUMG? %<RSUBR-ENTRY '[GRFUNC NUMG? #DECL ("VALUE" <OR ATOM FALSE> <OR FIX
|
|
FLOAT> <OR FIX FLOAT>)] 4801>>
|
|
|
|
<SETG NUML? %<RSUBR-ENTRY '[GRFUNC NUML? #DECL ("VALUE" <OR ATOM FALSE> <OR FIX
|
|
FLOAT> <OR FIX FLOAT>)] 4831>>
|
|
|
|
<SETG NUMEQ? %<RSUBR-ENTRY '[GRFUNC NUMEQ? #DECL ("VALUE" <OR ATOM FALSE> <OR
|
|
FIX FLOAT> <OR FIX FLOAT>)] 4861>>
|
|
|
|
<SETG BSPACE %<RSUBR-ENTRY '[GRFUNC BSPACE #DECL ("VALUE" ANY FIX)] 4907>>
|
|
|
|
<SET BSPACES <ISTRING 100 <ASCII 8>>>
|
|
|
|
<SET DGTL 0.15000000E-1>
|
|
|
|
<SET DESIRED_INC 6>
|
|
|
|
<SETG GENEROUS_SCALE %<RSUBR-ENTRY '[GRFUNC GENEROUS_SCALE #DECL ("VALUE" <
|
|
UVECTOR FLOAT FLOAT FLOAT FLOAT> <OR FLOAT FIX> <OR FLOAT FIX> <OR FLOAT FIX> <
|
|
OR FLOAT FIX>)] 4925>>
|
|
|
|
<SETG GENEROUS_BOUNDS %<RSUBR-ENTRY '[GRFUNC GENEROUS_BOUNDS #DECL ("VALUE" <
|
|
VECTOR FLOAT FLOAT [REST FLOAT]> <OR FIX FLOAT> <OR FIX FLOAT>)] 4945>>
|
|
|
|
<SETG NICE_BOUNDS %<RSUBR-ENTRY '[GRFUNC NICE_BOUNDS #DECL ("VALUE" <VECTOR <OR
|
|
FIX FLOAT> <OR FIX FLOAT>> <OR FLOAT FIX> <OR FLOAT FIX> <OR FLOAT FIX>)] 5034>>
|
|
|
|
<SETG NICE_INC %<RSUBR-ENTRY '[GRFUNC NICE_INC #DECL ("VALUE" FLOAT <OR FLOAT
|
|
FIX>)] 5128>>
|
|
|
|
<SETG TEN_ROUND %<RSUBR-ENTRY '[GRFUNC TEN_ROUND #DECL ("VALUE" FLOAT <OR FLOAT
|
|
FIX>)] 5205>>
|
|
|
|
<SETG DO_VEC_P %<RSUBR-ENTRY '[GRFUNC DO_VEC_P #DECL ("VALUE" <OR FALSE <VECTOR
|
|
<OR FIX FLOAT> <OR FIX FLOAT> <OR FIX FLOAT> <OR FIX FLOAT> <UVECTOR [4 FLOAT]>>
|
|
> ANY "OPTIONAL" ANY ANY)] 5261>>
|
|
|
|
<SETG VEC_P %<RSUBR-ENTRY '[GRFUNC VEC_P #DECL ("VALUE" ANY STRUCTURED FIX)]
|
|
5393>>
|
|
|
|
<SET DFCS 1.0E-2>
|
|
|
|
<SET FANCY_CHARS '[<FORM GFMUNG 0 1 .H 0 .-H .-V .-H .V .H .V .H .-V> <FORM
|
|
GFMUNG 0 1 .H .-V .-H2 0 0 .V2 .H2 0 0 .-V2> <FORM GFMUNG 0 1 .H .V .-H2 .-V2 .H
|
|
.V .-H .V .H2 .-V2> <FORM GFMUNG 0 1 0 .V 0 .-V2 0 .V .-H 0 .H2 0> <FORM GFMUNG
|
|
0 1 .H .V .-H2 0 .H2 .-V2 .-H2 0 .H2 .V2> <FORM GFMUNG 0 1 .H .V 0 .-V2 .-H2 .V2
|
|
0 .-V2 .H2 .V2>]>
|
|
|
|
<SETG FANCY_CHAR %<RSUBR-ENTRY '[GRFUNC FANCY_CHAR #DECL ("VALUE" ANY "OPTIONAL"
|
|
FIX ANY)] 5674>>
|
|
|
|
<SETG CONT-L-SEARCH %<RSUBR-ENTRY '[GRFUNC CONT-L-SEARCH #DECL ("VALUE" FALSE
|
|
CHARACTER ANY)] 5892>>
|
|
|
|
<SETG ERASE_S %<RSUBR-ENTRY '[GRFUNC ERASE_S #DECL ("VALUE" FALSE)] 5912>>
|
|
|
|
<SETG GRAPH_TITLE %<RSUBR-ENTRY '[GRFUNC GRAPH_TITLE #DECL ("VALUE" ANY ANY
|
|
"OPTIONAL" GRFLIST)] 6019>>
|
|
|
|
<SETG GRAPH_X %<RSUBR-ENTRY '[GRFUNC GRAPH_X #DECL ("VALUE" <OR FALSE FORM <LIST
|
|
[REST <OR STRING CHARACTER>]>> <OR FALSE STRING CHARACTER <LIST [REST <OR STRING
|
|
CHARACTER>]> FORM> "OPTIONAL" GRFLIST)] 6214>>
|
|
|
|
<SETG GRAPH_Y %<RSUBR-ENTRY '[GRFUNC GRAPH_Y #DECL ("VALUE" <OR FALSE FORM <LIST
|
|
[REST <OR STRING CHARACTER>]>> <OR FALSE STRING CHARACTER <LIST [REST <OR STRING
|
|
CHARACTER>]> FORM> "OPTIONAL" GRFLIST)] 6315>>
|
|
|
|
<SETG GRAPH_COMMENT %<RSUBR-ENTRY '[GRFUNC GRAPH_COMMENT #DECL ("VALUE" ANY ANY
|
|
"OPTIONAL" ANY)] 6416>>
|
|
|
|
<SETG GRAPH_DATA %<RSUBR-ENTRY '[GRFUNC GRAPH_DATA #DECL ("VALUE" ATOM
|
|
"OPTIONAL" GRFLIST)] 6484>>
|
|
|
|
<SETG DEMO %<RSUBR-ENTRY '[GRFUNC DEMO #DECL ("VALUE" <OR FALSE STRING>
|
|
"OPTIONAL" STRING)] 6742>>
|
|
|
|
<SETG CHARGIVER %<RSUBR-ENTRY '[GRFUNC CHARGIVER #DECL ("VALUE" CHARACTER)] 6794
|
|
>>
|
|
|
|
<SETG END_DEMO %<RSUBR-ENTRY '[GRFUNC END_DEMO #DECL ("VALUE" STRING)] 6864>>
|
|
|
|
<SETG SCALE %<RSUBR-ENTRY '[GRFUNC SCALE #DECL ("VALUE" ATOM "TUPLE" ANY)] 6888>
|
|
>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,GRFUNC GLUE ![1346716096 21559771137
|
|
1882202108 17180392460 3234611200 535822336 4042322160 16131 251658288
|
|
12935413760 21086288 30085813511 336871424 1103151231 -4227742777 4310761473
|
|
-267272185 12888059952 12888835856 0 34296577084 16169041924 4294968304
|
|
12900630531 808463552 256 85003536 22817275952 17826816 12947834627 -17178886096
|
|
1911570432 4294971671 17179869184 1074020352 4563452096 256 1040 279556
|
|
17179869268 17448370176 4563402752 263248 127061 17230201603 0 1052676
|
|
1073745936 0 1077936132 67371072 17180918016 4362354960 1115200 268435487
|
|
1421869064 2214592512 1284 5704716060 16173698844 16320300815 7579946180
|
|
1894892492 -13748931632 1346499584 4315943236 130355265 4299673600 1006706544
|
|
-17179853824 3359621120 1245184 -34221310205 251658244 4363190272 3423341579
|
|
5100273668 5369888767 -4279238641 1090847760 17515417668 4366303231 -67108864
|
|
17120886784 63175680 245761 252649216 262144 17246979140 18325181760 71304256
|
|
7941 0 0 1 5368709185 22548578304 12885099264 0 50332419 15361 4369 4563686656
|
|
17179938816 1073741828 17179873280 4546887957 67109136 4194304 4563403780
|
|
1073870800 132071424 1136661760 18321784833 1360068628 17232248836 4296036368
|
|
66817 12583944 805422017 260043249 7590887708 -4279221184 33357119568 1280
|
|
4693443588 22565639664 4299239537 8527036416 4329948273 8538559488 272908453
|
|
33291239428 4580327697 628169799 8523088896 71581828 -13936570428 1073745668
|
|
18186530819 78597 34108145664 1006838096 -1006370815 4580328640 33558870
|
|
26138692720 12953063740 1342177284 17192522052 17331921980 4579131840 3221225532
|
|
807473412 -17179738010 92 -4228698064 750780416 68509692 4235209713 4195089
|
|
-15972952752 4295231564 -16015966016 -3234653184 21100368 34300096967
|
|
-15268198457 8351368991 7646286097 4580180052 1024 69892 18320720901 85263680
|
|
16384 1118276 18253627472 1409286144 17179869201 4366548992 17263776768 262144
|
|
17892420 17180132608 -17179869180 805306368 4307550208 67305472 1052945
|
|
19326071061 -17095524031 -17095524031 30110843137 4295753792 18373969244
|
|
30356031475 738980464 0 4276485 18594726144 3219399 -469757872 17536734220
|
|
3221242115 805310656 -17179602896 12935233804 3221242627 808452097 262144 0 0 0
|
|
66560 17180917760 1040 268451840 211968 4563403840 66077696 36 21832466432
|
|
16777216 268435456 252007428 17179869184 9730802245 23572058113 524288 140509504
|
|
21824 32768 5591365 22615687168 17180131328 1141899264 4294967296 4032118852 2
|
|
2438329348 17184063520 8576 1342177281 22817013762 341 -2042363887 22833790976
|
|
4294967297 0 15381 21475098624 145 17372247 17179869184 20545 17247813712
|
|
-4008688640 17179938816 262180 1472200704 0 1024 66560 17825792 1147146240
|
|
-30064771071 81943 -8791257088 335642100 17104896 1090524160 4362076416
|
|
-17177509868 16908289 2080440560 1048836 67108868 4296015872 1073741824
|
|
17515480064 266496 266240 1065984 1048576 17179897856 16845824 4194572 16448
|
|
17125380 17179869184 1 328725 5733860359 4026795791 1866764 19289690128
|
|
4815351873 1090584329 16 69905 4296278033 18270654721 4294967424 1380096
|
|
18325160208 134249799 808452112 1048576 1882193920 201396240 49344 32 4564043537
|
|
589824 17105941 5721227520 807153712 247564 3221225713 -17116495631 -16105879792
|
|
253509635 -15284039933 29360128 19260440576 17448304704 16385 -2885413565
|
|
7590757488 205603324 34157560572 1430274048 9753587968 20545 17298296860
|
|
16308301824 17515496567 -1056960256 1094778944 1331524 4294968384 121388992
|
|
49604 12926910464 1314896 4345510912 4378854464 121619392 49604 12926910464
|
|
21543257100 3472884756 17825820 -16777216 812715018 1073746960 21764292612
|
|
18270668032 1144782912 17105940 22884909519 4456735 983052 1175552 4026580992
|
|
4815061232 201584896 4563468288 805367812 30069424368 1203830784 17179872256
|
|
18724509504 4176 17519987727 -13149929728 -13085960892 13002342848 16842945
|
|
-17167283008 17184075788 808698117 268898051 -465632272 8589950975 262609
|
|
1049192 263259 525377 787499 1049625 263530 525874 263870 2850 2888 3614 265749
|
|
527889 3720 265830 527955 790093 528901 791041 529095 529125 529155 267055
|
|
529239 791474 267276 267353 267445 529575 791706 529687 5702 267838 529976
|
|
530186 5914 268186 530319 268374 530514 268475 530615 268574 530716 6503 268641
|
|
6757 268899 6796 6866!]>>
|
|
|
|
<HANDLER <GET .INCHAN INTERRUPT> ,CONT-L-SEARCH>
|
|
|
|
<SET BACKSPACE <INSERT <REMOVE ,NULL> <ROOT>>>
|
|
|
|
<PROG () <SET PLOT-SEGMENT <GSBEGIN ,GRSTORE>> <GSEND>>
|
|
|
|
<MAPPER PLOT_SCALE <PROG ((TEM <* 0.5E-1 <- .TBOUND .BBOUND>>)) <SET LBOUND <+ <
|
|
* 0.89999999 .LBOUND> <* 0.99999990E-1 .RBOUND>>> <SET TBOUND <- .TBOUND .TEM>>
|
|
<SET BBOUND <+ .BBOUND .TEM>> <GSSCALE>>>
|
|
|
|
<ENDPACKAGE>
|