%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/EG66/EG660-3A 20230801
%%BoundingBox: 70 85 226 206

/pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[ /Title (PostScript pictureS:http://farbe.li.tu-berlin.de/EG66/EG66.HTM)
  /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
  /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de)
  /Keywords (image reproduction, colour devices)
  /Creator (klaus.richter@mac.com)
  /CreationDate (D:2023080112000)
  /ModDate (D:20230801112000)
/DOCINFO pdfmark07
[ /View [ /FitB ]
/DOCVIEW pdfmark07

%190811 all (el35): proc_curve_MUY, proc_linef_MUY, proc_strof_MUY
%proc_LMS_:  func, funclg, funclga, funclg_a, funclgb, funclg_b, thre
%titl2(->tit0, tit2r), titl3(->tit0, tit3r)
%tita2(->tita, tit2r), tita3(->tita, tit3r), tit0, tita, tit2r, tit3r
%axi0, axis(->axi0), axia(->axio), spet, spea, names, antrt
%titl2n(->tit0n, tit3rn), titl3n(->tit0n, tit3rn)
%tita2n(->titan, tit2rn), tita3n(->titan, tit3rn)
%tit0n, titan, tit2rn, tit3rn, spetn, thren, axian(->axi0)
%proc_LI_ (el60-67): LI_lbyf, LI_lgrf, LI_ngrf( all use ->_linef_MUY)
%
%190811 act (el60_67): proc_curve_MUY, proc_linef_MUY, proc_strof_MUY
%proc_LMS_: funclgm. axio, tita3n, tit3rn, titan, spetn, axian, thren
%proc_LI_: LI_lbyf(el61,64), LI_lgrf (el62,65), LI_ngrf (el63,66)
%(all under work and use ->_linef_MUY, ->_strof_MUY (for tests))

% !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I
 
/Times-Roman findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/Times-ISOL1 exch definefont pop
 
/Times-Italic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/TimesI-ISOL1 exch definefont pop
 
/Times-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/TimesB-ISOL1 exch definefont pop
 
/Times-BoldItalic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/TimesBI-ISOL1 exch definefont pop
 
/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def
 
/TS {160 /Times-ISOL1 FS} bind def
/TK {200 /Times-ISOL1 FS} bind def
/TM {250 /Times-ISOL1 FS} bind def
/TG {300 /Times-ISOL1 FS} bind def

/TIS {160 /TimesI-ISOL1 FS} bind def
/TIK {200 /TimesI-ISOL1 FS} bind def
/TIM {250 /TimesI-ISOL1 FS} bind def
/TIG {300 /TimesI-ISOL1 FS} bind def

/TBS {160 /TimesB-ISOL1 FS} bind def
/TBK {200 /TimesB-ISOL1 FS} bind def
/TBM {250 /TimesB-ISOL1 FS} bind def
/TBG {300 /TimesB-ISOL1 FS} bind def

/TBIS {160 /TimesBI-ISOL1 FS} bind def
/TBIK {200 /TimesBI-ISOL1 FS} bind def
/TBIM {250 /TimesBI-ISOL1 FS} bind def
/TBIG {300 /TimesBI-ISOL1 FS} bind def
 
/SK {200 10 sub /Symbol FS} bind def
/SM {250 12 sub /Symbol FS} bind def
/SG {300 14 sub /Symbol FS} bind def

/nshowG {TG  show} bind def
/kshowG {TIG show} bind def
/bshowG {TBG show} bind def
/bishowG {TBIG show} bind def
/ishowG {TM 0 -60 rmoveto show 0 60 rmoveto} bind def
/ebshowG {TBM 0 200 rmoveto show 0 -200 rmoveto} bind def
/sshowG {SG show} bind def

/nshowM {TM  show} bind def
/kshowM {TIM show} bind def
/bshowM {TBM show} bind def
/bishowM {TBIM show} bind def
/ishowM {TK 0 -40 rmoveto show 0 40 rmoveto} bind def
/ebshowM {TBK 0 100 rmoveto show 0 -100 rmoveto} bind def
/sshowM {SM show} bind def

/nshowK {TK  show} bind def
/kshowK {TIK show} bind def
/bshowK {TBK show} bind def
/bishowK {TBIK show} bind def
/ishowK {TS 0 -30 rmoveto show 0 30 rmoveto} bind def
/ebshowK {TBS 0 130 rmoveto show 0 -130 rmoveto} bind def
/sshowK {SK show} bind def
 
/tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben
/tzl {1.0 0.0 1.0 0.0} bind def
/tzv {1.0 1.0 0.0 0.0} bind def
/tzc {1.0 0.0 0.0 0.0} bind def
/tzm {0.0 1.0 0.0 0.0} bind def
/tzy {0.0 0.0 1.0 0.0} bind def

/tzn {0.0 0.0 0.0 1.00} bind def %Graureihe
/tzd {0.0 0.0 0.0 0.75} bind def
/tzz {0.0 0.0 0.0 0.50} bind def
/tzh {0.0 0.0 0.0 0.25} bind def
/tzw {0.0 0.0 0.0 0.00} bind def

/tzr {0.0 1.0 1.0 0.0} bind def %Elementarfarben special for gray surround
/tzg {1.0 0.0 1.0 0.0} bind def
/tzb {1.0 1.0 0.0 0.0} bind def
/tzj {0.0 0.0 1.0 0.0} bind def

/tzrz {0.0 1.0 1.0 0.5} bind def %Elementarfarben vergraut special or gray sur.
/tzgz {1.0 0.0 1.0 0.5} bind def
/tzbz {1.0 1.0 0.0 0.5} bind def
/tzjz {0.0 0.0 1.0 0.5} bind def

/tfo {tzo setcmykcolor} bind def
/tfl {tzl setcmykcolor} bind def
/tfv {tzv setcmykcolor} bind def
/tfc {tzc setcmykcolor} bind def
/tfm {tzm setcmykcolor} bind def
/tfy {tzy setcmykcolor} bind def

/tfn {tzn setcmykcolor} bind def
/tfd {tzd setcmykcolor} bind def
/tfz {tzz setcmykcolor} bind def
/tfh {tzh setcmykcolor} bind def
/tfw {tzw setcmykcolor} bind def

/tfr {tzr setcmykcolor} bind def
/tfg {tzg setcmykcolor} bind def
/tfb {tzb setcmykcolor} bind def
/tfj {tzj setcmykcolor} bind def

/tfrz {tzrz setcmykcolor} bind def
/tfgz {tzgz setcmykcolor} bind def
/tfbz {tzbz setcmykcolor} bind def
/tfjz {tzjz setcmykcolor} bind def
 
/A4quer {598 0 tl 90 rotate} def
/setcmyknew {setcmykcolor} def
/outSM {sshowM} def
/outSK {sshowK} def
/outxshowf {setcmykcolor show} def

%for output test only
/tspace {dup abs 1.0 le {(   ) show} if
         dup dup -1.0 le exch -10 gt and {(  ) show} if
         dup dup 1.0 gt exch  10 lt and {(   ) show} if
         dup dup 1.0 gt exch  10 ge and {( ) show} if
            } bind def

/trushow {tspace 0.005 add 100 mul truncate 100 div
          10 string cvs show} bind def

/troshow {0.005 add 100 mul truncate 100 div
          10 string cvs show} bind def

/trushow4 {0.00005 add 10000 mul truncate 10000 div
           10 string cvs show} bind def

/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def
 
/colrecfi %x y width heigth c m y k
  {setcmykcolor rec fill} bind def
 
/colrecst %x y width heigth c m y k
  {setcmykcolor rec stroke} bind def
  
/cvishow {dup 0 ge {0.5 add} {0.5 sub} ifelse
          cvi 6 string cvs show} def
%/cvsshow1 {dup 0 ge {0.05 add} {0.05 sub} ifelse
%           10 mul cvi 0.1 mul 7 string cvs show} def
%/cvsshow2 {dup 0 ge {0.005 add} {0.005 sub} ifelse
%           100 mul cvi 0.01 mul 7 string cvs show} def
%/cvsshow3 {dup 0 ge {0.0005 add} {0.0005 sub} ifelse
%           1000 mul cvi 0.001 mul 7 string cvs show} def
           
%       R    G    B                                C    M    Y
/tf370 {1.00 0.00 0.20 setrgbcolor} bind def %j50r 0.00 1.00 0.80 %X=370
/tf395 {0.70 0.00 0.20 setrgbcolor} bind def %r    0.00 0.75 1.00 %U=W=395=645
/tf420 {0.50 0.00 1.00 setrgbcolor} bind def %r    0.40 1.00 0.00 %T=I=420=670
/tf445 {0.70 0.00 1.00 setrgbcolor} bind def %b25r 0.50 1.00 0.00 %S=Y=445=695
/tf470 {0.00 0.20 1.00 setrgbcolor} bind def %B    1.00 0.80 0.00 %B=Mc=570c
/tf475 {0.00 0.20 1.00 setrgbcolor} bind def %B    1.00 0.80 0.00 %B' new
/tf488 {0.00 0.60 1.00 setrgbcolor} bind def %g50b 1.00 0.40 0.00 %B" new
/tf495 {0.00 0.80 1.00 setrgbcolor} bind def %g75b 1.00 0.20 0.00 %C=Rc=620c
/tf500 {0.00 1.00 0.50 setrgbcolor} bind def %G    1.00 0.00 0.20 %C' new
/tf505 {0.00 1.00 0.40 setrgbcolor} bind def %G    1.00 0.00 0.40 %C" new
/tf510 {0.00 1.00 0.40 setrgbcolor} bind def %G    1.00 0.00 0.60 %C"' new
/tf520 {0.20 1.00 0.25 setrgbcolor} bind def %j66g 0.80 0.00 0.75 %G=520
/tf525 {0.20 1.00 0.25 setrgbcolor} bind def %j66g 0.80 0.00 0.75 %G' new
/tf538 {0.40 1.00 0.00 setrgbcolor} bind def %j48g 0.60 0.00 1.00 %G" new
/tf545 {0.40 1.00 0.00 setrgbcolor} bind def %j45g 0.55 0.00 1.00 %M=545
/tf550 {0.45 1.00 0.00 setrgbcolor} bind def %j40g 0.45 0.00 1.00 %M'
%/tf557 {0.60 1.00 0.00 setrgbcolor} bind def %j33g 0.40 0.00 1.00 %V
/tf557 {tfw} def
/tf563 {0.80 1.00 0.00 setrgbcolor} bind def %j17g 0.20 0.00 1.00 %V' new
/tf570 {1.00 1.00 0.00 setrgbcolor} bind def %J    0.00 0.00 1.00 %M=570 
/tf575 {1.00 1.00 0.00 setrgbcolor} bind def %J    0.00 0.00 1.00 %M'
/tf595 {1.00 0.50 0.00 setrgbcolor} bind def %j50r 0.00 0.75 1.00 %O=595
/tf600 {1.00 0.20 0.00 setrgbcolor} bind def %j25r 0.00 0.80 1.00 %O' new
/tf613 {1.00 0.00 0.00 setrgbcolor} bind def %r    0.00 1.00 1.00 %O" new
/tf620 {1.00 0.00 0.20 setrgbcolor} bind def %j50r 0.00 1.00 0.80 %R=620
/tf645 {1.00 0.00 0.00 setrgbcolor} bind def %j75r 0.00 0.00 1.00 %W=645
/tf670 {0.50 0.00 1.00 setrgbcolor} bind def %r    0.40 1.00 0.00 %I=T=670=420
/tf695 {0.70 0.00 1.00 setrgbcolor} bind def %b25r 0.50 1.00 0.00 %Y=S=695=445

/tf50c {1.00 0.00 0.50 setrgbcolor} bind def %b75r 0.00 1.00 0.50 %Gc=520c new
/tf720 {0.00 0.20 1.00 setrgbcolor} bind def %B    1.00 0.80 0.00 %W=720=470

/tfRe  {1.00 0.00 0.20 setrgbcolor} bind def %Re   0.00 1.00 0.80 %Re
/tfYe  {1.00 1.00 0.00 setrgbcolor} bind def %Ye   0.00 0.00 1.00 %Ye
/tfGe  {0.00 1.00 0.20 setrgbcolor} bind def %Ge   1.00 0.00 0.80 %Ge
/tfBe  {0.00 0.20 1.00 setrgbcolor} bind def %Be   1.00 0.80 0.00 %Be

/tti 27 array def
/tti [
{(X)} {(U)} {(T)} {(S)}         %370(00), 395(01), 420(02), 445(03)
{(B)} {(C)} {(G)} {(M)}         %470(04), 495(05), 520(06), 545(07)
{(L)} {(O)} {(R)} {(W)}         %570(08), 595(09), 620(10), 645(11)
{(I)} {(Y)} {(V)}               %670(12), 695(13), 557(14),
{(Be)} {(Ge)} {(Ye)} {(Re)}     %470(15), 520(16), 570(17), 620(18)
{(Ble)} {(Gle)} {(Yle)} {(Rle)} %470(19), 520(20), 570(21), 620(22)
{(Bge)} {(Gge)} {(Yge)} {(Rge)} %470(23), 520(24), 570(25), 620(26)
] def                           %00-26

/tfi 27 array def
/tfi [
{tf370} {tf395} {tf420} {tf445} %00-03
{tf470} {tf495} {tf520} {tf545} %04-07
{tf570} {tf595} {tf620} {tf645} %08-11
{tf670} {tf695} {tf557}         %12-14
{tfBe}  {tfGe}  {tfYe}  {tfRe}  %15-18
{tfBle} {tfGle} {tfYle} {tfRle} %19-22
{tfBge} {tfGge} {tfYge} {tfRge} %23-26
] def                           %00-26

/XtRe {tfRe (R) bishowM (e) ishowK} def
/XtGe {tfGe (G) bishowM (e) ishowK} def
/XtBe {tfBe (B) bishowM (e) ishowK} def
/XtYe {tfYe (Y) bishowM (e) ishowK} def

/XtRle {tfRe (R) bishowM (le) ishowK} def
/XtGle {tfGe (G) bishowM (le) ishowK} def
/XtBle {tfBe (B) bishowM (le) ishowK} def
/XtYle {tfYe (Y) bishowM (le) ishowK} def

/XtRge {tfRe (R) bishowM (ge) ishowK} def
/XtGge {tfGe (G) bishowM (ge) ishowK} def
/XtBge {tfBe (B) bishowM (ge) ishowK} def
/XtYge {tfYe (Y) bishowM (ge) ishowK} def

/Xa {tfn (a) ishowM} def
/Xo {tfw (o) ishowM} def
/Xla {tfn (la) ishowM} def
/Xlo {tfw (lo) ishowM} def
/Xga {tfn (ga) ishowM} def
/Xgo {tfw (go) ishowM} def

/X_a {tfn (_a) ishowM} def
/X_o {tfw (_o) ishowM} def
/X_la {tfn (_la) ishowM} def
/X_lo {tfw (_lo) ishowM} def
/X_ga {tfn (_ga) ishowM} def
/X_go {tfw (_go) ishowM} def

/IWE0 {WE0 370 sub 25 idiv} def
/IWE1 {WE1 370 sub 25 idiv} def
/IWE2 {WE2 370 sub 25 idiv} def

/xpWE0 {0100 300 IWE0 mul add} def
/xpWE1 {0100 300 IWE1 mul add} def
/xpWE2 {0100 300 IWE2 mul add} def

/XnWE0 {tfi IWE0 get exec WE0 6 string cvs bshowM} def
/XnWE1 {tfi IWE1 get exec WE1 6 string cvs bshowM} def
/XnWE2 {tfi IWE2 get exec WE2 6 string cvs bshowM} def

/XtWE0 {tfi IWE0 get exec
        tti IWE0 get exec bishowM} def
/XtWE1 {tfi IWE1 get exec
        tti IWE1 get exec bishowM} def
/XtWE2 {tfi IWE2 get exec
        tti IWE2 get exec bishowM} def

/XtWE0i {tfi IWE0 get exec
         tti IWE0 get exec ishowK} def
/XtWE1i {tfi IWE1 get exec
         tti IWE1 get exec ishowK} def
/XtWE2i {tfi IWE2 get exec
         tti IWE2 get exec ishowK} def

/XnWE0i {tfi IWE0 get exec
         WE0 6 string cvs ishowK} def
/XnWE1i {tfi IWE1 get exec
         WE1 6 string cvs ishowK} def
/XnWE2i {tfi IWE2 get exec
         WE2 6 string cvs ishowK} def

/tfWE0 {tfi IWE0 get exec} def
/tfWE1 {tfi IWE1 get exec} def
/tfWE2 {tfi IWE2 get exec} def

/cvsshoW0 {10 mul 0.5 add cvi 0.1 mul 10 string cvs show} def
/cvsshow1 {10 mul 0.5 add cvi 0.1 mul %new980310
           dup 0 ge {(  ) show} if
           dup abs 10 lt {(  ) show} if
           10 string cvs show} def
/cvsshow2 {100 mul 0.5 add cvi 0.01 mul %new980310
           dup 0 ge {(  ) show} if
           dup abs 10 lt {(  ) show} if
           10 string cvs show} def
/cvsshow3 {1000 mul 0.5 add cvi 0.001 mul 10 string cvs show} def

/cvsshow1x {/nxx exch def                              %example nxx=99.1/99.0
             nxx 10 mul cvi /nxi exch def              %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow (,) show                      %nxa=99
             nxb cvishow                               %nxb=1/0
           } def
/cvsshow2x {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 100 mul cvi /nxi exch def             %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3x {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 1000 mul cvi /nxi exch def            %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

/MULX 0600 def
/MULY2 1200 0.8 mul 2 mul def
/MULY1 1200 0.8 mul 1 mul def
/JPPM 4 def
/CY 0.35 def
/CX  50 def

/proc_curve_MUY {%190801 BEG proc_curve_MUY
0 3 72 {/i exch def  %i=0,75 ab 380nm bis 710nm
        i 0 eq {%i=0
        /xst {Xi i get 550 sub CX div MULX mul} bind def
        /yst {IORY Yi i get MUY mul add} bind def
        xst yst moveto
               } if %i=0
        /xst {Xi i       get 550 sub CX div MULX mul} bind def
        /yst {IORY Yi i get MUY mul add} bind def
        /x20 {Xi i 1 add get 550 sub CX div MULX mul} bind def
        /y20 {IORY Yi i 1 add get MUY mul add} bind def
        /x21 {Xi i 2 add get 550 sub CX div MULX mul} bind def
        /y21 {IORY Yi i 2 add get MUY mul add} bind def
        /x22 {Xi i 3 add get 550 sub CX div MULX mul} bind def
        /y22 {IORY Yi i 3 add get MUY mul add} bind def
        x20 y20 x21 y21 x22 y22 curveto
        } for %i=0,75 ab 380nm bis 710nm
stroke
} bind def %END proc_curve_MUY

%*****************************************************************
/proc_linef_MUY {%190801 BEG proc_linef_MUY
i1 1 i3 {/i exch def  %i=0,75 ab 380nm bis 710nm
        i i1 eq {%i=i1
                 /xst {Xni i get 550 sub CX div MULX mul} bind def
                 /yst {IORY Yi i get MUY mul add} bind def
                 xst yst moveto
                } if %i=i1
        i i3 le {/xpos {Xni i get 550 sub CX div MULX mul} bind def
                 /ypos {IORY Yi i get MUY mul add} bind def
                 xpos ypos lineto
                } if
        i i3 eq {closepath fill} if
        } for %i=0,75 ab 380nm bis 710nm
} bind def %END proc_linef_MUY

%*****************************************************************
/proc_strof_MUY {%190801 BEG proc_linef_MUY
i1 1 i3 {/i exch def  %i=0,75 ab 380nm bis 710nm
        i i1 eq {%i=i1
                 /xst {Xni i get 550 sub CX div MULX mul} bind def
                 /yst {IORY Yi i get MUY mul add} bind def
                 xst yst moveto
                } if %i=i1
        i i3 le {/xpos {Xni i get 550 sub CX div MULX mul} bind def
                 /ypos {IORY Yi i get MUY mul add} bind def
                 xpos ypos lineto
                } if
        i i3 eq {stroke} if
        } for %i=0,75 ab 380nm bis 710nm
} bind def %END proc_strof_MUY

%*************************************************************
%define arrays of proc_LI_lbyf, -lgrf, -ngrf and main PS-code
/Xni 176 array def %new Xi
/Xi  176 array def
/Yi  176 array def
/Yi00 176 array def %WE0n linear
/Yi01 176 array def
/Yi02 176 array def %WE1n linear
/Yi03 176 array def
/Yi04 176 array def %WE2n linear
/Yi05 176 array def

/Yi06 176 array def %WE0n log
/Yi07 176 array def
/Yi08 176 array def %WE1n log
/Yi09 176 array def
/Yi10 176 array def %WE2n log
/Yi11 176 array def

%********************************************************
%define arrays of proc_LMS_funclgm
/Yi0l0 176 array def %WE0n 000 000 lin 
/Yn0l0 176 array def %WE0n nor 000 lin
/Yinl0 176 array def %WE0n 000 neg lin
/Ynnl0 176 array def %WE0n nor neg lin
/Yi0g0 176 array def %WE0n 000 000 log
/Yn0g0 176 array def %WE0n nor 000 log
/Ying0 176 array def %WE0n 000 neg log
/Ynng0 176 array def %WE0n nor neg log

/Yi0l1 176 array def %WE1n 000 000 lin
/Yn0l1 176 array def %WE1n nor 000 lin
/Yinl1 176 array def %WE1n 000 neg lin
/Ynnl1 176 array def %WE1n nor neg lin
/Yi0g1 176 array def %WE1n 000 000 log
/Yn0g1 176 array def %WE1n nor 000 log
/Ying1 176 array def %WE1n 000 neg log
/Ynng1 176 array def %WE1n nor neg log

/Yi0l2 176 array def %WE2n 000 000 lin
/Yn0l2 176 array def %WE2n nor 000 lin
/Yinl2 176 array def %WE2n 000 neg lin
/Ynnl2 176 array def %WE2n nor neg lin
/Yi0g2 176 array def %WE2n 000 000 log
/Yn0g2 176 array def %WE2n nor 000 log
/Ying2 176 array def %WE2n 000 neg log
/Ynng2 176 array def %WE2n nor neg log

/Yi0l3 176 array def %WE0n 000 000 lin (WE0n+WE2n)*0.5 
/Yn0l3 176 array def %WE0n nor 000 lin
/Yinl3 176 array def %WE0n 000 neg lin
/Ynnl3 176 array def %WE0n nor neg lin
/Yi0g3 176 array def %WE0n 000 000 log
/Yn0g3 176 array def %WE0n nor 000 log
/Ying3 176 array def %WE0n 000 neg log
/Ynng3 176 array def %WE0n nor neg log

/Yi0l4 176 array def %WE1n 000 000 lin (WE0n-WE3n)
/Yn0l4 176 array def %WE1n nor 000 lin
/Yinl4 176 array def %WE1n 000 neg lin
/Ynnl4 176 array def %WE1n nor neg lin
/Yi0g4 176 array def %WE1n 000 000 log
/Yn0g4 176 array def %WE1n nor 000 log
/Ying4 176 array def %WE1n 000 neg log
/Ynng4 176 array def %WE1n nor neg log

/Yi0l5 176 array def %WE2n 000 000 lin (WE1n-WE3n)
/Yn0l5 176 array def %WE2n nor 000 lin
/Yinl5 176 array def %WE2n 000 neg lin
/Ynnl5 176 array def %WE2n nor neg lin
/Yi0g5 176 array def %WE2n 000 000 log
/Yn0g5 176 array def %WE2n nor 000 log
/Ying5 176 array def %WE2n 000 neg log
/Ynng5 176 array def %WE2n nor neg log

/Yi0l6 176 array def %WE0n 000 000 lin (WE2n-WE3n)
/Yn0l6 176 array def %WE0n nor 000 lin
/Yinl6 176 array def %WE0n 000 neg lin
/Ynnl6 176 array def %WE0n nor neg lin
/Yi0g6 176 array def %WE0n 000 000 log
/Yn0g6 176 array def %WE0n nor 000 log
/Ying6 176 array def %WE0n 000 neg log
/Ynng6 176 array def %WE0n nor neg log

/Yi0l7 176 array def %WE1n 000 000 lin (WE1n-WE0n)
/Yn0l7 176 array def %WE1n nor 000 lin
/Yinl7 176 array def %WE1n 000 neg lin
/Ynnl7 176 array def %WE1n nor neg lin
/Yi0g7 176 array def %WE1n 000 000 log
/Yn0g7 176 array def %WE1n nor 000 log
/Ying7 176 array def %WE1n 000 neg log
/Ynng7 176 array def %WE1n nor neg log

/Yi0l8 176 array def %WE2n 000 000 lin (WE2n-WE1n)
/Yn0l8 176 array def %WE2n nor 000 lin
/Yinl8 176 array def %WE2n 000 neg lin
/Ynnl8 176 array def %WE2n nor neg lin
/Yi0g8 176 array def %WE2n 000 000 log
/Yn0g8 176 array def %WE2n nor 000 log
/Ying8 176 array def %WE2n 000 neg log
/Ynng8 176 array def %WE2n nor neg log

/Yi0l9 176 array def %WE2n 000 000 lin (WE2n-WE0n)
/Yn0l9 176 array def %WE2n nor 000 lin
/Yinl9 176 array def %WE2n 000 neg lin
/Ynnl9 176 array def %WE2n nor neg lin
/Yi0g9 176 array def %WE2n 000 000 log
/Yn0g9 176 array def %WE2n nor 000 log
/Ying9 176 array def %WE2n 000 neg log
/Ynng9 176 array def %WE2n nor neg log

%***************************************************
/proc_LMS_funclgm {%190801 BEG proc_LMS_funclgm
%input ILG=0,1; I12=1,2
0 1 76 {/i exch def %i=0,1,76
        Xi i i 5 mul 380 add put
        /YEXP Xi i get WE0 sub CX div dup mul CY mul neg def
        /EYEXP 10 YEXP exp tsa add dtsa mul def
        %always for further use of lo
        Yi0l0 i EYEXP tsb add                   put
        Yn0l0 i EYEXP tsb add     2 mul         put
        Yinl0 i EYEXP tsb add               neg put
        Ynnl0 i EYEXP tsb add     2 mul     neg put
        ILG 1 eq {Yi0g0 i EYEXP tsb add abs       log     put
                  Yn0g0 i EYEXP tsb add abs 2 mul log     put
                  Ying0 i EYEXP tsb add abs       log neg put
                  Ynng0 i EYEXP tsb add abs 2 mul log neg put
                 } if

        /YEXP Xi i get WE1 sub CX div dup mul CY mul neg def
        /EYEXP 10 YEXP exp tsa add dtsa mul def
        %always for further use of log(linear)
        Yi0l1 i EYEXP tsb add                   put
        Yn0l1 i EYEXP tsb add     2 mul         put
        Yinl1 i EYEXP tsb add               neg put
        Ynnl1 i EYEXP tsb add     2 mul     neg put
        ILG 1 eq {Yi0g1 i EYEXP tsb add abs       log     put
                  Yn0g1 i EYEXP tsb add abs 2 mul log     put
                  Ying1 i EYEXP tsb add abs       log neg put
                  Ynng1 i EYEXP tsb add abs 2 mul log neg put
                 } if
 
        /YEXP Xi i get WE2 sub CX div dup mul CY mul neg def
        /EYEXP 10 YEXP exp tsa add dtsa mul def
        %always for further use of log(linear)
        Yi0l2 i EYEXP tsb add                   put
        Yn0l2 i EYEXP tsb add     2 mul         put
        Yinl2 i EYEXP tsb add               neg put
        Ynnl2 i EYEXP tsb add     2 mul     neg put
        ILG 1 eq {Yi0g2 i EYEXP tsb add abs       log     put
                  Yn0g2 i EYEXP tsb add abs 2 mul log     put
                  Ying2 i EYEXP tsb add abs       log neg put
                  Ynng2 i EYEXP tsb add abs 2 mul log neg put
                 } if
       } for %i=0,1,76

%input ILG=0,1; I12=1,2
0 1 76 {/i exch def %i=0,1,76 %combinations
%linear or log summation (Yi00+Yi02)*0.5 or [log(Yi00)+log(Yi02)]*0.5
        %always for further use of log(linear)
        Yi0l3 i Yi0l0 i get Yi0l2 i get add 0.5 mul put
        Yn0l3 i Yn0l0 i get Yn0l2 i get add 0.5 mul put
        Yinl3 i Yinl0 i get Yinl2 i get add 0.5 mul put
        Ynnl3 i Ynnl0 i get Ynnl2 i get add 0.5 mul put
        ILG 1 eq {Yi0g3 i Yi0g0 i get Yi0g2 i get add 0.5 mul put
                  Yn0g3 i Yn0g0 i get Yn0g2 i get add 0.5 mul put
                  Ying3 i Ying0 i get Ying2 i get add 0.5 mul put
                  Ynng3 i Ynng0 i get Ynng2 i get add 0.5 mul put
                 } if   

/iouty 0 def
iouty 1 eq {%iouty=1
%linear or log difference (Yi00-Yi03)*0.5 or [log(Yi00)-log(Yi03)]*0.5
        %always for further use of log(linear)
        Yi0l4 i Yi0l0 i get Yi0l3 i get sub 0.5 mul put
        Yn0l4 i Yn0l0 i get Yn0l3 i get sub 0.5 mul put
        Yinl4 i Yinl0 i get Yinl3 i get sub 0.5 mul put
        Ynnl4 i Ynnl0 i get Ynnl3 i get sub 0.5 mul put
        ILG 1 eq {Yi0g4 i Yi0g0 i get Yi0g3 i get sub 0.5 mul put
                  Yn0g4 i Yn0g0 i get Yn0g3 i get sub 0.5 mul put
                  Ying4 i Ying0 i get Ying3 i get sub 0.5 mul put
                  Ynng4 i Ynng0 i get Ynng3 i get sub 0.5 mul put
                 } if

%linear or log difference (Yi01-Yi03)*0.5 or [log(Yi01)-log(Yi03)]*0.5
        %always for further use of log(linear)
        Yi0l5 i Yi0l1 i get Yi0l3 i get sub 0.5 mul put
        Yn0l5 i Yn0l1 i get Yn0l3 i get sub 0.5 mul put
        Yinl5 i Yinl1 i get Yinl3 i get sub 0.5 mul put
        Ynnl5 i Ynnl1 i get Ynnl3 i get sub 0.5 mul put
        ILG 1 eq {Yi0g5 i Yi0g1 i get Yi0g3 i get sub 0.5 mul put
                  Yn0g5 i Yn0g1 i get Yn0g3 i get sub 0.5 mul put
                  Ying5 i Ying1 i get Ying3 i get sub 0.5 mul put
                  Ynng5 i Ynng1 i get Ynng3 i get sub 0.5 mul put
                 } if

%linear or log difference (Yi02-Yi03)*0.5 or [log(Yi02)-log(Yi03)]*0.5
        %always for further use of log(linear)
        Yi0l6 i Yi0l2 i get Yi0l3 i get sub 0.5 mul put
        Yn0l6 i Yn0l2 i get Yn0l3 i get sub 0.5 mul put
        Yinl6 i Yinl2 i get Yinl3 i get sub 0.5 mul put
        Ynnl6 i Ynnl2 i get Ynnl3 i get sub 0.5 mul put
        ILG 1 eq {Yi0g6 i Yi0g2 i get Yi0g3 i get sub 0.5 mul put
                  Yn0g6 i Yn0g2 i get Yn0g3 i get sub 0.5 mul put
                  Ying6 i Ying2 i get Ying3 i get sub 0.5 mul put
                  Ynng6 i Ynng2 i get Ynng3 i get sub 0.5 mul put
                 } if

%linear or log difference (Yi00-Yi01)*0.5 or [log(Yi00)-log(Yi01)]*0.5
        %always for further use of log(linear)
        Yi0l7 i Yi0l0 i get Yi0l1 i get sub 0.5 mul put
        Yn0l7 i Yn0l0 i get Yn0l1 i get sub 0.5 mul put
        Yinl7 i Yinl0 i get Yinl1 i get sub 0.5 mul put
        Ynnl7 i Ynnl0 i get Ynnl1 i get sub 0.5 mul put
        ILG 1 eq {Yi0g7 i Yi0g0 i get Yi0g1 i get sub 0.5 mul put
                  Yn0g7 i Yn0g0 i get Yn0g1 i get sub 0.5 mul put
                  Ying7 i Ying0 i get Ying1 i get sub 0.5 mul put
                  Ynng7 i Ynng0 i get Ynng1 i get sub 0.5 mul put
                 } if

%linear or log difference (Yi02-Yi01)*0.5 or [log(Yi02)-log(Yi01)]*0.5
        %always for further use of log(linear)
        Yi0l8 i Yi0l2 i get Yi0l1 i get sub 0.5 mul put
        Yn0l8 i Yn0l2 i get Yn0l1 i get sub 0.5 mul put
        Yinl8 i Yinl2 i get Yinl1 i get sub 0.5 mul put
        Ynnl8 i Ynnl2 i get Ynnl1 i get sub 0.5 mul put
        ILG 1 eq {Yi0g8 i Yi0g2 i get Yi0g1 i get sub 0.5 mul put
                  Yn0g8 i Yn0g2 i get Yn0g1 i get sub 0.5 mul put
                  Ying8 i Ying2 i get Ying1 i get sub 0.5 mul put
                  Ynng8 i Ynng2 i get Ynng1 i get sub 0.5 mul put
                 } if

%linear or log difference (Yi02-Yi00)*0.5 or [log(Yi02)-log(Yi00)]*0.5
        %always for further use of log(linear)
        Yi0l9 i Yi0l2 i get Yi0l0 i get sub 0.5 mul put
        Yn0l9 i Yn0l2 i get Yn0l0 i get sub 0.5 mul put
        Yinl9 i Yinl2 i get Yinl0 i get sub 0.5 mul put
        Ynnl9 i Ynnl2 i get Ynnl0 i get sub 0.5 mul put
        ILG 1 eq {Yi0g9 i Yi0g2 i get Yi0g0 i get sub 0.5 mul put
                  Yn0g9 i Yn0g2 i get Yn0g0 i get sub 0.5 mul put
                  Ying9 i Ying2 i get Ying0 i get sub 0.5 mul put
                  Ynng9 i Ynng2 i get Ynng0 i get sub 0.5 mul put
                 } if
} if %iouty=1

       } for %i=0,1,76

} bind def %END proc_LMS_funclgm

%****************************************************
/proc_LI_lbyfm {%190801 BEG proc_LI_lbyfm
%input ceroc, Yi03, Yi01: i=0 to 76
10 setlinewidth

0 1 2 {/kx exch def %kx=0,2
%/kx 0 def

kx 0 eq {%kx=0
xchartl 5 le {tfYe}{tfBe} ifelse
/i10 525 380 sub 5 idiv def %28
/i20 620 380 sub 5 idiv def %38
/i11 620 380 sub 5 idiv def %28
/i21 525 380 sub 5 idiv def %38
       } if %kx=0

kx 1 eq {%kx=1
xchartl 5 le {tfBe}{tfYe} ifelse
/i10 380 380 sub 5 idiv def %28
/i20 525 380 sub 5 idiv def %38
/i11 525 380 sub 5 idiv def %28
/i21 380 380 sub 5 idiv def %38
       } if %kx=1

kx 2 eq {%kx=2
xchartl 5 le {tfBe}{tfYe} ifelse
/i10 615 380 sub 5 idiv def %28
/i20 740 380 sub 5 idiv def %38
/i11 740 380 sub 5 idiv def %28
/i21 615 380 sub 5 idiv def %38
       } if %kx=2

/id1 i20 i10 sub abs 0 add def
/id2 i21 i11 sub abs 0 add def

0 1 76 {/i exch def
        Xni i 380 i 5 mul add put
        Yi i
        i i10 lt {ceroc put} if
        i i10 ge
        i i20 lt and {Yi03 i get put} if
        i i20 ge {ceroc put} if
       } for
0 1 id2 {/i exch def
         /ix i11 i sub def
         Xni i20 i add Xi   ix get put
         Yi  i20 i add Yi01 ix get put
        } for

/i1 i10 def
/i3 i20 id2 add def
%proc_strof_MUY
proc_linef_MUY

} for %kx=0,2

40 setlinewidth
} bind def %END proc_LI_lbyfm

%****************************************************
/proc_LI_lgrfm {%190801 BEG proc_LI_lgrfm
%input ceroc, Yi03, Yi00, Yi02: i=0 to 76
10 setlinewidth

0 1 1 {/kx exch def %kx=0,2
%/kx 0 def

kx 0 eq {%kx=0
xchartl 5 le {tfGe}{tfRe} ifelse
/i10 380 380 sub 5 idiv def %28
/i20 570 380 sub 5 idiv def %38
/i11 570 380 sub 5 idiv def %28
/i21 380 380 sub 5 idiv def %38
       } if %kx=0

kx 1 eq {%kx=1
xchartl 5 le {tfRe}{tfGe} ifelse
/i10 570 380 sub 5 idiv def %28
/i20 700 380 sub 5 idiv def %38
/i11 700 380 sub 5 idiv def %28
/i21 570 380 sub 5 idiv def %38
       } if %kx=1

/id1 i20 i10 sub abs 0 add def
/id2 i21 i11 sub abs 0 add def

0 1 76 {/i exch def
        Xni i 380 i 5 mul add put
        Yi i
        i i10 lt {ceroc put} if
        i i10 ge
        i i20 lt and {Yi03 i get put} if
        i i20 ge {ceroc put} if
       } for
0 1 id2 {/i exch def
         /ix i11 i sub def
         Xni i20 i add Xi   ix get put
         Yi  i20 i add
         kx 0 eq {Yi00 ix get put} if
         kx 1 eq {Yi02 ix get put} if
        } for

/i1 i10 def
/i3 i20 id2 add def
%proc_strof_MUY
proc_linef_MUY

} for %kx=0,1

40 setlinewidth
} bind def %END proc_LI_lgrfm
 
%****************************************************
/proc_LI_ngrfm {%190801 BEG proc_LI_ngrfm
%input ceroc, Yi00, Yi02: i=0 to 76
10 setlinewidth

0 1 1 {/kx exch def %kx=0,1
%/kx 0 def

kx 0 eq {%kx=0
xchartl 5 le {tfGe}{tfRe} ifelse
/i10 400 380 sub 5 idiv def %28
/i20 570 380 sub 5 idiv def %38
/i11 570 380 sub 5 idiv def %28
/i21 400 380 sub 5 idiv def %38
       } if %kx=0

kx 1 eq {%kx=1
xchartl 5 le {tfRe}{tfGe} ifelse
/i10 570 380 sub 5 idiv def %28
/i20 730 380 sub 5 idiv def %38
/i11 730 380 sub 5 idiv def %28
/i21 570 380 sub 5 idiv def %38
       } if %kx=1

/id1 i20 i10 sub abs 0 add def
/id2 i21 i11 sub abs 0 add def

0 1 76 {/i exch def
        Xni i 380 i 5 mul add put
        Yi i
        i i10 lt {ceroc put} if
        i i10 ge
        i i20 lt and {Yi00 i get put} if
        i i20 ge {ceroc put} if
       } for
0 1 id2 {/i exch def
         /ix i11 i sub def
         Xni i20 i add Xi   ix get put
         Yi  i20 i add Yi02 ix get put
        } for

/i1 i10 def
/i3 i20 id2 add def
%proc_strof_MUY
proc_linef_MUY

} for %kx=0,1

40 setlinewidth
} bind def %END proc_LI_ngrfm

%****************************************************
/proc_LMS_antrt {%BEG 190813 proc_LMS_antrt
%anti reference text (antrt)
/Xb {tfn (b) ishowM} def
/Xn {tfw (n) ishowM} def
/Xlb {tfn (lb) ishowM} def
/Xln {tfw (ln) ishowM} def
/Xgb {tfn (gb) ishowM} def
/Xgn {tfw (gn) ishowM} def

/X_b {tfn (_b) ishowM} def
/X_n {tfw (_n) ishowM} def
/X_lb {tfn (_lb) ishowM} def
/X_ln {tfw (_ln) ishowM} def
/X_gb {tfn (_gb) ishowM} def
/X_gn {tfw (_gn) ishowM} def
} bind def %END proc_LMS_antrt

%***********************************************
/proc_LMS_tita3n {%190801 BEG proc_LMS_tita3n
proc_LMS_titan
proc_LMS_tit3rn
} bind def %END proc_LMS_tita3n

%***********************************************
/proc_LMS_titan {%190801 BEG proc_LMS_titan
300 -150 moveto IRS 0 eq {(lin:) show}{(log:) show} ifelse
tfn WE0 cvishow (, ) show WE1 cvishow (, ) show WE2 cvishow

010 3800 moveto
tfw ILG 1 eq {TBM (logarithm. [) showde (logarithmic [) showen} if
xchartl 0 eq xchartl 1 eq or {%0&1
XtWE0 Xo tfw (, ) bshowM XtWE2 Xo tfw (, ) bshowM XtWE1 Xla
                             } if %0&1
xchartl 2 eq xchartl 3 eq or {%2&3
XtWE0 X_o tfw (, ) bshowM XtWE2 X_o tfw (, ) bshowM XtWE1 X_la
                             } if %2&3
xchartl 4 eq xchartl 5 eq or {%4&5
XtWE0 Xn tfw (, ) bshowM XtWE2 Xn tfw (, ) bshowM XtWE1 Xln
                             } if %4&5
xchartl 6 eq xchartl 7 eq or {%6&7
XtWE0 X_n tfw (, ) bshowM XtWE2 X_n tfw (, ) bshowM XtWE1 X_ln
                             } if %6&7
ILG 1 eq {tfw (]) bshowM} if
tfw TBM (\255Daten) showde ( data) showen

010 3500 moveto
XtWE1 Xla tfw (=\050) bshowM
XtWE0 Xo tfw (+) bshowM XtWE2 Xo
tfw (\051/2) bshowM
xchartl 4 ge {%>=4
              tfw (=) bshowM XtWE0 Xn tfw (+) bshowM XtWE2 Xn
             } if %>=4

010 3200 moveto
xchartl 2 eq 
xchartl 3 eq or {%2&3
                 XtWE1 X_la tfw (=1-) bshowM XtWE1 Xla 
                } if %2&3
xchartl 4 eq 
xchartl 5 eq or {%4&5
                 XtWE1 Xln tfw (=) bshowM XtWE1 Xla
                 tfw (=\050) bshowM
                 XtWE0 Xn tfw (+) bshowM
                 XtWE2 Xn tfw (\051/2) bshowM
                } if %4&5
xchartl 6 eq 
xchartl 7 eq or {%6&7
                 XtWE1 X_ln tfw (=2-) bshowM XtWE1 Xln
                } if %6&7
010 2900 moveto
ILG 1 eq {tfw (log[) bshowM} if
xchartl 0 eq xchartl 1 eq or {%0&1
XtWE0 Xo tfw (, ) bshowM XtWE2 Xo tfw (, ) bshowM XtWE1 Xla
                             } if %0&1
xchartl 2 eq xchartl 3 eq or {%2&3
XtWE0 X_o tfw (, ) bshowM XtWE2 X_o tfw (, ) bshowM XtWE1 X_la
                             } if %2&3
xchartl 4 eq xchartl 5 eq or {%4&5
XtWE0 Xn tfw (, ) bshowM XtWE2 Xn tfw (, ) bshowM XtWE1 Xln
                             } if %4&5
xchartl 6 eq xchartl 7 eq or {%6&7
XtWE0 X_n tfw (, ) bshowM XtWE2 X_n tfw (, ) bshowM XtWE1 X_ln
                             } if %6&7
ILG 1 eq {tfw (]) bshowM} if

/funcWE1_WE0 WE1 WE0 sub CX div dup mul CY mul neg def
/funcWE1_WE2 WE1 WE2 sub CX div dup mul CY mul neg def

} bind def %END proc_LMS_titan

%*********************************************
/proc_LMS_tit3rn {%190801 BEG proc_LMS_tit3rn

3850 3800 moveto tfw (u) bishowM 0 -60 rmoveto (l) outSK 0 10 rmoveto
(=\050) bshowM (l) outSM (-550\051/50) bshowM

2900 3500 moveto tfw (log) bshowM 20 0 rmoveto XtWE0 Xo 20 0 rmoveto
tfw (=-0,35[) bshowM (u) bishowM
0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM
XnWE0i (]) TBM tfw show (2) ebshowM

2900 3200 moveto tfw (log) bshowM 20 0 rmoveto XtWE2 Xo 20 0 rmoveto
tfw (=-0,35[) bshowM (u) bishowM
0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM
XnWE2i (]) TBM tfw show (2) ebshowM

2900 2900 moveto
xchartl 0 eq
xchartl 1 eq or {%xchartl 0%1
tfw (log) bshowM 20 0 rmoveto XtWE1 Xo 20 0 rmoveto
tfw (=-0,35[) bshowM (u) bishowM
0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM
XnWE1i (]) TBM tfw show (2) ebshowM
             } if %xchartl 0&1
xchartl 2 eq
xchartl 3 eq or {%xchartl 2&3
XtWE0 X_o 20 0 rmoveto tfw (=1-) bshowM XtWE0 Xo tfw (; ) bshowM
XtWE2 X_o 20 0 rmoveto tfw (=1-) bshowM XtWE2 Xo
             } if %xchartl 2&3
xchartl 4 eq 
xchartl 5 eq or {%xchartl 4&5
XtWE0 Xn 20 0 rmoveto tfw (=2) bshowM XtWE0 Xo tfw (; ) bshowM
XtWE2 Xn 20 0 rmoveto tfw (=2) bshowM XtWE2 Xo
             } if %xchartl 4&5
xchartl 6 eq
xchartl 7 eq or {%xchartl 6&7
XtWE0 X_n 20 0 rmoveto tfw (=2-) bshowM XtWE0 Xn tfw (; ) bshowM
XtWE2 X_n 20 0 rmoveto tfw (=2-) bshowM XtWE2 Xn
             } if %xchartl 6&7

3600 2600 moveto tfw (Adapt.: ) bshowM
tfw (l) outSM XtWE0i XtWE2i
tfw (=) bshowM XnWE1
} bind def %END proc_LMS_tit3rn

%***********************************************************
/proc_LMS_spetn {%190801 BEG proc_LMS_spetn
%special text
%reference position:  370, 420, 470, 520, 570, 620, 670, 720
%xpWEi=100+600j      0100,0700,1300,1900,2500,3100,3700,4300

/xpos0 0100 300 IWE0 mul add def
/xpos1 0100 300 IWE1 mul add def
/xpos2 0100 300 IWE2 mul add def

xchartl 0 eq {%xchartl =0 570(2500)
xpos0 450 sub 2200 moveto XtWE0 Xo
xpos2 550 add 2200 moveto XtWE2 Xo
xpos1 100 add 1700 moveto XtWE1 Xla
} if %xchartl =0

xchartl 1 eq {%xchartl =1 %WE1=570(2500)
xpos0 600 sub 2200 moveto XtWE0 Xo
xpos2 650 add 2200 moveto XtWE2 Xo
xpos1 100 add 2000 moveto XtWE1 Xla
} if %xchartl =1

xchartl 2 eq {%xchartl =2 570(2500)
xpos0 100 sub 2200 moveto XtWE2 X_o
xpos2 050 add 2200 moveto XtWE0 X_o
xpos1 000 add 1700 moveto XtWE1 X_la
} if %xchartl =2

xchartl 3 eq {%xchartl =3 %WE1=570(2500)
xpos0 100 sub 2200 moveto XtWE2 X_o
xpos2 100 add 2200 moveto XtWE0 X_o
xpos1 000 add 1400 moveto XtWE1 X_la
} if %xchartl =3

xchartl 4 eq {%xchartl =4 570(2500)
xpos0 500 sub 2200 moveto XtWE0 Xn
xpos2 550 add 2200 moveto XtWE2 Xn
xpos1 100 add 1700 moveto XtWE1 Xln
} if %xchartl =4

xchartl 5 eq {%xchartl =5 %WE1=570(2500)
xpos0 200 sub 2250 moveto XtWE0 Xn
xpos2 100 add 2250 moveto XtWE2 Xn
xpos1 000 add 1650 moveto XtWE1 Xln
} if %xchartl =5

xchartl 6 eq {%xchartl =6 570(2500)
xpos0 000 sub 2200 moveto XtWE2 X_n
xpos2 000 add 2200 moveto XtWE0 X_n
xpos1 000 add 1700 moveto XtWE1 X_ln
} if %xchartl =6

xchartl 7 eq {%xchartl =7 %WE1=570(2500)
xpos0 200 sub 0700 moveto XtWE0 X_n
xpos2 300 add 0700 moveto XtWE2 X_n
xpos1 000 add 1700 moveto XtWE1 X_ln
} if %xchartl =7

} bind def %END proc_LMS_spetn

%************************************************
/proc_LMS_thren {%190801 BEG proc_LMS_thren
/ydelt 225 def
/YEXP funcWE1_WE2 def
/EYEXP 10 YEXP exp tsa add def
xchartl 4 ge {/EYEXP EYEXP 2 mul def} if
/YEXP xchartl 3 le {1 log EYEXP log sub def} 
                   {2 log EYEXP log sub def} ifelse 
xts yts 0 ydelt mul sub moveto
(maximum) bshowK
xts yts 1 ydelt mul sub moveto
(log\050) bshowK XtWE1 
xchartl 3 le {Xla}{Xln} ifelse 
tfw (m) ishowK (\051=-) bshowK
YEXP dup 0 lt {neg} if cvsshow2x
xts yts 2 ydelt mul sub moveto
XtWE1 
xchartl 3 le {Xla}{Xln} ifelse
tfw (m) ishowK (=) bshowK EYEXP cvsshow2x
xts yts 3 ydelt mul sub moveto TBK (thresholds) showen (Schwellen) showde
xts yts 4 ydelt mul sub moveto
(t) bshowK (a) ishowK (=) bshowK tsa cvsshow2x (, ) bshowK
(t) bshowK (b) ishowK (=) bshowK tsb cvsshow2x
} bind def %END proc_LMS_thren

%*******************************************
/proc_LMS_axian {%190801 BEG proc_LMS_axian (anti chromatic)

proc_LMS_axi0 %without y-axis

%!y-Axis: 100 S-units = 960 = 1200*0.8 Scal units

0 1 4 {/i exch def
       /iyt {150 i 0480 mul add} def
       /iyl {240 i 0480 mul add} def
       -450 xchartl 3 le {100 add} if iyt moveto
       xchartl 3 le {%xchartl<=3 %new tye
                     ILG 0 eq {tyl}{TBK tye} ifelse i get exec show
                    } if %xchartl<=3
       xchartl 3 gt {%xchartl>3
                     ILG 0 eq {tyl2}{TBK tys2} ifelse i get exec show
                    } if %xchartl>3
       -075 iyl moveto 150 0 rlineto stroke
      } for
} bind def %END proc_LMS_axian (anti chormatic)

%***************************************************
/proc_LMS_axi0 {%190801 BEG proc_LMS_axi0
 
TBM
/tx [ (400) (500) (600) (700)] def
/tyl [(0,0) () (0,5) () (1,0)] def
/tyl2 [(  0) () (  1) () (  2)] def
/tye [(-2) () (-1) () (  0)] def
/tys [(-1) (  ) (  0) (  ) (  1) ] def
/tu [ (-3) (-1) ( 1)  ( 3)] def
/tyu [(-1,0) ( ) (-0,5) ( ) (  0,0)] def
/tys2 [(-0,5) (  ) (  0,0) (  ) (  0,5) ] def

%!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten

0 1 3 {/i exch def %i=0,3
       /ixt {100 i 1200 mul add} def
       /ixl {240 i 1200 mul add} def
       ixt 100 moveto tu i get exec show
      } for %i=0,3
% 550 nm; u=0.0
/ixt -180 1.50 1200 mul add def
/ixl  240 1.50 1200 mul add def
tf550
ixt 350 add 100 moveto (0) show
/ixt  20  1860 add def
ixt -320 moveto (550) show
ixl 75 moveto 0 -150 rlineto stroke

4700 450 sub 050 350 sub moveto tfw
(l) outSM 20 0 rmoveto (/nm) bshowM
5000 450 sub 450 350 sub moveto (u) bishowM
0 -60 rmoveto (l) outSK 0 60 rmoveto
 
%!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten
tfw
0 1 3 {/i exch def
       /ixt {070 i 1200 mul add} def
       /ixl {240 i 1200 mul add} def
        ixt -300 moveto tx i get exec show
        ixl 75 moveto 0 -150 rlineto stroke } for
 
%no !y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten
} bind def %END proc_LMS_axi0

%****************************************************
%%EndProlog
gsave
%LANINDL2 START  20000505
/lanind 0 def
/lantex [(G) (E) (S) (F) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showm  {6 lanind eq {show} {pop} ifelse} bind def
 
/popde {0 lanind ne {pop} if} bind def
/popen {1 lanind ne {pop} if} bind def
/popes {2 lanind ne {pop} if} bind def
/popfr {3 lanind ne {pop} if} bind def
/popit {4 lanind ne {pop} if} bind def
/popjp {5 lanind ne {pop} if} bind def
/popm  {6 lanind ne {pop} if} bind def
 
/popxde {/n exch def 0 lanind ne {n {pop} repeat} if} bind def
/popxen {/n exch def 1 lanind ne {n {pop} repeat} if} bind def
/popxes {/n exch def 2 lanind ne {n {pop} repeat} if} bind def
/popxfr {/n exch def 3 lanind ne {n {pop} repeat} if} bind def
/popxit {/n exch def 4 lanind ne {n {pop} repeat} if} bind def
/popxjp {/n exch def 5 lanind ne {n {pop} repeat} if} bind def
/popxm  {/n exch def 6 lanind ne {n {pop} repeat} if} bind def

/GSS$ where {pop /LSS$ GSS$ def}
            {/LSS$ (1) def} ifelse
/GSC$ where {pop /LSC$ GSC$ def}
            {/LSC$ (N) def} ifelse
/GSX$ where {pop /LSX$ GSX$ def}
            {/LSX$ (0) def} ifelse
/GSY$ where {pop /LSY$ GSY$ def}
            {/LSY$ (0) def} ifelse
/GEX$ where {pop /LEX$ GEX$ def}
            {/LEX$ (P.PS./PDF) def} ifelse
/GEY$ where {pop /LEY$ GEY$ def}
            {/LEY$ (P.DAT) def} ifelse
/IMES where {pop %/IMES IMES def
            }
            {/IMES 0 def} ifelse
 
/lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def}
               {/lanind1 0 def /lanind2 0 def} ifelse
/xcolorg where {pop /xcolor   xcolorg def} {/xcolor   0 def} ifelse
/xchartg where {pop /xchart   xchartg def} {/xchart   0 def} ifelse

/lanind lanind1 def
%lanind1 1 lanind2 {/lanind exch def %output showpage

gsave

70 90 translate

0.01 MM dup scale

20 setlinewidth

/rtext 0 def
rtext 1 eq {%if rtext=1
20 setlinewidth
0 0 11600 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey
0 0 11600 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz
150 /Times-ISOL1 FS
100 -150 moveto (EG660-7R) show %(_) show xchartx 1 add cvishow
} if %rtext=1

 /xchartl 2 def
%0 1 07 {/xchartl exch def %xchartl=0,07
%/xchartl  def

20 setlinewidth

%  xchartl   0 eq {  100 13000 translate} if
%  xchartl   1 eq { 6100 13000 translate} if
%  xchartl   2 eq {  100 08750 translate} if
%  xchartl   3 eq { 6100 08750 translate} if

%  xchartl   4 eq {  100  4500 translate} if
%  xchartl   5 eq { 6100  4500 translate} if
%  xchartl   6 eq {  100  0250 translate} if
%  xchartl   7 eq { 6100  0250 translate} if

0 setgray
150  /Times-ISOL1 FS
4200 -150 moveto 
(EG660-) show 
xchartl 1 add cvishow
(R) show %R

/ibil 0 def

/ILK 2 def /ILS 0 def /ILT 0 def/ILU 1 def
/IKOM 3 def %N curve, not used
/ILN  3 def %U&T
/JPPM 3 def %three curves
ILT 0 eq {/tsa 0.000 def /dtsa 1 1 tsa add div def} if
ILT 1 eq {/tsa 0.007 def} if
/tsb 0.000 def
 
30 setlinewidth
[ ] 0 setdash

0.0 0.0 0.0 0.5 setcmykcolor
0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
closepath fill
0 setgray 
150  /Times-ISOL1 FS

proc_LMS_antrt

gsave %start because of clip

%*****************************************************************
xchartl 0 eq {%xchartl=0, Rlin:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 0 def
/ILG 0 def
/I12 1 def

proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke

proc_LMS_axian

/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def %special
/yts 500 3 0480 mul add yta add def %special

proc_LMS_thren

40 setlinewidth

%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
0 480 4 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Yi0l0 i get put
        Yi01 i Yi0l1 i get put
        Yi02 i Yi0l2 i get put
        Yi03 i Yi0l3 i get put
%        Yi04 i Yi0l4 i get put
%        Yi05 i Yi0l5 i get put
%        Yi06 i Yi0l6 i get put
%        Yi07 i Yi0l7 i get put
%        Yi08 i Yi0l8 i get put
%        Yi09 i Yi0l9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 0.5        put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 I12 div def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 I12 div def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 i get put} for

%/MUY MULY2 I12 div def
%proc_curve_MUY
} if %iout=1

0 480 4 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=0

%*****************************************************************
xchartl 1 eq {%xchartl=1, Rlog:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 1 def
/ILG 1 def
/I12 1 def

proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke
%0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke %cero line
%2700*0.8=2160; 240+480*4=240+1920=2160; 0.5 log = -0.30102999
% 0 2700 0.8 mul %0.5 log line
%   2700 0.8 mul 0.5 log mul add moveto 340 12 mul 0 rlineto stroke

proc_LMS_axian
 
/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def
/yts 500 3 0480 mul add yta add def

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
%0 480 4 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Yi0g0 i get put
        Yi01 i Yi0g1 i get put
        Yi02 i Yi0g2 i get put
        Yi03 i Yi0l3 i get log put
%        Yi04 i Yi0g4 i get put
%        Yi05 i Yi0g5 i get put
%        Yi06 i Yi0g6 i get put
%        Yi07 i Yi0g7 i get put
%        Yi08 i Yi0g8 i get put
%        Yi09 i Yi0g9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 0.5 log    put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 I12 div def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 I12 div def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 i get put} for %not used

%/MUY MULY2 I12 div def
%proc_curve_MUY
} if %iout=1

%0 480 4 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=1

%*****************************************************************
xchartl 2 eq {%xchartl=2, Rlin:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 0 def
/ILG 0 def
/I12 1 def
 
proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke

proc_LMS_axian

/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def %special
/yts 500 3 0480 mul add yta add def %special

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
%0 480 4 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Yinl0 i get put
        Yi01 i Yinl1 i get put
        Yi02 i Yinl2 i get put
        Yi03 i Yinl3 i get put
%        Yi04 i Yinl4 i get put
%        Yi05 i Yinl5 i get put
%        Yi06 i Yinl6 i get put
%        Yi07 i Yinl7 i get put
%        Yi08 i Yinl8 i get put
%        Yi09 i Yinl9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 0.5 neg    put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 I12 div def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 I12 div def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 i get put} for

%/MUY MULY2 I12 div def
%proc_curve_MUY
} if %iout=1

%0 480 4 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=2

%*****************************************************************
xchartl 3 eq {%xchartl=3, Rlog:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 1 def
/ILG 1 def
/I12 1 def

proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke
%0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke %cero line
%2700*0.8=2160; 240+480*4=240+1920=2160; 0.5 log = -0.30102999
%half way to top
% 0 2700 0.8 mul 0.5 mul log moveto 340 12 mul 0 rlineto stroke
 
proc_LMS_axian
 
/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def
/yts 500 3 0480 mul add yta add def

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
0 480 4 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Ying0 i get put
        Yi01 i Ying1 i get put
        Yi02 i Ying2 i get put
        Yi03 i Yinl3 i get abs log neg put
%        Yi04 i Ying4 i get put
%        Yi05 i Ying5 i get put
%        Yi06 i Ying6 i get put
%        Yi07 i Ying7 i get put
%        Yi08 i Ying8 i get put
%        Yi09 i Ying9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get  put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get  put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get  put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get  put} if %jkurv=3
        jkurv 4 eq {Yi i 0.5 log neg put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 I12 div def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 I12 div def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 i get put} for

%/MUY MULY2 I12 div def
%proc_curve_MUY
} if %iout=1

0 480 4 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=3

%*****************************************************************
xchartl 4 eq {%xchartl=4, Rlin:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 0 def
/ILG 0 def
/I12 2 def
 
proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke
0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke %cero line

proc_LMS_axian

/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def %special
/yts 500 3 0480 mul add yta add def %special

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
0 480 4 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Yn0l0 i get put
        Yi01 i Yn0l1 i get put
        Yi02 i Yn0l2 i get put
        Yi03 i Yn0l3 i get put
%        Yi04 i Yn0l4 i get put
%        Yi05 i Yn0l5 i get put
%        Yi06 i Yn0l6 i get put
%        Yi07 i Yn0l7 i get put
%        Yi08 i Yn0l8 i get put
%        Yi09 i Yn0l9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 1          put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 I12 div def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 I12 div def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 put} for

%/MUY MULY2 I12 div def
%proc_curve_MUY
} if %iout=1

/KF 2 def
KF 1 eq {/ceroc 1.0 def proc_LI_lbyfm} if
KF 2 eq {/ceroc 1.0 def proc_LI_lgrfm} if
KF 3 eq {/ceroc 1.0 def proc_LI_ngrfm} if
 
0 480 4 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=4

%*****************************************************************
xchartl 5 eq {%xchartl=5, Rlog:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 0 def
/ILG 1 def
/I12 2 def
 
proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke
0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke %cero line

proc_LMS_axian

/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def %special
/yts 500 3 0480 mul add yta add def %special

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
0 480 2 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Yn0g0 i get put
        Yi01 i Yn0g1 i get put
        Yi02 i Yn0g2 i get put
        Yi03 i Yn0l3 i get log put
%        Yi04 i Yn0g4 i get put
%        Yi05 i Yn0g5 i get put
%        Yi06 i Yn0g6 i get put
%        Yi07 i Yn0g7 i get put
%        Yi08 i Yn0g8 i get put
%        Yi09 i Yn0g9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 1 log      put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM


/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 i get put} for

%/MUY MULY2 def
%proc_curve_MUY
} if %iout=1

/KF 2 def
KF 1 eq {/ceroc 0.0 def proc_LI_lbyfm} if
KF 2 eq {/ceroc 0.0 def proc_LI_lgrfm} if
KF 3 eq {/ceroc 0.0 def proc_LI_ngrfm} if
 
0 480 2 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=5

%*****************************************************************
xchartl 6 eq {%xchartl=6, Rlog:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 0 def
/ILG 0 def
/I12 2 def
 
proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke
0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke %cero line

proc_LMS_axian

/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def %special
/yts 500 3 0480 mul add yta add def %special

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
%0 480 4 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Ynnl0 i get put
        Yi01 i Ynnl1 i get put
        Yi02 i Ynnl2 i get put
        Yi03 i Ynnl3 i get put
%        Yi04 i Ynnl4 i get put
%        Yi05 i Ynnl5 i get put
%        Yi06 i Ynnl6 i get put
%        Yi07 i Ynnl7 i get put
%        Yi08 i Ynnl8 i get put
%        Yi09 i Ynnl9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 1 neg      put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 I12 div def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 I12 div def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i Yi04 i get put} for

%/MUY MULY2 I12 div def
%proc_curve_MUY
} if %iout=1

