UNPKG

anny.lapack

Version:
2 lines (1 loc) 37.9 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e{constructor(){this.value=0}}const r=e=>Math.trunc(e>=0?Math.floor(e+.5):-Math.floor(.5-e)),a=(e,r,a,l,u,t,o)=>{let f,s,n,v,i=6e3,c=256;return 15!=e&&13!=e&&16!=e||(i=t-u+1,c=2,i>=30&&(c=4),i>=60&&(c=10),i>=150&&(v=Math.log(i)/Math.log(2),s=10,n=i/v,c=Math.max(s,n)),i>=590&&(c=64),i>=3e3&&(c=128),i>=6e3&&(c=256),s=2,n=c-c%2,c=Math.max(s,n)),12==e?f=75:14==e?f=14:15==e?f=c:13==e?f=i<=500?c:3*c/2:16==e?(f=0,c>=14&&(f=1),c>=14&&(f=2)):f=-1,f},l=(e,r,a,l,t,o,f)=>{switch(e){case 1:case 2:case 3:return u(r,e,t,f);case 4:return s();case 5:return n();case 6:return v(l,t);case 7:return i();case 8:return c();case 9:return p();case 10:return h();case 11:return w();case 12:case 13:case 14:case 15:case 16:return M(e,r,a,l,t,o);default:return-1}},u=(e,r,a,l)=>{const u=e.toUpperCase();let s=u[0],n="S"==s[0]||"D"==s[0],v="C"==s[0]||"Z"==s[0];if(!v&&!n)return 1;let i=u.substr(1),c=u.substr(3),p=u.substr(4);switch(r){case 1:return t(n,v,i,c,p,a,l);case 2:return o(n,v,i,c,p);case 3:return f(n,v,i,c,p);default:return-1}},t=(e,r,a,l,u,t,o)=>{let f=1;return"GE"===a?"TRF"===l?f=64:"QRF"===l||"RQF"===l||"LQF"===l||"QLF"===l||"HRD"===l||"BRD"===l?f=32:"TRI"===l&&(f=64):"PO"===a?"TRF"===l&&(f=64):"SY"===a?"TRF"===l?f=64:e&&"TRD"===l?f=32:e&&"GST"===l&&(f=64):r&&"HE"===a?"TRF"===l?f=64:"TRD"===l?f=32:"GST"===l&&(f=64):e&&"OR"===a||r&&"UN"===a?(l.startsWith("G")||l.startsWith("M"))&&("QR"!==u&&"RQ"!==u&&"LQ"!==u&&"QL"!==u&&"HR"!==u&&"TR"!==u&&"BR"!==u||(f=32)):"GB"===a?"TRF"===l&&(f=o<=64?1:32):"PB"===a?"TRF"===l&&(f=t<=64?1:32):"TR"===a?"TRI"===l&&(f=64):"LA"===a?"UUM"===l&&(f=64):e&&"ST"===a&&"EBZ"===l&&(f=1),f},o=(e,r,a,l,u)=>{let t=2;return"GE"===a?("QRF"===l||"RQF"===l||"LQF"===l||"QLF"===l||"HRD"===l||"BRD"===l||"TRI"===l)&&(t=2):"SY"===a?"TRF"===l?t=8:e&&"TRD"===l&&(t=2):r&&"HE"===a?"TRD"===l&&(t=2):e&&"OR"===a?(l.startsWith("G")||l.startsWith("M"))&&("QR"!==u&&"RQ"!==u&&"LQ"!==u&&"QL"!==u&&"HR"!==u&&"TR"!==u&&"BR"!==u||(t=2)):r&&"UN"===a&&(l.startsWith("G")||l.startsWith("M"))&&("QR"!==u&&"RQ"!==u&&"LQ"!==u&&"QL"!==u&&"HR"!==u&&"TR"!==u&&"BR"!==u||(t=2)),t},f=(e,r,a,l,u)=>{let t=0;return"GE"===a?("QRF"===l||"RQF"===l||"LQF"===l||"QLF"===l||"HRD"===l||"BRD"===l)&&(t=128):"SY"===a?e&&"TRD"===l&&(t=32):r&&"HE"===a?"TRD"===l&&(t=32):e&&"OR"===a?l.startsWith("G")&&("QR"!==u&&"RQ"!==u&&"LQ"!==u&&"QL"!==u&&"HR"!==u&&"TR"!==u&&"BR"!==u||(t=128)):r&&"UN"===a&&l.startsWith("G")&&("QR"!==u&&"RQ"!==u&&"LQ"!==u&&"QL"!==u&&"HR"!==u&&"TR"!==u&&"BR"!==u||(t=128)),t},s=()=>6,n=()=>2,v=(e,r)=>1.6*Math.min(e,r),i=()=>1,c=()=>50,p=()=>25,h=()=>1,w=()=>1,M=(e,r,l,u,t,o,f)=>a(e,0,0,0,t,o),R=(e,r)=>e.startsWith(r);function m(e,r,a,l,u){if(e<=0)return;if(1===a&&1===u){const a=e%7;if(0!==a){for(let e=1;e<=a;e++)l[e-1]=r[e-1];if(e<7)return}for(let u=a+1;u<=e;u++){let e=u-1,a=u-1;l[a++]=r[e++],l[a++]=r[e++],l[a++]=r[e++],l[a++]=r[e++],l[a++]=r[e++],l[a++]=r[e++],l[a++]=r[e++]}}else{let t=1,o=1;a<0&&(t=(1-e)*a+1),u<0&&(o=(1-e)*u+1);for(let f=1;f<=e;f++){let e=t-1;l[o-1]=r[e],t+=a,o+=u}}}const N=(e,r,a,l,u)=>{let t,o,f,s,n;if(e<=0)return 0;if(1==a&&1==u)return x(e,-1,-1,r,l);for(f=1,s=1,a<0&&(f=(1-e)*a+1),u<0&&(s=(1-e)*u+1),t=e,o=1;o<=t;++o)n=r[-1+f],r[-1+f]=l[-1+s],l[-1+s]=n,f+=a,s+=u;return 0},x=(e,r,a,l,u)=>{const t=e%3;if(0==t)return T(t,e,r,a,l,u);const o=t;for(let e=1;e<=o;++e){const t=l[r+e];l[r+e]=u[a+e],u[a+e]=t}return e<3?0:T(t,e,r,a,l,u)},T=(e,r,a,l,u,t)=>{const o=r;for(let r=e+1;r<=o;r+=3){let e=u[r];u[a+r]=t[l+r],t[l+r]=e,e=u[a+r+1],u[a+r+1]=t[l+r+1],t[l+r+1]=e,e=u[a+r+2],u[a+r+2]=t[l+r+2],t[l+r+2]=e}return 0},{max:g}=Math,L=(e,r)=>e.startsWith(r),U=(e,r,a,l,u,t,o,f,s,n,v,i,c)=>{let p,h,w,M,R,m,N,x,T,U,S,d,Q,F,G,b,E,I;if(p=f,h=-(1+p),w=n,M=-(1+w),R=c,m=-(1+R),F=L(e,"N"),G=L(r,"N"),E=F?a:u,I=G?u:l,Q=0,F||L(e,"C")||L(e,"T")?G||L(r,"C")||L(r,"T")?a<0?Q=3:l<0?Q=4:u<0?Q=5:f<g(1,E)?Q=8:n<g(1,I)?Q=10:c<g(1,a)&&(Q=13):Q=2:Q=1,0!=Q)return console.error("SGEMM parameter "+Q),0;if(0==a||0==l||(0==t||0==u)&&1==v)return 0;if(0==t){if(0==v)for(N=l,S=1;S<=N;++S)for(x=a,U=1;U<=x;++U)i[m+U+S*R]=0;else for(N=l,S=1;S<=N;++S)for(x=a,U=1;U<=x;++U)i[m+U+S*R]=v*i[m+U+S*R];return 0}if(G)if(F)for(N=l,S=1;S<=N;++S){if(0==v)for(x=a,U=1;U<=x;++U)i[m+U+S*R]=0;else if(1!=v)for(x=a,U=1;U<=x;++U)i[m+U+S*R]=v*i[m+U+S*R];for(x=u,d=1;d<=x;++d)if(0!=s[M+d+S*w])for(b=t*s[M+d+S*w],T=a,U=1;U<=T;++U)i[m+U+S*R]+=b*o[h+U+d*p]}else for(N=l,S=1;S<=N;++S)for(x=a,U=1;U<=x;++U){for(b=0,T=u,d=1;d<=T;++d)b+=o[h+d+U*p]*s[M+d+S*w];i[m+U+S*R]=0==v?t*b:t*b+v*i[m+U+S*R]}else if(F)for(N=l,S=1;S<=N;++S){if(0==v)for(x=a,U=1;U<=x;++U)i[m+U+S*R]=0;else if(1!=v)for(x=a,U=1;U<=x;++U)i[m+U+S*R]=v*i[m+U+S*R];for(x=u,d=1;d<=x;++d)if(0!=s[M+S+d*w])for(b=t*s[M+S+d*w],T=a,U=1;U<=T;++U)i[m+U+S*R]+=b*o[h+U+d*p]}else for(N=l,S=1;S<=N;++S)for(x=a,U=1;U<=x;++U){for(b=0,T=u,d=1;d<=T;++d)b+=o[h+d+U*p]*s[M+S+d*w];i[m+U+S*R]=0==v?t*b:t*b+v*i[m+U+S*R]}return 0},{max:S}=Math,d=(e,r)=>e.startsWith(r),Q=(e,r,a,l,u,t,o,f,s,n,v)=>{let i,c,p,h,w,M,R,m,N,x,T,g,L,U,Q,F;if(i=s,c=-(1+i),p=v,h=-(1+p),L=d(e,"L"),U=L?u:t,F=d(l,"N"),Q=d(r,"U"),T=0,L||d(e,"R")?Q||d(r,"L")?d(a,"N")||d(a,"T")||d(a,"C")?d(l,"U")||d(l,"N")?u<0?T=5:t<0?T=6:s<S(1,U)?T=9:v<S(1,u)&&(T=11):T=4:T=3:T=2:T=1,0!=T)return console.error("STRSM parameter "+T),0;if(0==u||0==t)return 0;if(0==o){for(w=t,N=1;N<=w;++N)for(M=u,m=1;m<=M;++m)n[h+m+N*p]=0;return 0}if(L)if(d(a,"N"))if(Q)for(w=t,N=1;N<=w;++N){if(1!=o)for(M=u,m=1;m<=M;++m)n[h+m+N*p]=o*n[h+m+N*p];for(x=u;x>=1;--x)if(0!=n[h+x+N*p])for(F&&(n[h+x+N*p]/=f[c+x+x*i]),M=x-1,m=1;m<=M;++m)n[h+m+N*p]-=n[h+x+N*p]*f[c+m+x*i]}else for(w=t,N=1;N<=w;++N){if(1!=o)for(M=u,m=1;m<=M;++m)n[h+m+N*p]=o*n[h+m+N*p];for(M=u,x=1;x<=M;++x)if(0!=n[h+x+N*p])for(F&&(n[h+x+N*p]/=f[c+x+x*i]),R=u,m=x+1;m<=R;++m)n[h+m+N*p]-=n[h+x+N*p]*f[c+m+x*i]}else if(Q)for(w=t,N=1;N<=w;++N)for(M=u,m=1;m<=M;++m){for(g=o*n[h+m+N*p],R=m-1,x=1;x<=R;++x)g-=f[c+x+m*i]*n[h+x+N*p];F&&(g/=f[c+m+m*i]),n[h+m+N*p]=g}else for(w=t,N=1;N<=w;++N)for(m=u;m>=1;--m){for(g=o*n[h+m+N*p],M=u,x=m+1;x<=M;++x)g-=f[c+x+m*i]*n[h+x+N*p];F&&(g/=f[c+m+m*i]),n[h+m+N*p]=g}else if(d(a,"N"))if(Q)for(w=t,N=1;N<=w;++N){if(1!=o)for(M=u,m=1;m<=M;++m)n[h+m+N*p]=o*n[h+m+N*p];for(M=N-1,x=1;x<=M;++x)if(0!=f[c+x+N*i])for(R=u,m=1;m<=R;++m)n[h+m+N*p]-=f[c+x+N*i]*n[h+m+x*p];if(F)for(g=1/f[c+N+N*i],M=u,m=1;m<=M;++m)n[h+m+N*p]=g*n[h+m+N*p]}else for(N=t;N>=1;--N){if(1!=o)for(w=u,m=1;m<=w;++m)n[h+m+N*p]=o*n[h+m+N*p];for(w=t,x=N+1;x<=w;++x)if(0!=f[c+x+N*i])for(M=u,m=1;m<=M;++m)n[h+m+N*p]-=f[c+x+N*i]*n[h+m+x*p];if(F)for(g=1/f[c+N+N*i],w=u,m=1;m<=w;++m)n[h+m+N*p]=g*n[h+m+N*p]}else if(Q)for(x=t;x>=1;--x){if(F)for(g=1/f[c+x+x*i],w=u,m=1;m<=w;++m)n[h+m+x*p]=g*n[h+m+x*p];for(w=x-1,N=1;N<=w;++N)if(0!=f[c+N+x*i])for(g=f[c+N+x*i],M=u,m=1;m<=M;++m)n[h+m+N*p]-=g*n[h+m+x*p];if(1!=o)for(w=u,m=1;m<=w;++m)n[h+m+x*p]=o*n[h+m+x*p]}else for(w=t,x=1;x<=w;++x){if(F)for(g=1/f[c+x+x*i],M=u,m=1;m<=M;++m)n[h+m+x*p]=g*n[h+m+x*p];for(M=t,N=x+1;N<=M;++N)if(0!=f[c+N+x*i])for(g=f[c+N+x*i],R=u,m=1;m<=R;++m)n[h+m+N*p]-=g*n[h+m+x*p];if(1!=o)for(M=u,m=1;m<=M;++m)n[h+m+x*p]=o*n[h+m+x*p]}return 0},F=(e,r,a,l,u,t,o)=>{let f,s,n,v,i,c,p,h,w,M,R,m,N,x,T,g,L;f=a,s=-(1+f);if(o>0)T=l,M=l,R=u,g=1;else{if(!(o<0))return 0;T=(1-u)*o+1,M=u,R=l,g=-1}if(m=e/32<<5,0!=m)for(n=m,h=1;h<=n;h+=32)for(x=T,v=R,i=g,p=M;i<0?p>=v:p<=v;p+=i){if(N=t[-1+x],N!=p)for(c=h+31,w=h;w<=c;++w)L=r[s+p+w*f],r[s+p+w*f]=r[s+N+w*f],r[s+N+w*f]=L;x+=o}if(m!=e)for(++m,x=T,n=R,i=g,p=M;i<0?p>=n:p<=n;p+=i){if(N=t[-1+x],N!=p)for(v=e,w=m;w<=v;++w)L=r[s+p+w*f],r[s+p+w*f]=r[s+N+w*f],r[s+N+w*f]=L;x+=o}return 0},{max:G}=Math,b=(e,r,a,l,u,t,o,f,s)=>{let n,v,i,c,p,h,w,M,R,m,N;n=s,v=-(1+n);if(m=0,e<0?m=1:r<0?m=2:0==u?m=5:0==o?m=7:s<G(1,e)&&(m=9),0!=m)return console.error("SGER parameter "+m),0;if(0==e||0==r||0==a)return 0;if(M=o>0?1:1-(r-1)*o,1==u)for(i=r,h=1;h<=i;++h){if(0!=t[-1+M])for(N=a*t[-1+M],c=e,p=1;p<=c;++p)f[v+p+h*n]+=l[-1+p]*N;M+=o}else for(R=u>0?1:1-(e-1)*u,i=r,h=1;h<=i;++h){if(0!=t[-1+M])for(N=a*t[-1+M],w=R,c=e,p=1;p<=c;++p)f[v+p+h*n]+=l[-1+w]*N,w+=u;M+=o}return 0};function E(e,r,a,l){if(!(e<=0||l<=0)&&1!==r)if(1===l){let l=e%5;if(0!==l){for(let e=1;e<=l;e++)a[e-1]=r*a[e-1];if(e<5)return}for(let u=l+1;u<=e;u+=5)a[u-1]=r*a[u-1],a[u+1-1]*=r,a[u+2-1]*=r,a[u+3-1]*=r,a[u+4-1]*=r}else{let u=e*l;for(let e=1;e<=u;e+=l)a[e-1]*=r}}const{abs:I}=Math,B=(e,r,a)=>{let l,u,t,o,f,s;const n=-1;if(l=0,e<1||a<=0)return l;if(l=1,1==e)return l;if(1==a){for(s=I(r[0]),u=e,o=2;o<=u;++o)t=r[n+o],I(t)<=s||(l=o,t=r[n+o],s=I(t));return l}for(f=1,s=I(r[0]),f+=a,u=e,o=2;o<=u;++o)t=r[n+f],I(t)<=s?f+=a:(l=o,t=r[n+f],s=I(t));return l},W=(e,r)=>e instanceof Float32Array?new Float32Array(e.buffer,4*r):e instanceof Int32Array?new Int32Array(e.buffer,4*r):void 0,{min:C,max:D}=Math,y=(e,r,a,l,u,t,o,f)=>{let s,n,v,i,c,p,h,w,M,R,m,x;s=t,n=-(1+s);if(x=l+a,f.value=0,e<0?f.value=-1:r<0?f.value=-2:a<0?f.value=-3:l<0?f.value=-4:t<a+x+1&&(f.value=-6),0!=f.value)return v=-f.value,console.error("SGBTF2 parameter "+v),0;if(0==e||0==r)return 0;for(w=l+2;w<=C(x,r);++w)for(let e=x-w+2;e<=a;++e)u[n+e+w*s]=0;for(m=1,w=1;w<=C(e,r);++w){if(w+x<=r)for(let e=1;e<=a;++e)u[n+e+(w+x)*s]=0;if(M=C(a,e-w),R=B(M+1,W(u,n+x+1+w*s),1),o[-1+w]=R+w-1,0!=u[n+x+R+w*s]){if(p=w+l+R-1,i=m,c=C(p,r),m=D(i,c),1!=R){i=m-w+1;const e=t-1,r=t-1;5===w&&console.log(x+R+w*s,x,R,w*s),N(i,W(u,n+x+R+w*s),e,W(u,n+x+1+w*s),r)}M>0&&(h=1/u[n+x+1+w*s],E(M,h,W(u,n+x+2+w*s),1),m>w&&(i=m-w,c=t-1,p=t-1,b(M,i,-1,W(u,n+x+2+w*s),1,W(u,n+x+(w+1)*s),c,W(u,n+x+1+(w+1)*s),p)))}else 0==f.value&&(f.value=w)}return 0},{min:H,max:A}=Math,k=new Float32Array(4160),O=new Float32Array(4160),V=(e,r,a,u,t,o,f,s)=>{let n,v,i,c,p,h,w,M,R,x,T,g,L,S,d,G,I,C,D,V,q,P,_,Y,Z,$,j,z;n=o,v=-(1+n);const J=-1;if($=u+a,s.value=0,e<0?s.value=-1:r<0?s.value=-2:a<0?s.value=-3:u<0?s.value=-4:o<a+$+1&&(s.value=-6),0!=s.value)return i=-s.value,console.error("SGBTRF parameter "+i),0;if(0==e||0==r)return 0;if(C=l(1,"SGBTRF"," ",e,r,a,u),C=H(C,64),C<=1||C>a)y(e,r,a,u,t,o,f,s);else{for(i=C,T=1;T<=i;++T)for(c=T-1,x=1;x<=c;++x)k[x+65*T-66]=0;for(i=C,T=1;T<=i;++T)for(c=C,x=T+1;x<=c;++x)O[x+65*T-66]=0;for(i=H($,r),T=u+2;T<=i;++T)for(c=a,x=$-T+2;x<=c;++x)t[v+x+T*n]=0;for(Z=1,i=H(e,r),c=C,T=1;c<0?T>=i:T<=i;T+=c){for(p=C,h=H(e,r)-T+1,I=H(p,h),p=a-I,h=e-T-I+1,g=H(p,h),p=I,h=e-T-a+1,L=H(p,h),p=T+I-1,V=T;V<=p;++V){if(V+$<=r)for(h=a,x=1;x<=h;++x)t[v+x+(V+$)*n]=0;h=a,w=e-V,Y=H(h,w),h=Y+1,_=B(h,W(t,v+$+1+V*n),1),f[J+V]=_+V-T,0!=t[v+$+_+V*n]?(M=V+u+_-1,h=Z,w=H(M,r),Z=A(h,w),1!=_&&(_+V-1<T+a?(h=o-1,w=o-1,N(I,W(t,v+$+1+V-T+T*n),h,W(t,v+$+_+V-T+T*n),w)):(h=V-T,w=o-1,N(h,W(t,v+$+1+V-T+T*n),w,W(O,_+V-T-a-1),65),h=T+I-V,w=o-1,M=o-1,N(h,W(t,v+$+1+V*n),w,W(t,v+$+_+V*n),M))),R=1/t[v+$+1+V*n],E(Y,R,W(t,v+$+2+V*n),1),h=Z,w=T+I-1,q=H(h,w),q>V&&(h=q-V,w=o-1,M=o-1,b(Y,h,-1,W(t,v+$+2+V*n),1,W(t,v+$+(V+1)*n),w,W(t,v+$+1+(V+1)*n),M))):0==s.value&&(s.value=V),h=V-T+1,j=H(h,L),j>0&&m(j,W(t,v+$+a+1-V+T+V*n),1,W(O,65*(V-T+1)-65),1)}if(T+I<=r){for(p=Z-T+1,S=H(p,$)-I,p=0,h=Z-T-$+1,d=A(p,h),p=o-1,F(S,W(t,v+$+1-I+(T+I)*n),p,1,I,W(f,J+T),1),p=T+I-1,x=T;x<=p;++x)f[J+x]=f[J+x]+T-1;for(G=T-1+I+S,p=d,x=1;x<=p;++x)for(V=G+x,h=T+I-1,D=T+x-1;D<=h;++D)P=f[J+D],P!=D&&(z=t[v+$+1+D-V+V*n],t[v+$+1+D-V+V*n]=t[v+$+1+P-V+V*n],t[v+$+1+P-V+V*n]=z);if(S>0&&(p=o-1,h=o-1,Q("Left","Lower","No transpose","Unit",I,S,1,W(t,v+$+1+T*n),p,W(t,v+$+1-I+(T+I)*n),h),g>0&&(p=o-1,h=o-1,w=o-1,U("No transpose","No transpose",g,S,I,-1,W(t,v+$+1+I+T*n),p,W(t,v+$+1-I+(T+I)*n),h,1,W(t,v+$+1+(T+I)*n),w)),L>0&&(p=o-1,h=o-1,U("No transpose","No transpose",L,S,I,-1,O,65,W(t,v+$+1-I+(T+I)*n),p,1,W(t,v+$+a+1-I+(T+I)*n),h))),d>0){for(p=d,V=1;V<=p;++V)for(h=I,D=V;D<=h;++D)k[D+65*V-66]=t[v+D-V+1+(V+T+$-1)*n];for(p=o-1,Q("Left","Lower","No transpose","Unit",I,d,1,W(t,v+$+1+T*n),p,k,65),g>0&&(p=o-1,h=o-1,U("No transpose","No transpose",g,d,I,-1,W(t,v+$+1+I+T*n),p,k,65,1,W(t,v+I+1+(T+$)*n),h)),L>0&&(p=o-1,U("No transpose","No transpose",L,d,I,-1,O,65,k,65,1,W(t,v+a+1+(T+$)*n),p)),p=d,V=1;V<=p;++V)for(h=I,D=V;D<=h;++D)t[v+D-V+1+(V+T+$-1)*n]=k[D+65*V-66]}}else for(p=T+I-1,x=T;x<=p;++x)f[J+x]=f[J+x]+T-1;for(p=T,V=T+I-1;V>=p;--V)_=f[J+V]-V+1,1!=_&&(_+V-1<T+a?(h=V-T,w=o-1,M=o-1,N(h,W(t,v+$+1+V-T+T*n),w,W(t,v+$+_+V-T+T*n),M)):(h=V-T,w=o-1,N(h,W(t,v+$+1+V-T+T*n),w,W(O,_+V-T-a-1),65))),h=L,w=V-T+1,j=H(h,w),j>0&&m(j,W(O,65*(V-T+1)-65),1,W(t,v+$+a+1-V+T+V*n),1)}}return 0},{min:q,max:P}=Math,_=(e,r)=>e.startsWith(r),Y=(e,r,a,l,u,t,o,f,s)=>{let n,v,i,c,p,h,w,M,R,m,N,x,T,g,L,U;n=o,v=-(1+n);const S=-1;if(T=0,_(e,"U")||_(e,"L")?_(r,"N")||_(r,"T")||_(r,"C")?_(a,"U")||_(a,"N")?l<0?T=4:u<0?T=5:o<u+1?T=7:0==s&&(T=9):T=3:T=2:T=1,0!=T)return console.error("STBSV parameter "+T),0;if(0==l)return 0;if(U=_(a,"N"),x=s>0?1:1-(l-1)*s,_(r,"N"))if(_(e,"U"))if(L=u+1,1==s){for(M=l;M>=1;--M)if(0!=f[S+M])for(R=L-M,U&&(f[S+M]/=t[v+L+M*n]),g=f[S+M],c=1,p=M-u,i=P(c,p),w=M-1;w>=i;--w)f[S+w]-=g*t[v+R+w+M*n]}else for(x+=(l-1)*s,N=x,M=l;M>=1;--M){if(x-=s,0!=f[S+N])for(m=x,R=L-M,U&&(f[S+N]/=t[v+L+M*n]),g=f[S+N],c=1,p=M-u,i=P(c,p),w=M-1;w>=i;--w)f[S+m]-=g*t[v+R+w+M*n],m-=s;N-=s}else if(1==s){for(i=l,M=1;M<=i;++M)if(0!=f[S+M])for(R=1-M,U&&(f[S+M]/=t[v+M*n+1]),g=f[S+M],p=l,h=M+u,c=q(p,h),w=M+1;w<=c;++w)f[S+w]-=g*t[v+R+w+M*n]}else for(N=x,i=l,M=1;M<=i;++M){if(x+=s,0!=f[S+N])for(m=x,R=1-M,U&&(f[S+N]/=t[v+M*n+1]),g=f[S+N],p=l,h=M+u,c=q(p,h),w=M+1;w<=c;++w)f[S+m]-=g*t[v+R+w+M*n],m+=s;N+=s}else if(_(e,"U"))if(L=u+1,1==s)for(i=l,M=1;M<=i;++M){for(g=f[S+M],R=L-M,c=1,p=M-u,h=M-1,w=P(c,p);w<=h;++w)g-=t[v+R+w+M*n]*f[S+w];U&&(g/=t[v+L+M*n]),f[S+M]=g}else for(N=x,i=l,M=1;M<=i;++M){for(g=f[S+N],m=x,R=L-M,h=1,c=M-u,p=M-1,w=P(h,c);w<=p;++w)g-=t[v+R+w+M*n]*f[S+m],m+=s;U&&(g/=t[v+L+M*n]),f[S+N]=g,N+=s,M>u&&(x+=s)}else if(1==s)for(M=l;M>=1;--M){for(g=f[S+M],R=1-M,i=l,p=M+u,h=M+1,w=q(i,p);w>=h;--w)g-=t[v+R+w+M*n]*f[S+w];U&&(g/=t[v+M*n+1]),f[S+M]=g}else for(x+=(l-1)*s,N=x,M=l;M>=1;--M){for(g=f[S+N],m=x,R=1-M,h=l,i=M+u,p=M+1,w=q(h,i);w>=p;--w)g-=t[v+R+w+M*n]*f[S+m],m-=s;U&&(g/=t[v+M*n+1]),f[S+N]=g,N-=s,l-M>=u&&(x-=s)}return 0},Z=(e,r)=>e.startsWith(r),{max:$}=Math,j=(e,r,a,l,u,t,o,f,s,n,v)=>{let i,c,p,h,w,M,R,m,N,x,T,g,L,U,S,d;i=t,c=-(1+i);const Q=-1,F=-1;if(L=0,Z(e,"N")||Z(e,"T")||Z(e,"C")?r<0?L=2:a<0?L=3:t<$(1,r)?L=6:0==f?L=8:0==v&&(L=11):L=1,0!=L)return console.error("SGEMV parameter "+L),0;if(0==r||0==a||0==l&&1==s)return 0;if(Z(e,"N")?(S=a,d=r):(S=r,d=a),T=f>0?1:1-(S-1)*f,g=v>0?1:1-(d-1)*v,1!=s)if(1==v)if(0==s)for(p=d,w=1;w<=p;++w)n[F+w]=0;else for(p=d,w=1;w<=p;++w)n[F+w]=s*n[F+w];else if(m=g,0==s)for(p=d,w=1;w<=p;++w)n[F+m]=0,m+=v;else for(p=d,w=1;w<=p;++w)n[F+m]=s*n[F+m],m+=v;if(0==l)return 0;if(Z(e,"N"))if(N=T,1==v)for(p=a,M=1;M<=p;++M){if(0!=o[Q+N])for(U=l*o[Q+N],h=r,w=1;w<=h;++w)n[F+w]+=U*u[c+w+M*i];N+=f}else for(p=a,M=1;M<=p;++M){if(0!=o[Q+N])for(U=l*o[Q+N],m=g,h=r,w=1;w<=h;++w)n[F+m]+=U*u[c+w+M*i],m+=v;N+=f}else if(x=g,1==f)for(p=a,M=1;M<=p;++M){for(U=0,h=r,w=1;w<=h;++w)U+=u[c+w+M*i]*o[Q+w];n[F+x]+=l*U,x+=v}else for(p=a,M=1;M<=p;++M){for(U=0,R=T,h=r,w=1;w<=h;++w)U+=u[c+w+M*i]*o[Q+R],R+=f;n[F+x]+=l*U,x+=v}return 0},{min:z,max:J}=Math,K=(e,r,a,l,u,t,o,f,s,n,v)=>{let i,c,p,h,w,M,R,m,x,T,g,L,U,S;i=o,c=1+i;if(p=n,h=1+p,v.value=0,S=e.startsWith("N"),S||e.startsWith("T")||e.startsWith("C")?r<0?v.value=-2:a<0?v.value=-3:l<0?v.value=-4:u<0?v.value=-5:o<(a<<1)+l+1?v.value=-7:n<J(1,r)&&(v.value=-10):v.value=-1,0!=v.value)return w=-v.value,console.error("SGBTRS parameter "+w),0;if(0==r||0==u)return 0;if(g=l+a+1,U=a>0,S){if(U)for(w=r-1,x=1;x<=w;++x)M=a,R=r-x,L=z(M,R),T=f[x-1],T!=x&&N(u,W(s,T+p-h),n,W(s,x+p-h),n),b(L,u,-1,W(t,g+1+x*i-c),1,W(s,x+p-h),n,W(s,x+1+p-h),n);for(w=u,m=1;m<=w;++m)M=a+l,Y("Upper","No transpose","Non-unit",r,M,t,o,W(s,m*p+1-h),1)}else{for(w=u,m=1;m<=w;++m)M=a+l,Y("Upper","Transpose","Non-unit",r,M,t,o,W(s,m*p+1-h),1);if(U)for(x=r-1;x>=1;--x)w=a,M=r-x,L=z(w,M),j("Transpose",L,u,-1,W(s,x+1+p-h),n,W(t,g+1+x*i-c),1,1,W(s,x+p-h),n),T=f[x-1],T!=x&&N(u,W(s,T+p-h),n,W(s,x+p-h),n)}return 0},X=Math.max;class ee{constructor(e){this.value=e}assign(e){this.value=e.value}}const re=(e,r)=>Math.fround(Math.fround(e.value)+Math.fround(r.value)),ae=(e,r,a)=>{e.value=Math.trunc(e.value),a.value=Math.trunc(a.value),r.value=Math.fround(r.value);const l=new ee(0);let u=r.value;const t=Math.fround(1/a.value),o=new ee(0);e.value=1,l.value=Math.fround(u*t);let f=re(l,o),s=u,n=u,v=u,i=u;for(;s==u&&n==u&&v==u&&i==u;){--e.value,u=f,l.value=Math.fround(u/a.value),f=re(l,o),l.value=Math.fround(f*a.value),s=re(l,o),v=o.value;let r=a.value;for(let e=1;e<=r;++e)v+=f;l.value=Math.fround(u*t);const c=re(l,o);l.value=Math.fround(c/t),n=re(l,o),i=o.value,r=Math.fround(a.value);for(let e=1;e<=r;++e)i+=c,i=Math.fround(i)}return 0},le=new ee(0),ue=(e,r,a,l,u,t)=>{e.value=Math.trunc(e.value),r.value=Math.trunc(r.value),a.value=Math.trunc(a.value),u.value=Math.trunc(u.value);let o,f,s=1,n=1;for(;o=s<<1,o<=-a.value;)s=o,++n;s==-a.value?f=s:(f=o,++n);const v=f+a.value>-s-a.value?s<<1:f<<1;u.value=v+a.value-1;(n+1+r.value)%2==1&&2==e.value&&--u.value,l.value&&--u.value;const i=Math.fround(1/e.value),c=new ee(Math.fround(e.value-1)),p=new ee(0);let h=r.value,w=0;for(let e=1;e<=h;++e)c.value*=i,c.value=Math.fround(c.value),p.value<1&&(w=p.value),p.value=re(p,c);p.value>=1&&(p.value=w),h=u.value;const M=new ee(0);for(let r=1;r<=h;++r)M.value=Math.fround(p.value*e.value),p.value=re(M,le);return t.assign(p),0},te=(e,r)=>{const a=e.value,l=r.value;return Math.fround(Math.pow(a,l))};let oe=!0;const fe=new ee(0),se=new ee(!1),ne=new ee(0),ve=new ee(!1),ie=(e,r,a,l)=>{const u=new ee(0),t=new ee(0);if(oe){const e=new ee(1),r=new ee(1),a=new ee(1);for(;a.value==e.value;)r.value*=2,r.value=Math.fround(r.value),a.value=re(r,e),u.value=Math.fround(-r.value),a.value=re(a,u);const l=new ee(1);for(a.value=re(r,l);a.value==r.value;)l.value*=2,l.value=Math.fround(l.value),a.value=re(r,l);const o=e.value/4,f=new ee(a.value);u.value=Math.fround(-r.value),a.value=re(a,u),ne.value=Math.trunc(a.value+o),l.assign(ne),u.value=l.value/2,t.value=-l.value/100;const s=new ee(re(u,t));a.value=re(s,r),a.value==r.value?se.value=!0:se.value=!1,u.value=l.value/2,t.value=l.value/100,s.value=re(u,t),a.value=re(s,r),se.value&&a.value==r.value&&(se.value=!1),u.value=l.value/2;const n=re(u,r);u.value=l.value/2;const v=re(u,f);for(ve.value=n==r.value&&v>f.value&&se.value,fe.value=0,r.value=1,a.value=1;a.value==e.value;)++fe.value,r.value*=ne.value,r.value=Math.fround(r.value),a.value=re(r,e),u.value=Math.fround(-r.value),a.value=re(a,u)}return e.value=Math.trunc(ne.value),r.assign(fe),a.assign(se),l.assign(ve),oe=!1,0};let ce=!0,pe=!1;const he=new ee(0),we=new ee(0),Me=new ee(0),Re=new ee(0),me=new ee(0),Ne=new ee(0),xe=new ee(0),{abs:Te,min:ge,max:Le}=Math,Ue=(e,r,a,l,u,t,o,f)=>{const s=new ee(0),n=new ee(0),v=new ee(0),i=new ee(0),c=new ee(0),p=new ee(0),h=new ee(0),w=new ee(0),M=new ee(0);let R=new ee(!1);const m=new ee(0),N=new ee(!1),x=new ee(0),T=new ee(0),g=new ee(0),L=new ee(0),U=new ee(0),S=new ee(!1),d=new ee(0),Q=new ee(0);if(ce){const e=new ee(0),r=new ee(1),a=2;for(Me.value=Math.trunc(Me.value),he.value=Math.trunc(he.value),ie(Me,he,N,S),w.assign(Me),s.value=-he.value,h.value=te(w,s),we.assign(h),w.value=a/3,m.value=r.value/2,n.value=-m.value,U.value=re(w,n),L.value=re(U,U),n.value=-m.value,w.value=re(L,n),w.value=re(w,U),w.value=Te(w.value),w.value<we.value&&w.assign(we),we.value=1;we.value>w.value&&w.value>e.value;)we.assign(w),n.value=m.value*we.value,i.value=a,c.assign(i),i.value*=i.value,p.assign(we),v.value=c.value*(i.value*i.value)*(p.value*p.value),M.value=re(n,v),n.value=-M.value,M.value=re(m,n),w.value=re(m,M),n.value=-w.value,M.value=re(m,n),w.value=re(m,M);h.value<we.value&&we.assign(h);const l=Math.fround(r.value/Me.value);T.assign(r);for(let r=1;r<=3;++r)n.value=Math.fround(T.value*l),T.value=re(n,e);h.value=re(r,T),ae(Q,r,Me),n.value=-r.value,ae(d,n,Me),ae(g,h,Me),n.value=-h.value,ae(x,n,Me),R.value=!1,Q.value==d.value&&g.value==x.value?Q.value==g.value?Re.assign(Q):g.value-Q.value==3?(Re.value=Q.value-1+he.value,R.value=!0):(Re.value=ge(Q.value,g.value),pe=!0):Q.value==g.value&&d.value==x.value?1==(s.value=Q.value-d.value,Te(s.value))?Re.value=Le(Q.value,d.value):(Re.value=ge(Q.value,d.value),pe=!0):1==(s.value=Q.value-d.value,Te(s.value))&&g.value==x.value?g.value-ge(Q.value,d.value)==3?Re.value=Le(Q.value,d.value)-1+he.value:(Re.value=ge(Q.value,d.value),pe=!0):(s.value=ge(Q.value,d.value),s.value=ge(s.value,g.value),Re.value=ge(s.value,x.value),pe=!0),ce=!1,pe&&(console.warn((e=>`WARNING. The value EMIN may be incorrect: ${e}\nEMIN = ${e}\nIf, after inspection, the value EMIN looks {v1} acceptable please comment out {v1} the IF block as marked within the code of \nroutine {v1} SLAMC2 {v2} otherwise supply EMIN explicitly.`)(Re.value)),ce=!0),R=R||S.value,Ne.value=1,s.value=1-Re.value;for(let r=1;r<=s.value;++r)n.value=Math.fround(Ne.value*l),Ne.value=re(n,e);ue(Me,he,Re,R,me,xe)}return e.assign(Me),r.assign(he),a.assign(N),l.assign(we),u.assign(Re),t.assign(Ne),o.assign(me),f.assign(xe),0},Se=new ee(0),de=new ee(0),Qe=new ee(0),Fe=new ee(0),Ge=new ee(0),be=new ee(0),Ee=new ee(0),Ie=new ee(0),Be=new ee(0),We=new ee(0);let Ce=!0;const De=e=>{let r=new ee(0);const a=new ee(0),l=new ee(0),u=new ee(0),t=new ee(0),o=new ee(!1);let f;switch(Ce&&(Ue(l,a,o,Qe,u,Ie,t,Be),Fe.assign(l),Se.assign(a),o.value?(de.value=1,r.value=1-a.value,Qe.value=te(Fe,r)/2):(de.value=0,r.value=1-a.value,Qe.value=te(Fe,r)),be.value=Math.fround(Qe.value*Fe.value),Ge.assign(u),Ee.assign(t),We.assign(Ie),f=1/Be.value,f>=We.value&&(We.value=f*(Qe.value+1))),Ce=!1,e[0]){case"E":return Qe.value;case"S":return We.value;case"B":return Fe.value;case"P":return be.value;case"N":return Se.value;case"R":return de.value;case"M":return Ge.value;case"U":return Ie.value;case"L":return Ee.value;case"O":return Be.value;default:throw new Error("Unknown argument "+e)}},{max:ye,min:He,abs:Ae}=Math,ke=(e,r,a,l,u,t)=>{let o,f,s,n,v,i,c,p,h,w;o=l,f=-(1+o);if(t.value=0,e<0?t.value=-1:r<0?t.value=-2:l<ye(1,e)&&(t.value=-4),0!=t.value)return s=-t.value,console.error("SGETF2 parameter "+s),0;if(0==e||0==r)return 0;for(w=De("S"),s=He(e,r),p=1;p<=s;++p){if(n=e-p+1,h=p-1+B(n,W(a,f+p+p*o),1),u[-1+p]=h,0!=a[f+h+p*o]){if(h!=p&&N(r,W(a,f+p+o),l,W(a,f+h+o),l),p<e)if(i=a[f+p+p*o],Ae(i)>=w)n=e-p,i=1/a[f+p+p*o],E(n,i,W(a,f+p+1+p*o),1);else for(n=e-p,c=1;c<=n;++c)a[f+p+c+p*o]/=a[f+p+p*o]}else 0==t.value&&(t.value=p);p<He(e,r)&&(n=e-p,v=r-p,b(n,v,-1,W(a,f+p+1+p*o),1,W(a,f+p+(p+1)*o),l,W(a,f+p+1+(p+1)*o),l))}return 0},{max:Oe,min:Ve}=Math,{max:qe}=Math,Pe=(e,r,a,l,u,t,o,f,s,n,v)=>{let i,c,p,h,w,M,m,N,x,T,g,L,U,S,d,Q;if(i=s,c=-(1+i),p=v,h=-(1+p),U=R(e,"L"),S=U?u:t,Q=R(l,"N"),d=R(r,"U"),g=0,U||R(e,"R")?d||R(r,"L")?R(a,"N")||R(a,"T")||R(a,"C")?R(l,"U")||R(l,"N")?u<0?g=5:t<0?g=6:s<qe(1,S)?g=9:v<qe(1,u)&&(g=11):g=4:g=3:g=2:g=1,0!=g)return console.error("STRMM parameter "+g),0;if(0==u||0==t)return 0;if(0==o){for(w=t,x=1;x<=w;++x)for(M=u,N=1;N<=M;++N)n[h+N+x*p]=0;return 0}if(U)if(R(a,"N")){if(d){for(w=t,x=1;x<=w;++x)for(M=u,T=1;T<=M;++T)if(0!=n[h+T+x*p]){for(L=o*n[h+T+x*p],m=T-1,N=1;N<=m;++N)n[h+N+x*p]+=L*f[c+N+T*i];Q&&(L*=f[c+T+T*i]),n[h+T+x*p]=L}}else for(w=t,x=1;x<=w;++x)for(T=u;T>=1;--T)if(0!=n[h+T+x*p])for(L=o*n[h+T+x*p],n[h+T+x*p]=L,Q&&(n[h+T+x*p]*=f[c+T+T*i]),M=u,N=T+1;N<=M;++N)n[h+N+x*p]+=L*f[c+N+T*i]}else if(d)for(w=t,x=1;x<=w;++x)for(N=u;N>=1;--N){for(L=n[h+N+x*p],Q&&(L*=f[c+N+N*i]),M=N-1,T=1;T<=M;++T)L+=f[c+T+N*i]*n[h+T+x*p];n[h+N+x*p]=o*L}else for(w=t,x=1;x<=w;++x)for(M=u,N=1;N<=M;++N){for(L=n[h+N+x*p],Q&&(L*=f[c+N+N*i]),m=u,T=N+1;T<=m;++T)L+=f[c+T+N*i]*n[h+T+x*p];n[h+N+x*p]=o*L}else if(R(a,"N"))if(d)for(x=t;x>=1;--x){for(L=o,Q&&(L*=f[c+x+x*i]),w=u,N=1;N<=w;++N)n[h+N+x*p]=L*n[h+N+x*p];for(w=x-1,T=1;T<=w;++T)if(0!=f[c+T+x*i])for(L=o*f[c+T+x*i],M=u,N=1;N<=M;++N)n[h+N+x*p]+=L*n[h+N+T*p]}else for(w=t,x=1;x<=w;++x){for(L=o,Q&&(L*=f[c+x+x*i]),M=u,N=1;N<=M;++N)n[h+N+x*p]=L*n[h+N+x*p];for(M=t,T=x+1;T<=M;++T)if(0!=f[c+T+x*i])for(L=o*f[c+T+x*i],m=u,N=1;N<=m;++N)n[h+N+x*p]+=L*n[h+N+T*p]}else if(d)for(w=t,T=1;T<=w;++T){for(M=T-1,x=1;x<=M;++x)if(0!=f[c+x+T*i])for(L=o*f[c+x+T*i],m=u,N=1;N<=m;++N)n[h+N+x*p]+=L*n[h+N+T*p];if(L=o,Q&&(L*=f[c+T+T*i]),1!=L)for(M=u,N=1;N<=M;++N)n[h+N+T*p]=L*n[h+N+T*p]}else for(T=t;T>=1;--T){for(w=t,x=T+1;x<=w;++x)if(0!=f[c+x+T*i])for(L=o*f[c+x+T*i],M=u,N=1;N<=M;++N)n[h+N+x*p]+=L*n[h+N+T*p];if(L=o,Q&&(L*=f[c+T+T*i]),1!=L)for(w=u,N=1;N<=w;++N)n[h+N+T*p]=L*n[h+N+T*p]}return 0},{max:_e}=Math,Ye=(e,r,a,l,u,t,o,f)=>{let s,n,v,i,c,p,h,w,M,m,N,x;s=t,n=-(1+s);const T=-1;if(m=0,R(e,"U")||R(e,"L")?R(r,"N")||R(r,"T")||R(r,"C")?R(a,"U")||R(a,"N")?l<0?m=4:t<_e(1,l)?m=6:0==f&&(m=8):m=3:m=2:m=1,0!=m)return console.error("STRMV parameter "+m),0;if(0==l)return 0;if(x=R(a,"N"),M=1,f<=0?M=1-(l-1)*f:1!=f&&(M=1),R(r,"N"))if(R(e,"U"))if(1==f){for(v=l,p=1;p<=v;++p)if(0!=o[T+p]){for(N=o[T+p],i=p-1,c=1;c<=i;++c)o[T+c]+=N*u[n+c+p*s];x&&(o[T+p]*=u[n+p+p*s])}}else for(w=M,v=l,p=1;p<=v;++p){if(0!=o[T+w]){for(N=o[T+w],h=M,i=p-1,c=1;c<=i;++c)o[T+h]+=N*u[n+c+p*s],h+=f;x&&(o[T+w]*=u[n+p+p*s])}w+=f}else if(1==f){for(p=l;p>=1;--p)if(0!=o[T+p]){for(N=o[T+p],v=p+1,c=l;c>=v;--c)o[T+c]+=N*u[n+c+p*s];x&&(o[T+p]*=u[n+p+p*s])}}else for(M+=(l-1)*f,w=M,p=l;p>=1;--p){if(0!=o[T+w]){for(N=o[T+w],h=M,v=p+1,c=l;c>=v;--c)o[T+h]+=N*u[n+c+p*s],h-=f;x&&(o[T+w]*=u[n+p+p*s])}w-=f}else if(R(e,"U"))if(1==f)for(p=l;p>=1;--p){for(N=o[T+p],x&&(N*=u[n+p+p*s]),c=p-1;c>=1;--c)N+=u[n+c+p*s]*o[T+c];o[T+p]=N}else for(w=M+(l-1)*f,p=l;p>=1;--p){for(N=o[T+w],h=w,x&&(N*=u[n+p+p*s]),c=p-1;c>=1;--c)h-=f,N+=u[n+c+p*s]*o[T+h];o[T+w]=N,w-=f}else if(1==f)for(v=l,p=1;p<=v;++p){for(N=o[T+p],x&&(N*=u[n+p+p*s]),i=l,c=p+1;c<=i;++c)N+=u[n+c+p*s]*o[T+c];o[T+p]=N}else for(w=M,v=l,p=1;p<=v;++p){for(N=o[T+w],h=w,x&&(N*=u[n+p+p*s]),i=l,c=p+1;c<=i;++c)h+=f,N+=u[n+c+p*s]*o[T+h];o[T+w]=N,w+=f}return 0},{max:Ze}=Math,$e=(e,r,a,l,u,t)=>{let o,f,s,n,v,i,c,p;if(o=u,f=-(1+o),t.value=0,c=R(e,"U"),p=R(r,"N"),c||R(e,"L")?p||R(r,"U")?a<0?t.value=-3:u<Ze(1,a)&&(t.value=-5):t.value=-2:t.value=-1,0!=t.value)return s=-t.value,console.error("STRTI2 parameter "+s),0;if(c)for(s=a,v=1;v<=s;++v)p?(l[f+v+v*o]=1/l[f+v+v*o],i=-l[f+v+v*o]):i=-1,n=v-1,Ye("Upper","No transpose",r,n,l,u,W(l,f+v*o+1),1),n=v-1,E(n,i,W(l,f+v*o+1),1);else for(v=a;v>=1;--v)p?(l[f+v+v*o]=1/l[f+v+v*o],i=-l[f+v+v*o]):i=-1,v<a&&(s=a-v,Ye("Lower","No transpose",r,s,W(l,f+v+1+(v+1)*o),u,W(l,f+v+1+v*o),1),s=a-v,E(s,i,W(l,f+v+1+v*o),1));return 0},{min:je,max:ze}=Math,Je=(e,r,a,u,t,o)=>{let f,s,n,v,i,c,p,h,w,M,m,N;if(f=t,s=-(1+f),o.value=0,m=R(e,"U"),N=R(r,"N"),m||R(e,"L")?N||R(r,"U")?a<0?o.value=-3:t<ze(1,a)&&(o.value=-5):o.value=-2:o.value=-1,0!=o.value)return n=-o.value,console.error("STRTRI parameter "+n),0;if(0==a)return 0;if(N){for(n=a,o.value=1;o.value<=n;++o.value)if(0==u[s+o.value+o.value*f])return 0;o.value=0}if(w=l(1,"STRTRI",e[0]+r[0],a,-1,-1,-1),w<=1||w>=a)$e(e,r,a,u,t,o);else if(m)for(n=a,v=w,p=1;v<0?p>=n:p<=n;p+=v)i=w,c=a-p+1,h=je(i,c),i=p-1,Pe("Left","Upper","No transpose",r,i,h,1,u,t,W(u,p*f+1),t),i=p-1,Q("Right","Upper","No transpose",r,i,h,-1,W(u,p+p*f),t,W(u,p*f+1),t),$e("Upper",r,h,W(u,p+p*f),t,o);else for(M=(a-1)/w*w+1,v=-w,p=M;v<0?p>=1:p<=1;p+=v)n=w,i=a-p+1,h=je(n,i),p+h<=a&&(n=a-p-h+1,Pe("Left","Lower","No transpose",r,n,h,1,W(u,p+h+(p+h)*f),t,W(u,p+h+p*f),t),n=a-p-h+1,Q("Right","Lower","No transpose",r,n,h,-1,W(u,p+p*f),t,W(u,p+h+p*f),t)),$e("Lower",r,h,W(u,p+p*f),t,o);return 0},{min:Ke,max:Xe}=Math,{max:er}=Math,{abs:rr,max:ar}=Math,lr=(e,r)=>{var a;return a=r.value,.4342944819032518*Math.log(a)>2e3&&(e.value=Math.sqrt(e.value),r.value=Math.sqrt(r.value)),0},ur=(e,r)=>{const a=e>=0?e:-e;return r>=0?a:-a},{abs:tr}=Math,or=(e,r,a)=>{let l,u,t,o,f,s,n;if(t=0,n=0,e<=0||a<=0)return 0;if(1==a)return fr(e,n,r);for(s=e*a,l=s,u=a,f=1;u<0?f>=l:f<=l;f+=u)n+=(o=r[-1+f],tr(o));return n},fr=(e,r,a)=>{const l=e%6;if(0==l)return sr(l,e,r,a);let u;for(let e=1;e<=l;++e)r+=(u=a[-1+e],tr(u));return e<6?nr(r):sr(l,e,r,a)},sr=(e,r,a,l)=>{let u,t,o,f,s,n;for(let v=e+1;v<=r;v+=6)a=a+(u=l[-1+v],tr(u))+(t=l[-1+v+1],tr(t))+(o=l[-1+v+2],tr(o))+(f=l[-1+v+3],tr(f))+(s=l[-1+v+4],tr(s))+(n=l[-1+v+5],tr(n));return nr(a)},nr=e=>e,{abs:vr}=Math,ir=(e,a,l,u,t,o,f)=>{if(1==e)return a[0]=l[0],u.value=vr(a[0]),Nr(t);u.value=or(e,W(l,0),1);for(let a=1;a<=e;++a)l[-1+a]=ur(1,l[-1+a]),f[-1+a]=r(l[-1+a]);return t.value=2,o[0]=2,0},cr=(e,r,a,l)=>(a[1]=B(e,W(r,0),1),a[2]=2,pr(e,r,a,l)),pr=(e,r,a,l)=>{for(let a=1;a<=e;++a)r[-1+a]=0;return r[-1+a[1]]=1,l.value=1,a[0]=3,0},hr=(e,a,l,u,t,o,f)=>{m(e,W(a,0),1,W(l,0),1);const s=o.value;o.value=or(e,W(l,0),1);for(let l=1;l<=e;++l){const n=ur(1,a[-1+l]);if(r(n)!=t[-1+l])return wr(e,a,u,t,s,o,f)}return Rr(e,a,u,f)},wr=(e,a,l,u,t,o,f)=>{if(o.value<=t)return Rr(e,a,l,f);for(let l=1;l<=e;++l)a[-1+l]=ur(1,a[-1+l]),u[-1+l]=r(a[-1+l]);return f.value=2,l[0]=4,0},Mr=(e,r,a,l)=>{const u=a[1];let t;return a[1]=B(e,W(r,0),1),r[-1+u]!=(t=r[-1+a[1]],vr(t))&&a[2]<5?(++a[2],pr(e,r,a,l)):Rr(e,r,a,l)},Rr=(e,r,a,l)=>{let u=1;for(let a=1;a<=e;++a)r[-1+a]=u*((a-1)/(e-1)+1),u=-u;return l.value=1,a[0]=5,0},mr=(e,r,a,l,u)=>{const t=or(e,W(r,0),1)/(3*e)*2;return t>l.value&&(m(e,W(r,0),1,W(a,0),1),l.value=t),Nr(u)},Nr=e=>(e.value=0,0),{abs:xr}=Math,Tr=(e,r,a,l,u)=>{if(e>0){let u;const t=(e-1)*a+1,o=a;for(let e=1;o<0?e>=t:e<=t;e+=o)if(0!=r[e]){const a=(u=r[e],xr(u));l<a?(u=l/a,l=a):u=a/l}}return 0},{min:gr,max:Lr,abs:Ur}=Math,{abs:Sr}=Math,{max:dr}=Math;exports.LapackInfo=e,exports.i_nint=r,exports.ilaenv=l,exports.iparmq=a,exports.isamax=B,exports.lsame_=R,exports.sasum=or,exports.saxpy=(e,r,a,l,u,t)=>{let o,f,s,n,v,i;if(e<=0)return 0;if(0==r)return 0;if(1==l&&1==t){if(s=e%4,0==s)for(i=s+1,o=e,f=i;f<=o;f+=4)u[-1+f]+=r*a[-1+f],u[-1+f+1]+=r*a[-1+f+1],u[-1+f+2]+=r*a[-1+f+2],u[-1+f+3]+=r*a[-1+f+3];for(o=s,f=1;f<=o;++f)u[-1+f]+=r*a[-1+f];return 0}for(n=1,v=1,l<0&&(n=(1-e)*l+1),t<0&&(v=(1-e)*t+1),o=e,f=1;f<=o;++f)u[-1+v]+=r*a[-1+n],n+=l,v+=t;return 0},exports.scopy=m,exports.sdot=(e,r,a,l,u)=>{let t,o,f,s,n,v,i;const c=-1;if(i=0,e<=0)return 0;if(1==a&&1==u){if(f=e%5,0!=f){for(t=f,o=1;o<=t;++o)i+=r[c+o]*l[c+o];if(e<5)return i}for(v=f+1,t=e,o=v;o<=t;o+=5)i=i+r[c+o]*l[c+o]+r[c+o+1]*l[c+o+1]+r[c+o+2]*l[c+o+2]+r[c+o+3]*l[c+o+3]+r[c+o+4]*l[c+o+4];return i}for(s=1,n=1,a<0&&(s=(1-e)*a+1),u<0&&(n=(1-e)*u+1),t=e,o=1;o<=t;++o)i+=r[c+s]*l[c+n],s+=a,n+=u;return i},exports.sgbsv=(e,r,a,l,u,t,o,f,s,n,v=!1)=>{let i;return n.value=0,e<0?n.value=-1:r<0?n.value=-2:a<0?n.value=-3:l<0?n.value=-4:t<(r<<1)+a+1?n.value=-6:s<X(e,1)&&(n.value=-9),0!=n.value?(i=-n.value,console.error("SGBSV parameter "+i),0):(V(e,e,r,a,u,t,o,n),0==n.value&&K("No transpose",e,r,a,l,u,t,o,f,s,n),0)},exports.sgbtf2=y,exports.sgbtrf=V,exports.sgbtrs=K,exports.sgemm=U,exports.sgemv=j,exports.sger=b,exports.sgetf2=ke,exports.sgetrf=(r,a,u,t,o,f)=>{let s,n,v,i,c,p,h,w,M,R,m,N=new e;s=t,n=-(1+s);if(f.value=0,r<0?f.value=-1:a<0?f.value=-2:t<Oe(1,r)&&(f.value=-4),0!=f.value)return v=-f.value,console.error("SGETRF parameter "+v),0;if(0==r||0==a)return 0;if(m=l(1,"SGETRF"," ",r,a,-1,-1),m<=1||m>=Ve(r,a))ke(r,a,u,t,o,f);else for(v=Ve(r,a),i=m,M=1;i<0?M>=v:M<=v;M+=i){for(c=Ve(r,a)-M+1,R=Ve(c,m),c=r-M+1,ke(c,R,W(u,n+M+M*s),t,W(o,-1+M),N),0==f.value&&N.value>0&&(f.value=N.value+M-1),p=r,h=M+R-1,c=Ve(p,h),w=M;w<=c;++w)o[-1+w]=M-1+o[-1+w];c=M-1,p=M+R-1,F(c,u,t,M,p,o,1),M+R<=a&&(c=a-M-R+1,p=M+R-1,F(c,W(u,n+(M+R)*s+1),t,M,p,W(o,0),1),c=a-M-R+1,Q("Left","Lower","No transpose","Unit",R,c,1,W(u,n+M+M*s),t,W(u,n+M+(M+R)*s),t),M+R<=r&&(c=r-M-R+1,p=a-M-R+1,U("No transpose","No transpose",c,p,R,-1,W(u,n+M+R+M*s),t,W(u,n+M+(M+R)*s),t,1,W(u,n+M+R+(M+R)*s),t)))}return 0},exports.sgetri=(e,r,a,u,t,o,f)=>{let s,n,v,i,c,p,h,w,M,R,m,x,T,g,L,S,d;s=a,n=-(1+s);const F=-1;if(f.value=0,M=l(1,"SGETRI"," ",e,-1,-1,-1),S=e*M,t[0]=S,d=-1==o,e<0?f.value=-1:a<Xe(1,e)?f.value=-3:o<Xe(1,e)&&!d&&(f.value=-6),0!=f.value)return v=-f.value,console.error("SGETRI parameter "+v),0;if(d)return 0;if(0==e)return 0;if(Je("Upper","Non-unit",e,r,a,f),f.value>0)return 0;if(g=2,L=e,M>1&&M<e?(v=L*M,T=Xe(v,1),o<T&&(M=o/L,v=2,i=l(2,"SGETRI"," ",e,-1,-1,-1),g=Xe(v,i))):T=e,M<g||M>=e)for(h=e;h>=1;--h){for(v=e,p=h+1;p<=v;++p)t[F+p]=r[n+p+h*s],r[n+p+h*s]=0;h<e&&(v=e-h,j("No transpose",e,v,-1,W(r,n+(h+1)*s+1),a,W(t,F+h+1),1,1,W(r,n+h*s+1),1))}else for(x=(e-1)/M*M+1,v=-M,h=x;v<0?h>=1:h<=1;h+=v){for(i=M,c=e-h+1,w=Ke(i,c),i=h+w-1,R=h;R<=i;++R)for(c=e,p=R+1;p<=c;++p)t[F+p+(R-h)*L]=r[n+p+R*s],r[n+p+R*s]=0;h+w<=e&&(i=e-h-w+1,U("No transpose","No transpose",e,w,i,-1,W(r,n+(h+w)*s+1),a,W(t,F+h+w),L,1,W(r,n+h*s+1),a)),Q("Right","Lower","No transpose","Unit",e,w,1,W(t,F+h),L,W(r,n+h*s+1),a)}for(h=e-1;h>=1;--h)m=u[-1+h],m!=h&&N(e,W(r,n+h*s+1),1,W(r,n+m*s+1),1);return t[0]=T,0},exports.sgetrs=(e,r,a,l,u,t,o,f,s)=>{let n,v;return s.value=0,v="N"===e,v||"T"===e||"C"===e?r<0?s.value=-2:a<0?s.value=-3:u<er(1,r)?s.value=-5:f<er(1,r)&&(s.value=-8):s.value=-1,0!=s.value?(n=-s.value,console.error("SGETRS parameter "+n),0):(0==r||0==a||(v?(F(a,o,f,1,r,W(t,0),1),Q("Left","Lower","No transpose","Unit",r,a,1,l,u,o,f),Q("Left","Upper","No transpose","Non-unit",r,a,1,l,u,o,f)):(Q("Left","Upper","Transpose","Non-unit",r,a,1,l,u,o,f),Q("Left","Lower","Transpose","Unit",r,a,1,l,u,o,f),F(a,o,f,1,r,W(t,0),-1))),0)},exports.sgtsv=(e,r,a,l,u,t,o,f)=>{let s,n,v,i,c,p,h,w,M,R;s=o,n=-(1+s);const m=-1,N=-1,x=-1;if(f.value=0,e<0?f.value=-1:r<0?f.value=-2:o<ar(1,e)&&(f.value=-7),0!=f.value)return v=-f.value,console.error("SGTSV parameter "+v),0;if(0==e)return 0;if(1==r){for(v=e-2,h=1;h<=v;++h)if(c=l[N+h],rr(c)>=(p=a[m+h],rr(p))){if(0==l[N+h])return f.value=h,0;M=a[m+h]/l[N+h],l[N+h+1]-=M*u[x+h],t[n+h+1+s]-=M*t[n+h+s],a[m+h]=0}else M=l[N+h]/a[m+h],l[N+h]=a[m+h],R=l[N+h+1],l[N+h+1]=u[x+h]-M*R,a[m+h]=u[x+h+1],u[x+h+1]=-M*a[m+h],u[x+h]=R,R=t[n+h+s],t[n+h+s]=t[n+h+1+s],t[n+h+1+s]=R-M*t[n+h+1+s];if(e>1)if(h=e-1,c=l[N+h],rr(c)>=(p=a[m+h],rr(p))){if(0==l[N+h])return f.value=h,0;M=a[m+h]/l[N+h],l[N+h+1]-=M*u[x+h],t[n+h+1+s]-=M*t[n+h+s]}else M=l[N+h]/a[m+h],l[N+h]=a[m+h],R=l[N+h+1],l[N+h+1]=u[x+h]-M*R,u[x+h]=R,R=t[n+h+s],t[n+h+s]=t[n+h+1+s],t[n+h+1+s]=R-M*t[n+h+1+s];if(0==l[N+e])return f.value=e,0}else{for(v=e-2,h=1;h<=v;++h)if(c=l[N+h],rr(c)>=(p=a[m+h],rr(p))){if(0==l[N+h])return f.value=h,0;for(M=a[m+h]/l[N+h],l[N+h+1]-=M*u[x+h],i=r,w=1;w<=i;++w)t[n+h+1+w*s]-=M*t[n+h+w*s];a[m+h]=0}else for(M=l[N+h]/a[m+h],l[N+h]=a[m+h],R=l[N+h+1],l[N+h+1]=u[x+h]-M*R,a[m+h]=u[x+h+1],u[x+h+1]=-M*a[m+h],u[x+h]=R,i=r,w=1;w<=i;++w)R=t[n+h+w*s],t[n+h+w*s]=t[n+h+1+w*s],t[n+h+1+w*s]=R-M*t[n+h+1+w*s];if(e>1)if(h=e-1,c=l[N+h],rr(c)>=(p=a[m+h],rr(p))){if(0==l[N+h])return f.value=h,0;for(M=a[m+h]/l[N+h],l[N+h+1]-=M*u[x+h],v=r,w=1;w<=v;++w)t[n+h+1+w*s]-=M*t[n+h+w*s]}else for(M=l[N+h]/a[m+h],l[N+h]=a[m+h],R=l[N+h+1],l[N+h+1]=u[x+h]-M*R,u[x+h]=R,v=r,w=1;w<=v;++w)R=t[n+h+w*s],t[n+h+w*s]=t[n+h+1+w*s],t[n+h+1+w*s]=R-M*t[n+h+1+w*s];if(0==l[N+e])return f.value=e,0}if(r<=2)for(w=1;w<=r;++w)for(t[n+e+w*s]/=l[N+e],e>1&&(t[n+e-1+w*s]=(t[n+e-1+w*s]-u[x+e-1]*t[n+e+w*s])/l[N+e-1]),h=e-2;h>=1;--h)t[n+h+w*s]=(t[n+h+w*s]-u[x+h]*t[n+h+1+w*s]-a[m+h]*t[n+h+2+w*s])/l[N+h];else for(v=r,w=1;w<=v;++w)for(t[n+e+w*s]/=l[N+e],e>1&&(t[n+e-1+w*s]=(t[n+e-1+w*s]-u[x+e-1]*t[n+e+w*s])/l[N+e-1]),h=e-2;h>=1;--h)t[n+h+w*s]=(t[n+h+w*s]-u[x+h]*t[n+h+1+w*s]-a[m+h]*t[n+h+2+w*s])/l[N+h];return 0},exports.slabad=lr,exports.slacn2=(e,r,a,l,u,t,o)=>{if(0==t.value){for(let r=1;r<=e;++r)a[-1+r]=1/e;return t.value=1,o[0]=1,0}switch(o[0]){case 1:return ir(e,r,a,u,t,o,l);case 2:return cr(e,a,o,t);case 3:return hr(e,a,r,o,l,u,t);case 4:return Mr(e,a,o,t);case 5:return mr(e,a,r,u,t);default:return hr(e,a,r,o,l,u,t)}},exports.slamc1=ie,exports.slamc2=Ue,exports.slamc3=re,exports.slamc4=ae,exports.slamc5=ue,exports.slamch=De,exports.slange=(e,r,a,l,u,t)=>{let o,f=0;const s=u,n=-(1+s);if(0==gr(r,a))f=0;else switch(e){case"M":f=0;for(let e=1;e<=a;++e)for(let a=1;a<=r;++a){let r;const u=f,t=(r=l[n+a+e*s],Ur(r));f=Lr(u,t)}break;case"1":case"O":f=0;for(let e=1;e<=a;++e){let a=0;for(let u=1;u<=r;++u)a+=(o=l[n+u+e*s],Ur(o));f=Lr(f,a)}break;case"I":for(let e=1;e<=r;++e)t[-1+e]=0;for(let e=1;e<=a;++e)for(let a=1;a<=r;++a)t[-1+a]+=(o=l[n+a+e*s],Ur(o));f=0;for(let e=1;e<=r;++e){let r;o=f,r=t[-1+e],f=Lr(o,r)}break;case"F":case"E":const e=0,u=1;for(let u=1;u<=a;++u)Tr(r,W(l,n+u*s+1),1,e);f=e*Math.sqrt(u)}return f},exports.slassq=Tr,exports.slaswp=F,exports.srscl=(e,r,a,l)=>{let u,t,o,f,s,n=!1,v=new ee(0),i=new ee(0);if(e<=0)return 0;for(i.value=De("S"),v.value=1/i.value,lr(i,v),t=r,o=1;!n;)f=t*i.value,s=o/v.value,Sr(f)>Sr(o)&&0!=o?(u=i.value,n=!1,t=f):Sr(s)>Sr(t)?(u=v.value,n=!1,o=s):(u=o/t,n=!0),E(e,u,a,l);return 0},exports.sscal=E,exports.sswap=N,exports.stbsv=Y,exports.strmm=Pe,exports.strmv=Ye,exports.strsm=Q,exports.strsv=(r,a,l,u,t,o,f,s)=>{let n,v,i,c,p,h,w,M,m,N,x,T=new e;n=o,v=-(1+n);const g=-1;if(T.value=0,R(r,"U")||R(r,"L")?R(a,"N")||R(a,"T")||R(a,"C")?R(l,"U")||R(l,"N")?u<0?T.value=4:o<dr(1,u)?T.value=6:0==s&&(T.value=8):T.value=3:T.value=2:T.value=1,0!=T.value)return console.error("STRSV parameter "+T.value),0;if(0==u)return 0;if(x=R(l,"N"),m=0,s<=0?m=1-(u-1)*s:1!=s&&(m=1),R(a,"N"))if(R(r,"U"))if(1==s){for(h=u;h>=1;--h)if(0!=f[g+h])for(x&&(f[g+h]/=t[v+h+h*n]),N=f[g+h],p=h-1;p>=1;--p)f[g+p]-=N*t[v+p+h*n]}else for(M=m+(u-1)*s,h=u;h>=1;--h){if(0!=f[g+M])for(x&&(f[g+M]/=t[v+h+h*n]),N=f[g+M],w=M,p=h-1;p>=1;--p)w-=s,f[g+w]-=N*t[v+p+h*n];M-=s}else if(1==s){for(i=u,h=1;h<=i;++h)if(0!=f[g+h])for(x&&(f[g+h]/=t[v+h+h*n]),N=f[g+h],c=u,p=h+1;p<=c;++p)f[g+p]-=N*t[v+p+h*n]}else for(M=m,i=u,h=1;h<=i;++h){if(0!=f[g+M])for(x&&(f[g+M]/=t[v+h+h*n]),N=f[g+M],w=M,c=u,p=h+1;p<=c;++p)w+=s,f[g+w]-=N*t[v+p+h*n];M+=s}else if(R(r,"U"))if(1==s)for(i=u,h=1;h<=i;++h){for(N=f[g+h],c=h-1,p=1;p<=c;++p)N-=t[v+p+h*n]*f[g+p];x&&(N/=t[v+h+h*n]),f[g+h]=N}else for(M=m,i=u,h=1;h<=i;++h){for(N=f[g+M],w=m,c=h-1,p=1;p<=c;++p)N-=t[v+p+h*n]*f[g+w],w+=s;x&&(N/=t[v+h+h*n]),f[g+M]=N,M+=s}else if(1==s)for(h=u;h>=1;--h){for(N=f[g+h],i=h+1,p=u;p>=i;--p)N-=t[v+p+h*n]*f[g+p];x&&(N/=t[v+h+h*n]),f[g+h]=N}else for(m+=(u-1)*s,M=m,h=u;h>=1;--h){for(N=f[g+M],w=m,i=h+1,p=u;p>=i;--p)N-=t[v+p+h*n]*f[g+w],w-=s;x&&(N/=t[v+h+h*n]),f[g+M]=N,M-=s}return 0},exports.strti2=$e,exports.strtri=Je;