From 8f8df338352b8ba12a7328e4021f1fc978c002a2 Mon Sep 17 00:00:00 2001 From: a Date: Sat, 7 Dec 2024 18:59:28 -0500 Subject: [PATCH] Sat 07 Dec 2024 06:59:28 PM EST --- examples/bellstate.txt | 5 +- ...Bloch-sphere-representation-of-a-qubit.jpg | Bin 12206 -> 0 bytes src/imports/istina-editor.js | 15 ++++ src/index.html | 80 +++++++++++++++--- 4 files changed, 86 insertions(+), 14 deletions(-) delete mode 100644 src/imports/Bloch-sphere-representation-of-a-qubit.jpg diff --git a/examples/bellstate.txt b/examples/bellstate.txt index 8ad1845..5520448 100644 --- a/examples/bellstate.txt +++ b/examples/bellstate.txt @@ -1,5 +1,8 @@ //entanglement qreg q[2]; +creg c[2]; h q[0]; cx q[0], q[1]; -born q; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +sample c; diff --git a/src/imports/Bloch-sphere-representation-of-a-qubit.jpg b/src/imports/Bloch-sphere-representation-of-a-qubit.jpg deleted file mode 100644 index 1d6b936c434ae82f3fa0acdbbe7112aceeef6713..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12206 zcmb7q1yozj)^;c@g%?^16sORl#fv-Cpje2XazU5;6*MN=gcH3JNM3CR(cd4Ac}9bdTs59z0-S zVWFaBWoKn(XJTey{-cBdU-dT8?YqRpcbV@~+-LqDhwJYE3SxpJ0!KmuR=^Dk0zwLc z>sG)6{6pR#B)|v2-+}Pv4Wiq(hzUsW*`RxX8w58932zaTlHMl0Nr*3lFMabC5#?