/KF 2 def
KF 1 eq {/ceroc 0.5 def proc_LI_lbyfm} if
KF 2 eq {/ceroc 0.5 def proc_LI_lgrfm} if
KF 3 eq {/ceroc 0.5 def proc_LI_ngrfm} if

%0 480 4 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=6

%*****************************************************************
xchartl 7 eq {%xchartl=7, Rlog:520,570,620
/WE0 520 def
/WE1 570 def
/WE2 620 def
/IRS 0 def
/ILG 1 def
/I12 2 def
 
proc_LMS_titan
proc_LMS_tit3rn

xpWE0 150 sub 2600 moveto XnWE0
xpWE1         2600 moveto XnWE1
xpWE2 150 add 2600 moveto XnWE2

proc_LMS_spetn

tfw
450 350 translate
40 setlinewidth
 0 0 moveto  340 12 mul 0 rlineto  stroke
 0 0 moveto 0 2700 0.8 mul rlineto  stroke
 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke
0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke %cero line

proc_LMS_axian

/yta 0 def
ILS 0 ne ILT 1 eq and {/yta 650 def} if
/xts -150 3 1200 mul add def %special
/yts 500 3 0480 mul add yta add def %special

proc_LMS_thren

40 setlinewidth
%Cero point at 550 nm
/X0T {550 380 sub 12 mul} def
X0T 0 translate

0 setlinewidth % fuer clip
0.0 0.0 0.0 0.5 setcmykcolor
/Y0C 050 def /Y1C 2450 def
X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto
                          -4650 0 rlineto 0 Y1C neg rlineto clip stroke

proc_LMS_funclgm

40 setlinewidth
/IORY 2700 0.8 mul def
0 480 2 mul neg translate

/JPPM 4 def
0 1 JPPM {/jkurv exch def %jkurv=0,3
[ ] 0 setdash %usually continues curves
jkurv 0 eq {tfWE0 [100 100] 0 setdash} if
jkurv 1 eq {tfWE1} if
jkurv 2 eq {tfWE2 [100 100] 0 setdash} if
jkurv 3 eq {tfWE1} if
jkurv 4 eq {tf620} if

0 1 76 {/i exch def %i=0,76
        Yi00 i Ynng0 i get put
        Yi01 i Ynng1 i get put
        Yi02 i Ynng2 i get put
        Yi03 i Ynnl3 i get abs log neg put
%        Yi04 i Ynng4 i get put
%        Yi05 i Ynng5 i get put
%        Yi06 i Ynng6 i get put
%        Yi07 i Ynng7 i get put
%        Yi08 i Ynng8 i get put
%        Yi09 i Ynng9 i get put
       } for %i=0,76

0 1 76 {/i exch def
        jkurv 0 eq {Yi i Yi00 i get put} if %jkurv=0
        jkurv 1 eq {Yi i Yi01 i get put} if %jkurv=1
        jkurv 2 eq {Yi i Yi02 i get put} if %jkurv=2
        jkurv 3 eq {Yi i Yi03 i get put} if %jkurv=3
        jkurv 4 eq {Yi i 1 log      put} if %jkurv=4
       } for

%       0 1 2 3 4 5 6 7 8 9 10 11 12
/kurvi [1 1 1 1 1 0 0 0 0 0  0  0  0] def

kurvi jkurv get 1 eq {%kurvi=1
/MUY MULY2 def
proc_curve_MUY
} if %kurvi=1

} for %jkurv=0,JPPM

/iout 1 def
iout 1 eq {%iout=1
%additionally dashed curve, no. 3
[100 100] 0 setdash %dashed curves
0 0 0 1 setcmykcolor %black
0 1 76 {/i exch def Yi i Yi03 i get put} for
/MUY MULY2 def
proc_curve_MUY

%additionally dashed curve, no. 4
%[050 100] 0 setdash %dashed curves
%0 0 0 1 setcmykcolor %black
%0 1 76 {/i exch def Yi i I12 Yi04 i get sub put} for

%/MUY MULY2 def
%proc_curve_MUY
} if %iout=1

/KF 2 def
KF 1 eq {/ceroc 0.0 def proc_LI_lbyfm} if
KF 2 eq {/ceroc 0.0 def proc_LI_lgrfm} if
KF 3 eq {/ceroc 0.0 def proc_LI_ngrfm} if

0 480 2 mul translate

X0T neg 0 translate
-450 -350 translate

} if %xchartl=7

%*****************************************************************

grestore %end because of clip

%  xchartl    0 eq {  100 neg 13000 neg translate} if
%  xchartl    1 eq { 6100 neg 13000 neg translate} if
%  xchartl    2 eq {  100 neg 08750 neg translate} if
%  xchartl    3 eq { 6100 neg 08750 neg translate} if

%  xchartl    4 eq {  100 neg  4500 neg translate} if
%  xchartl    5 eq { 6100 neg  4500 neg translate} if
%  xchartl    6 eq {  100 neg  0250 neg translate} if
%  xchartl    7 eq { 6100 neg  0250 neg translate} if

%} for %xchartl=0,07

showpage
grestore

%} for %output with langind end
%%Trailer