%!PS % NUJIT1.PSL new jitter study % ============================= % by Don Lancaster % ========= % attempts to verify third party sine and cosine components over one full cycle % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: % (C:\\Documents and Settings\\Bee\\Desktop\\Gonzo\\gonzo.ps) run % use internal gonzo (C:\\gonzo2\\gonzo.ps)run % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. /ps.util.1 {gutil} def % substitute old name /gutility {gutil} def % substitute old name /guru { gonzo begin ps.util.1 begin printerror nuisance begin} def % jumpstart 200 dict /gutil exch def gutil begin %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%% % PostScript normally reports real values only to six decimal point precision. % Internally, nearly eight decimal points of precision are available per the % IEEE floating point routines. Certain custom PostScript-as-language apps may % demand ( or at least welcome ) more than six decimal points of precision. % /realto8dstring converts any signed PostScript real in the absolute range % of 0.000000001 to 999,999,999 to a reportable string accurate to nearly eight % decimal points of precision. Larger absolute values create an error while % smaller ones truncate and report as 0.0000000 or -0.0000000. % To use, place a real number or its variable on the stack and call % realto8dstring. The equvalent reportable string returns to the stack top. % Operation is based on converting any real over the allowable range to % an integer in the 10 to 100 million range, converting that integer to % a string, and modifying the string as needed for a decimal point and sign. % This utility presently operates over an absolute value range of 0.0000001 % to 99,999,999. Larger values are reported as errors. Smaller values are % truncated to 0.00000000. % One count or more uncertainties may exist in the eighth decimal place. % /mergestr is a string merger from my gonzo utilities. Complete utilities % are found at http://www.tinaja.com/post01.asp#gonzo ... /mergestr {2 copy length exch length add string dup dup 4 3 roll 4 index length exch putinterval 3 1 roll exch 0 exch putinterval} def % /realto8dstring is the high level code for the reporting conversion. It % determines the sign and then tests for values too large or too small. % It then goes to processgoodreal for actual report conversions. % A final deferencing is done to provide a unique output string. /realto8dstring {dup 0 lt % test and flag negatives /isneg exch store abs /val exch store % save real as absolute value val 100000000 ge { % report and error trap values (real is too big! )== % that are too large to process real_is_too_big! } if val 0.00000001 le % truncate small numbers to zero {(0.0000000)} {processgoodreal} ifelse % process numbers versus zeros isneg {(-)}{( )} ifelse % create leading space or minus exch mergestr % add leading space or minus 20 string cvs % dereference string to avoid % any possible rude surprises } store % /processgoodreal continues the realto8string processing after numbers too % large and too small have been dealt with. Subprocs are called for tenmillions, % unitsormore, and fractions. Note that log floor cvi tells you the decade % size and position of any positive number. /processgoodreal { val log floor cvi % evaluate decimal location /posn exch store % posn 7 eq {tenmillions} % treat ten millions special {posn 0 ge {unitsormore} % handle >1 as a class {fractions} % handle fractions as a class ifelse } ifelse } store % /tenmillions handles ten millions as a special case needing no reformatting. /tenmillions { val round cvi % use ten millions val as is. 20 string cvs } store % /unitsormore handles units through millions... /unitsormore { /workstring val % scale val as needed to 10-99 megs 1 7 posn sub {10 mul} % this may give more accuracy repeat mul round cvi 20 string cvs store % and convert to string workstring 0 posn 1 add % stuff decimal point getinterval (.) mergestr workstring % post remainder of string posn 1 add workstring length 1 sub posn sub getinterval mergestr 20 string cvs % dereference } store % /fractions handles fractional values /fractions {/workstring val % scale workstring 1 7 posn sub {10 mul} repeat % this may give more accuracy mul round cvi 20 string cvs store % and convert to string (0.) % prepend leading zero and dp posn neg 1 sub % add intermediate zeros {(0) mergestr} repeat workstring mergestr % postpend value 20 string cvs % dereference } store %%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%% % attempt to reanalize quantization effects. % Does full random beat out incremental amplitude changes and by how much? /numedges 16 store % for eight pulses per quadrant % 10 meg/(60*4*4) 10416.667 must be /3 so use 10416 % off width is 10.9 at 0.01 amp, so (10.9/90)*10416 = 1261 max onebytes needed at 0 % on width is 14.4 at 1.00 amp, so (14.4/90) *10416 = 1667 max onebytes needed at 1.0 % on width dominates. 13 bits delay resolution should handle it. /bitsperquadrant 10416 store /onebitres 90 10416 div store % BEF8 rejects harmonics 3 through 31 fifteen total. /angs53 [ % angle-position pairs % unquantized 9.9626001258 % p1s 10.9683137868 % p1e 19.9527856219 % p2s 21.9364449443 % p2e 29.9976220341 % p3s 32.9034500799 % p3e 40.1228750320 % p4s 43.8665764677 % p4e 50.3516725847 % p5s 54.8196974162 % p5e 60.7023137889 % p6s 65.7512855279 % p6e 71.1851736266 % p7s 76.6427016318 % p7e 81.7994244358 % p8s 87.4685275629 % p8e ] store %%%%%%%%%%%%%%%%%%%%%%%%%% /quantize { /qtarget exch store /qsource exch store qtarget [ qsource cvx exec { 90 div bitsperquadrant mul round cvi onebitres mul } forall ] store } store /angs53 /angs53q quantize angs53q {realto8dstring ==} forall %%%%%%%%%%%%%%%%%%%%%%%%% transfer makes a working copy /transfer {/ttarget exch store /tsource exch store ttarget [ tsource cvx exec { } forall ] store } store /angs53q /curmagsin transfer % make a working copy % /angs53 /curmagsin transfer % checks unquantized curmagsin == %%%%%%%%%%%%%%%%%%%%% findfour evaluates curmagsin % ch evals a current harmonic /ch {/hn exch store curmagsin 0 get hn mul cos curmagsin 1 get hn mul cos sub curmagsin 2 get hn mul cos curmagsin 3 get hn mul cos sub add curmagsin 4 get hn mul cos curmagsin 5 get hn mul cos sub add curmagsin 6 get hn mul cos curmagsin 7 get hn mul cos sub add curmagsin 8 get hn mul cos curmagsin 9 get hn mul cos sub add curmagsin 10 get hn mul cos curmagsin 11 get hn mul cos sub add curmagsin 12 get hn mul cos curmagsin 13 get hn mul cos sub add curmagsin 14 get hn mul cos curmagsin 15 get hn mul cos sub add fund div hn div } store /findfour { /curfour [ % fundamental curmagsin 0 get cos curmagsin 1 get cos sub curmagsin 2 get cos curmagsin 3 get cos sub add curmagsin 4 get cos curmagsin 5 get cos sub add curmagsin 6 get cos curmagsin 7 get cos sub add curmagsin 8 get cos curmagsin 9 get cos sub add curmagsin 10 get cos curmagsin 11 get cos sub add curmagsin 12 get cos curmagsin 13 get cos sub add curmagsin 14 get cos curmagsin 15 get cos sub add /fund exch store fund 4 mul pi div % scales fundamental here only % higher harms 3 2 31 {ch} for ] store } store (\n\n\n) print findfour curfour {realto8dstring ==} forall %%%% finddist (ignores amplitude error) /finddist {/curdist curfour 1 get dup mul curfour 2 get dup mul add curfour 3 get dup mul add curfour 4 get dup mul add curfour 5 get dup mul add curfour 6 get dup mul add curfour 7 get dup mul add curfour 8 get dup mul add curfour 9 get dup mul add curfour 10 get dup mul add curfour 11 get dup mul add curfour 12 get dup mul add curfour 13 get dup mul add curfour 14 get dup mul add curfour 15 get dup mul add sqrt 100 mul store } store finddist (\n\n\n) print flush curdist realto8dstring == %%%%%%%%%%%%%%%%% 100 100 10 setgrid 20 20 showgrid gsave 0 0 mt 20 pu 20 pr 20 pd closepath clip 1 0 0 setrgbcolor curfour 0 get 100 mul 52.9 sub 100 mul % quantized unjittered curdist 100 mul mt dot /angs53 /curmagsin transfer % checks unquantized findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized unjittered curdist 100 mul mt dot %%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% plot intentional amplitude jitter %%%%%%%%%%%%%%%%%%%%%% /twobitsweep { 0 0 0 setrgbcolor 15 -1 1 {/first exch store first -1 0 {/second exch store /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot } for } for } store (\n\n\n) print flush % twobitsweep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /threebitsweep { 0 0 0 setrgbcolor 15 -1 2 {/first exch store first 1 sub -1 1 {/second exch store second 1 sub -1 0 {/third exch store %%%%%% firstadd /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot %%%%%%%%%%%%% firstpop /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot %%%%%%%%%%%%% %%%%%%%%%%%%% firstsub /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized 53.05 curdist 100 mul mt dot %%%%%%%%%%%%% } for } for } for } store (\n\n\n) print flush % threebitsweep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /fourbitsweep { 0.5 0.5 0.5 setrgbcolor 15 -1 2 {/first exch store first 1 sub -1 2 {/second exch store second 1 sub -1 1 {/third exch store third 1 sub -1 0 {/fourth exch store %%%%%% first add second add /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%% first add second pop /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%% first add second sub /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres add curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% first pop second add /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%% first pop second pop /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%% first pop second sub /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres pop curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% first sub second add /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres add curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%% first sub second pop /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres pop curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%% first sub second sub /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres add curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres pop curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres add curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres pop curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot /angs53q /curmagsin transfer curmagsin first get onebitres sub curmagsin exch first exch put curmagsin second get onebitres sub curmagsin exch second exch put curmagsin third get onebitres sub curmagsin exch third exch put curmagsin fourth get onebitres sub curmagsin exch fourth exch put findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul curdist 100 mul mt dot %%%%%%%%%%%%% } for } for } for } for } store (\n\n\n) print flush clear /trips 0 store /mt {/trips trips 1 add store moveto} store stopwatchon fourbitsweep stopwatchoff trips == %%%%%%%%%%%%%% redo red grestore % unclip for later lettering wrong dot for help! 0 1 1 setrgbcolor line2 0 0 mt 20 pu 20 pr 20 pd 20 pl closepath stroke 0 0 mt 0.7 d 10 0 mt 0.7 d 20 0 mt 0.7 d 0 0 mt 0.7 l 0 10 mt 0.7 l 0 20 mt 0.7 l black /cstretch 0 store /sstretch 0 store /font1 /StoneSans-Bold 0.85 gonzofont font1 0 -1.8 (0.529) cc 10 -1.8 (0.530) cc 20 -1.8 (0.531) cc 10 -3.3 (AMPLITUDE) cc -2.7 -0.3 (0.00%) cc -2.7 10 0.3 sub (0.10%) cc -2.7 20 0.3 sub (0.20%) cc gsave -5 10 translate 90 rotate 0 0 (DISTORTION 2-32) cc grestore newpath 1 0 0 setrgbcolor /angs53q /curmagsin transfer % checks unquantized findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized unjittered curdist 100 mul mt dot /angs53 /curmagsin transfer % checks unquantized findfour finddist curfour 0 get 100 mul 52.9 sub 100 mul % quantized unjittered curdist 100 mul mt dot %%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% showpage % EOF