56?H8= zDu$NC-+m0Hwc5k$X27@kr{%xf{fF+Gw+M*vdEyj!^llL1yG(eK@Si1a5D?y^puF{n zRY;5KzVNf>MB3)A@4q&QeBPmE6D?!6Sa7?Z0+8Vg-=H9*04M;?AO9bU|4!cGjn*W` zU@>JijhN7lwV)d$9NAq0+sv?1Ikh~(>A15&2k>5X*d-66>6`wP9_lFpws=f{aW_R`TK|Mob|NaYq!UcOFtqfo*n``RMJQAs_v&f{kseQUCc!8q_C-2=G?u=a**$LE?|EhnS6I;a=zOkxPt;mtC5X&mgEBWo}p4I z$18jdB$kWv(%C{pluTNLLO#?ju6S)6#s#IK31gO-CI!glhxWHf;AQH4_ED?Bl`Rij zC}YQg_eEoJ5&p*fx=tyZ2K=}RTaVGyiu;VRO>eIO);~4duy($gtMy%bce{ekk0kY3 zh#rJay|A&lVH--U9sapkhFg^uFoJ=65}q4y;db#yJBz*^kTEt^6Yb-xPy;!kDkNaN zj$i&eApV&j3Pl;p)h@6drjtBd6Bi2;T-cZ^)Gax=YzQc!Pg|VP;oXT#otR9o&m0IJ z6A67&-L%EeRuxH~YU0SMd}uO)#7(0#Jt`-Dr`C#Ru=uZrrE)6-W-czwDb|=M_bnI8 z#zpylKZ>$9Zu-gPPTHt@?hke`WFEqCdwViE>GqD(VFdYekA6(&5gO|nphWaxYilLj zQW*DidjVzmNo|L@cOzy00tS`#(Pw|RK7 za-_!cKBf+h$T;vjj~gCP2aVQFjV~u~;832{s{Ud#0qoAxaGsh`wB&yF4+Uyi!C=Y$ z0s8-s((M(ZGiE1_mi86Z?cy`ed<(}$&;K+Zao7EipEvn#9LM5%J^%s&fxvQt81~Wz}U%WZI=zVND z>9Wyid&W+}l1QPVrCwgg?So3wHK*JA5~&)Am#FF!BM}&;mJlnlu<+G%jVY3;X3pg@ zl@pb;?5N$58B3iET!)p%R3MdAm|Ex% z3q3x>)V!KQuMf}cXZcwfdz17gzx0VE4{r(}6i7;vw;tVwmp2}aMx(L1`f9g=NXb?j z#a4Kn^R^E1kzr7@dKn~Q_8Gfmo%saLWe~f#JLwngzoVj6M>chiaeZ`x9s8 zsK#WAuuMJg7B<~+GqD1K#o1{+BRZY4HBQE2uR>QuV9be<(PDYQJ3(5m^hTb%c3*$~ z%8!_%8D(4-2X%~(EBTritfS@?H08;ZGK}Dwbj5@k>@XU?&G+glT;|OD+(!cD3Y_YCNwuv2Uy?Mq&qw4_Q9cfi<9&X%e!kviK}n+XqL4SId#+C*I%XG7OO2_00rHneMXp<{x z=hFy5ajnFX-5OVJ^M(aYpQ>Xzx7h~1yqY{Y4j<`alg;`aOkc(M)U0CGp5{zV+TER! z&%@i5c`^1HW3&5dpAP-yp{#W#bGo-7~hF{L1Sg%BulH*>Y9r2{CVWIt@jAVYS^ zG>hj{ufk=*rN>|7IMjM*)hp6pr;i>iy&zff=n9C};DPlz7vfh2FWs!Mh?ZMNy6G1M%EF!k&Eeec|Cd{q51DL6 z{WUQzQGr0GsZuM`xC?1Ny+_=TIVI^7>)wI8_hTF#v+bu&Ue77 zdgYtsWkW>o4oCeDm(QSd;8ZGXeiC?PnY=>Q;GBR1bCP71Bb30hgBxb-hx`(tY(t3Stkk|eWHI3aaZ)0V#Z$S;Q2xl9FMlK-b$U9BQAtiRM zcX(#UEXK;6SNv?ukR>g%(So`KQVcN}uyh?^5ax_tqB9+HchVV{PVsk zPU8Mxs+FW#;e>cwWw)u(|9J)^!auDYCLV5LfX*nM)-;ms$h#lKV+Y#S=}8jV8`H0X z8~mK^c%e^4oA<##(-@74l%4BTpnxT4pA-gW_zC@Ao{oB#vBW>rC`9y`v{%x-61?g209k3MDoa9wak8KclHtnt_^U`GczsGKBX{tg zYQd)w@c{w%BU1h(r52mIHbD+Bgd_CrD@;i3ULGY%wQFE4Y6jlwbM+I_Lcg6T5h0acK!4B@NY zgU|b6F4q7IPGLXWY)(E-Y&MSa%dUH-f=!a!?3|GANQfWFNk^$3WM|}<7o?pwkOKW$ z5#w6lrv6vI$q}9V2~f_66L-l%+y4Bpzj>}yg2e$x_w&hUR)(+tl%t4%OtAPDjr5PX)$y6|c0%~91s5`?p^@;zcvz9c~Av{5?i(NyUvHnu9qo@H3n zX7Uu2wc1X74d9~v{kq~-Fq)6gc^z3hR=0-?H1(euuyUo%3n}K}8B4h`_O2C{Vzi&8 zwNkP&4m8oz+c>a%G?0wIC{NGvrc`h-58r4n&z=A;ioTz_RUKM{zxSfv_^(1Q?G#gj34_3o;OOier~?teLNID>=Cb@ z>ZxDa_oB#}tPaDp88bgQw;E;q8J3f=6e`P_ZmhJ$Afjc0aI!_~3`%6gTZwm0OEs0J znelI$V=j1R`23|+hKjw{=S}8B>}X~8l;ky_6}V5!vN0UaF45FZLedAht=n0NCY^JE zY$uHx3I0|hx5Y24I10-PKzf40pHz|DijD=W<<&pMla4S~T^pHvk;W|o3ODB2=RdTb zv71(HWS;;w%Kx`LE8I1!>aM!`A?5 ztIMTzs@1K9Yk>1q(3(27K7iF89-)n1=6AK>BV}tH;@5kt$*`Rln>O(2C=JfP*Y28i z8{L?B?p74LC$Ks;bB?NO5BTWH+CtiiLx$I)%-q7djqJn+7;R&{O|*;`@3@^`186dM z1p9#PeEy#6aT#`}P?5=`{j6^Qfin7fr#?f<}Ibc5M>f z9#f+Hu3uB?6^f|ty@IWTOtHin`ZE*#Un574y`PNNfqhTQXR45zKM20Q{^wLpu(-x& zP=D&RisN0VvW*(gXIg?tcKEvA350EfwE0#k}CD_*c9h6IQJT$o#3r!$xKE3-7>HQRbz0@ zd)|Hx_?FICe=go)yNuIk-_#;*=`vQmggiRleWpSKw zRP$z}ADrqr{@MuZ`u*;7%_fjbI19(!9^VIvrrDUJQk?Et_RviXI+7T!s#F-+Xs45WimIvj z%Rxt>D`H>>Ow6EfePMq9Iqw+GK!1f3EEKJ*8T3I#oD3ehQ_H)?mF zF6A2rY#msD93Ylju$fcl`5AK&sTF9W%fVgrVu}cKg1Jr>P^n%MTy5Ng7s=Y|6qH_}ZqlLZUt$_I%~^mG{_UIl|=ydZ?YZ zugxk%yBX&|KDN(M-OGXw&v7Y?>xuR+vN%mS|M8B#mp^=RtJ{ZAq0=X-M(s(RsFU_} zgUuOeObt@(q|tdw_Lb$kM9Y3~!QnNaLv8DA)9GDhIMrv-uJHaoO)Y8BGtUPWnU5~Hs(z7fP8-gbB%y+c=x67Y4;-Z{Pwp0B+r#>?!NphgSJCf?tUuwQeg1-qP=t`W zbwcQ7?(b*Zv1%5@+$I-#e5!hh1DrjOoupxC-jGQLdQEKFSJGRnDkUZ~Ovk3@L*=iY z$T*q+Bf#B{e-7selW|F#dWSK2@t;Lwb}`%EegIqS-R%1Q!bYL>u14)3tK27rqxLOI zwyME4>$kdeD)G<^AAHQ73o)~tCtp3%gc)StRx?g8< zY=<B=%vy32=T-mWb)Ok+M|f>(EM zF!DMU%=VcGJxk&Ac6LkM@J-`ICy3$vNT*}t_fiB`N4LZa1Ehf>mQvY#3Y?D5yP1Ut zqO56h^#%uZtsTKvY)Ef~#R&~le@)6(%5@}Mox){dv`@necc@xMv*J#n{PyG$$pD378u%FgU#a?U7JA>(vFOL5}?)f0DBvW_K`FB91MC}3+1hK z4fu6I9l&QHIO$$e8vb+khcAk-z5I%lh{bJB)TdHgx>BHlL96~iI@_kG02G8Y&ufmw znh)2IctfGJ71K3$$Dn88ELb@nA2mE7VtBDXY{KNNrG< z8t_`P?!{^ke}Vh3I$UPm^@LZ{tXpB{Yn*=>ImgeqQ6=XR#B1=xiyYaq9biew{;T#Ii^A_kDGTEO)L^JF$XYX^>OqSjcu$>qN|09rd5G$FFG7d# zdApjI9l%OVW*hi54NAv6Md0tQR@P_FB$MgA(;a_nCi%VwJb2|;j3eCUWjSpVe_=Q< z4>h0Pk97F$RC9LkEQf{q#RJ}7k3I==w*8~GrV-Y2XJ_QL*v2@`9JkG*PlSEiBB+U~ zKKfX4yAD^D#ItLF9ZZff;EQ$V+4zp;shZX0EN2n%&RK!t=LR=e`YNem@#@wT>Js}mvE2Gb5n-pQG2^?`Nyl<>aFT-d@>@IWAdXB zvQfW`PxQ`wuM(IHoayZaEHTOAuCH2h>!Tv5mmvlpJL(WCuiLx{yqF(sl`z^))tSf^ zZjw3By|8PsIBiVOYIapuplexdeS$g>bXZw`B`Z);y!&HnN6rKnWl&eQM)wz_#t>~O zd%y4muvzm3Z-#d{&_}lWiDjj)V(vTiZQItxs8H*PmMQ}G9WW?PtBBg7vBK`Tt->Ea zj8f&J*PD;$H2YOYavBp?n_{cnJ!%F&0n(E3dj1ZCKkiu=j7gd#%q<#x0)g{PjWVq!1b}8cVTP8+Q2C5Ul2eH_($*Z|h6`Sr&c%~w3{A#|R$ zUU$x=(ez|SffOCva<}3`_o%n&iL$ti;QpAij?3zWZUznQllW-&829YC{hgfDnF$;Z16O&G8CjhX zBM{D|_p5JG|JQIbyuQxkD)Fa6Hg+~G3A(wUb`7Z4v39C%IHS43;)rJ#OE!Fcr4)RQ z)-L&)6rKguJy@8AA9UQh)V>CIdA_sKtUA#-atpFNcezSkU@0`)>L{D73etEIH!65+ zV+g>l3}scspEFK-A8eBTqmEoOuIelxGc68f#_ zfS-wISk6i>Y(Rh4r<|5JjIzXwEGI%It^q}0vr&o5uzzJIK<`e|9wykI;Wy&nmd~BO zS9m>$Sx7pCGb82PMX8r@4C8(!C8d!Wd1D+#E*J9Z8hp>yB-tBdd|Xw#3P$Y*YBW7c z&=D|>?krWwIQJ{PsaWHBq!1)(0Petu;4kWGTM^yYXV}*nE4T#oXtPgH=WZ@0aU>kn z^h?0Yi${BkPO@cb8l0#+S5Ev#WK1bh%#03EqYEWV0w}jEa%pL=^8kjDErc)sU(E6@ z?FDdQBv%|drtfUwXu$30=pc_qQE}cxW>eL9#-|$d!zD^xkjH}NQ(rjJw)O*=6#v17 z6^xgQvTjr3143d1Exw8$6@)3c_;KJE3v``V(JU%`ZOwS9p_Gwtw?3a!{{+?RCc-~J zrC0hFQCV0qO*P{ci^1wHg;>MTp{bOdQ&a%r`y)Ts{XV^34pjQD{psk&Nk{3k297f_ zsh4slw#C1yUTw;W$VYkBnwB|3kMrC3;pFP&zOzpG0&+2FLE@STgJ;pudFSQ&%?<4C zoM!#B9zWcD*m(4reM9l`oIS|?Z8LBp3d{b ze=~*My9T(AZuDY*LZ@C7Q>&2#%@*F^MMXi?RGhX}mH8L+;|-h&i)B6e-N4(&Bv%?q zXNCU9vk%hC7|+AHCHWECoFR?dFmva>4))|gl;g~$=E3QR!~&3XzrlbMl&O1fRdQ=+ zsGZxC+umg()vhrpG=uF`pNukGjKAHalTK_)kS|pqJm-@Wn^>BObxMf)oj_E9?bkQ7 zwrwe+Y2gYG)icmt@|CXAX`2YJ3Z7Uv0me_7V@Ry*G7NJ?h5wQn&d8IddzFY zD#rev7qXCzyaup@VSzVF>ckqovd=TJCdFs4X*;qsqb@Z&+ zV2WL3rXINAb4f2+e#up9w=wQu)V8z4r;XlZX1IcwO&XAQd;?zt8ic?`^z|8j;MIa( zdAZ1n@V7I0-b2d}LciCIaXGENU7wR~UjsN+QJb2IMu&ofATrb-^ICc7iJ&UWI#^crT@T0F`GZAx7@A1eIyqFR|Rla&>(D*ihw(*|`)Dz+GG% z6kv9aLa{jG2iR9vgQ~+{FDa=OV>$6B#AXeQHOosrM2rz^U3{`qwLN@twATPC(*+zw zt=wMo_&nYlb@5nTtV0Lu`ZO6%)f`C!61690GiulF2Ym&HZ7iC@TcpP?#ncUi-0UZc z1)Q8pmddlVi$4AGESBM|pWEwqYS}#x`!GfSbEp;#MEIH7x$kH4kM)<7ku^CC@2%s^ z(R!JI>St?yV!rjJ&X1?I%0<1sHks(|959Iu#lLXa=sBP{PBklLgL-lgR@g0g0i#7N zKSm?mbmxsXVe%t$2hSFd;qq@@*T;mIStR=ha9V4mmX1N`6`d;d>MIt+-8;WY+%;t@ zgxDRqkAzHn#E7-)7E9w@t-QW?iQO==X7rQzV>i<`PL<+iXX6UZFut}=yVgh3J#-Bw zjz_OM=J=r_W=uq!rb+pC<{o58EbPXOP6si-A9Wh4o(HTPTm$$GHooeXVc1p&A0$M; zVUO2B1-ct-6s6OpUI{+CXo)ygNogD&s%+Vr)@&%^e{*QA$CES|hD@n^VKH;4#>G}y z(O7prgg?CLYVO4qA5Z2TTsd`D931T;}VGhByz-hWroL1VkuA=$$N_X4VW;`zc4WZrVzy<*YLn zSNik%EFI`4ie3oI%X8ffyawp_8?XLy`2H#sZPnfr`PrP$wU4TUb#TdZXr$DU$K_6# z)%lsD{4tZqF^)ZF5E{BzZgNce#>@ueOy46p#6Aq=O;$Oa)jp zD3d4CTBSQ#NwbMJYpo{406-@`4odL~CC&FMRbJ!(ssLPl`x&i3g=?9K2n3oTKYoi_qk9~oFYuO;$)2cb zrK!v}ewC3M#7J7~mkBmwi_qvW&0iSal>;K^GT5Ef3-LQR?L!DY1!K1;6pDY+C!1d# z?S8SFToy85|K7YRJ#zd`6IX{oik4A{5u>_`bID~_V+McwUNofcb+>)A;Xv%d@$rO{ zm{q9p_xR~-EHjPj=oc$H1HZ9G!N+?rO&(bj*iy=ScLCFHZDlpP;qJ`f?H0F0&6<+O zJ%tg-#2wF^Lk%qX9TV_#4-K0#|D3scY_K(%_TJGkUD{1drRnR)^jHQC#&-p(I^GH~ zs3GZ>a$I@`5vIkSE?=!-!>z+diWL)kTtU}>ZqZigZa8{dm6?S+@G360?!x*cy77IE z16E7y#z>=`U_8me?Qm{_Ygs>ZEV9>#iXhn$Z*Sh(~!YS_(YuN2;a2ptB6U<4>$D&*sXa3K^O6`((!u>Zz$nEBP^8Z^SCUcncQu zLd)#+$j#blPYOGRa89^ZXttaZ!#lVZl~8Opw_);8d7{5MFn3Q|uxRRBlZtD4XJ<~t zGtbeCn%wyt&ipHKmdQaKZHzhq*#6^Gl4;37GH|uBjY7tU{IFoKU{SVyJXDA7yORT! zxTlckG&B9+(c_KC*GVaoPerV3XBT0jFFyGo}N`h=@)CNN@5Nv>EHM!=b86rR3xBIHDcqGG;!*c`_7w; ztU}9ZyT#`W9y>)j^f}a?^f~to%cIru3!`oF<%~wesL}LxvNZS`ubuD+m1e%(L%b~F zkZyx@M2tWn=gv#NXfZ0v3JTWBy&{UkTu0vBxgqT;wQg37z4ll9;wzN9`Uaz~!6}-9l$haL0IhNa2Y1ka@*iZGHsR*R39wU^? zTL>s;IL*vt3s+-&#oNXT`3zR$_0ttLj!mruCFOquQ1k!MgMYbd`!W>&2DLT6l}H(X z27*WN50WJOYLFNIEND5uspP5^RpI9a{1R5PVTg^v%4HK6yj=2TT-ib9MvR2GoD($$WxZ1lNZnz{q|CTmg*Mv!`Z z2~r_{*uh!o47eTl6hL`H_^E<==fLbsoj?BVqgLt@8m;KT$Y1TYO&p09hT!JXB7G%c zrH4|2?$pJjc@=>=&Z4sFZbj+Jlb$+x1Hd(FC7#^W`i7Ua!PSWTI5Ia4yurMu>!SMr z!S|mR-~X4I`8`@-t)wrh0ZM-1Vt1bY(|8Evzvh1oH*dWW_z)cl?&-uiZWhc|{y+{f zUcG3tw}F5+VdvSNt2w^hR~#7rjrg=GkG8D^ntKal6jLpus_x@MrRmiKqwY`tg~*?X zS;MNy(Y03$=OoRqk?3}+Rh7P2-Ol0}vPd~;f=pq%q%o7bdu2a4%-<4cerBNV?W*HX zdD_r@9%8`10d@iz>r%~vW{H!IJ_g zEo4EngW9~0mlAZzB)_#jaxORwf`gCy2lDre9DX}g*T?shI*GWleEbWE+#mOju8!tt zISF=rWRfc`3xnsj zl}I^GLCTdb9sTDDB*CNnk5&DcLzQ|4JbEI{^4^;!63^-RA0FR*7sxtD6InT|>XRRs z!RwN1nUKY8hj&iEdw=@z??8l2bL&IO*$?eVKs0X&pIrTQ9>&uCWV)C05GQE9(Ai+7 z2p@QX%`|<}1IefY*H&8vs8wKUtMzVQAyUM&GnMGkv3?4NF^&7Qu zJV&|Hzb;`Tkk-Al_(RQW=fdtJVi=gg@7S`Gsdq?42rRYX}CQ}0>jRN7TANZw2t{Wj4GvEMgZKQ>N& zt5@)5&zKUB@1^$)n7F0P(8u7YthaJkub>}$3rNZ`Ioj%nY}%6SIf-c;Aw4ISjgZ#AGd#j}LORk+tktquKQiZm+D?hrZP1@Lh>+ZU1(l_2X z$7aVs_TfY3fc6(X2|78pJ69Uk=iV?cF%7uI(py^fDH_Qv^>_*J+);*|W9m;F&H!F^ zVK;AHWTPH;_jZW5kYnJ!%cQp6XPOKK4F0@ZYG5j$A)3Ey66uDJ5H&~G8CcSfdxCVt zS~Z#CfrWAbV!FeF1#i*s7K)=Ry?jio;u0}Qjt}_nn;aHPoF__q#`f)9*7Guo{qAl| zod3QI6@os9YU!>n!Ri<1G152dy8sac!y>4O9#Zn(4F}_wX^eZqSCiyFG zxsRm0_V;fM{I}BG)UhFH$a$4*04V>zF!CP+Y)O(UKuT8SMr-7LI*!!VFw=ON=tWmj z5>18Cs!|O&VtKSgp3)APF^d0~t6wa7LGnS2b6L7l&mGLD;*yDa8E4^1K|>XRYj#YE z$!Ge60u!dq9m>@9!HSqr<({ZG3vs#(TzqeYoP%SkO$cL9uvMOXq*uyYhr`4Q%!8i2 zk~igT*|S5rg2QoRss{;6UssLpBm(^Y!;}6;ktFj>&{&kkJgik={dG?r?c<-`P~Kkp z^1ab5S6&&zhn2nv>)0t+H4w<)X^X>pg4-RYl{n%4E~vE)E3WrcbiZ8#k$Z5C%q%5A*)|EGC6#@H(s`+IyXTUHNA6jlsl?N0IQA&u+tNoelcl=H6e_oQaXbGPz>8OOO^1D59` i1Xf}?r3}au-GC#5?F;+%^Z6SO|05v(BO$@{])" + keywords[i] + "($|[ ]|[<]|[&])", "g"); txt = txt.replaceAll(tmp, x => { @@ -288,6 +289,20 @@ IstinaEditor.highlightForQAnsel = function(txt) } ); txt = txt.replaceAll + ( + /(noise|hvar)( | )[.\-0-9][.\-0-9]*/g, + x => + { + x = x.replace(" ", " "); + var lhs = x.split(" ")[0].trim(); + var rhs = x.split(" ")[1].trim(); + x = "" + lhs + ""; + x += " "; + x += "" + rhs + ""; + return x; + } + ); + txt = txt.replaceAll ( /if[(].*?[)]/g, x => diff --git a/src/index.html b/src/index.html index ef5a4e5..3e45528 100644 --- a/src/index.html +++ b/src/index.html @@ -345,13 +345,33 @@ ret += "sample q;\n"; } } - } if (ProgramTrack.STATE[0].length == 0) { ret = "qreg q[" + (ProgramTrack.STATE.length - 1) + "];\n"; ret += "sample q;\n"; } + + if (!ret.includes("Duplicate") && !ret.includes("Incomplete")) + { + if (localStorage.getItem("hvar") != null) + { + if (!isNaN(parseFloat(localStorage.getItem("hvar")))) + { + ret = "hvar " + localStorage.getItem("hvar") + ";\n" + ret; + } + } + if (localStorage.getItem("noise") != null) + { + if (!isNaN(parseFloat(localStorage.getItem("noise")))) + { + if (parseFloat(localStorage.getItem("noise")) != 0) + { + ret = "noise " + localStorage.getItem("noise") + ";\n" + ret; + } + } + } + } return ret; }, drag: (e, erase, evt, dodrag) => @@ -530,6 +550,10 @@ window.onload = function() { + if (localStorage.getItem("noise") == null) + localStorage.setItem("noise", 0); + if (localStorage.getItem("hvar") == null) + localStorage.setItem("hvar", ""); ProgramTrack.draw(); //$(".program-track")[0].parentNode.style.height = Math.round($(".program-instr")[0].getBoundingClientRect().height) + "px"; $(".program-track")[0].parentNode.style.width = "100%"; @@ -977,29 +1001,59 @@ var apikey = localStorage.getItem("apikey"); apikey = (apikey ? apikey : "").replace("'", "").replace("\"", "").replace("\n", ""); $(".modal__container")[0].style.width = "500px"; - $("#modal-main-title")[0].innerHTML = "API Settings"; - $("#modal-main-content")[0].innerHTML = "

Please enter your API key:

"; + $("#modal-main-title")[0].innerHTML = "Settings"; + $("#modal-main-content")[0].innerHTML = ` +

API key:

+
+

Noise:

+
+

Hidden variable:

+ `; $("#apikey")[0].style.width = "100%"; + $("#noise")[0].style.width = "100%"; + $("#hvar")[0].style.width = "100%"; $("#apikey")[0].addEventListener("click", () => { $("#apikey")[0].selectionStart = 0; $("#apikey")[0].selectionEnd = $("#apikey")[0].value.length; }); - $("#apikey")[0].addEventListener("keydown", e => + $("#apikey")[0].addEventListener("keydown", e => { if (e.key == "Enter") { $("#modal-main-confirm")[0].click(); } }) + $("#noise")[0].addEventListener("keydown", e => { if (e.key == "Enter") { $("#modal-main-confirm")[0].click(); } }); + $("#hvar")[0].addEventListener("keydown", e => { if (e.key == "Enter") { $("#modal-main-confirm")[0].click(); } }); + var noiseChange = () => { - if (e.key == "Enter") - { - $("#modal-main-confirm")[0].click(); - } - }); + var v = parseFloat($("#noise")[0].value); + if (isNaN(v)) v = 0; + if (v < 0) v = 0; + if (v > 100) v = 100; + $("#noise")[0].value = v; + }; + var hvarChange = () => + { + var v = parseFloat($("#hvar")[0].value); + if (isNaN(v)) v = ""; + $("#hvar")[0].value = v; + } + var changeEvents = ["change", "keydown", "keyup", "mouseenter", "mouseleave"]; + for (var i = 0; i < changeEvents.length; i++) + { + $("#noise")[0].addEventListener(changeEvents[i], e => { noiseChange(); }); + $("#hvar")[0].addEventListener(changeEvents[i], e => { hvarChange(); }); + } $("#apikey")[0].value = apikey; + $("#noise")[0].value = localStorage.getItem("noise"); + $("#hvar")[0].value = localStorage.getItem("hvar"); $("#modal-main-confirm")[0].style.display = ""; $("#modal-main-cancel")[0].style.display = ""; - $("#modal-main-confirm")[0].setAttribute("onclick", "localStorage.setItem('apikey', $('#modal-main-content input')[0].value); closeModal();"); + $("#modal-main-confirm")[0].setAttribute("onclick", + ` + localStorage.setItem('apikey', $('#apikey')[0].value); + localStorage.setItem('noise', $('#noise')[0].value); + localStorage.setItem('hvar', $('#hvar')[0].value); + closeModal(); + ProgramTrack.draw(); + `); MicroModal.show("modal-main"); - $("#apikey")[0].focus(); - $("#apikey")[0].selectionStart = 0; - $("#apikey")[0].selectionEnd = $("#apikey")[0].value.length; break; case "save": if (ProgramTrack.STATE[0].length == 0) -- 2.39.5