UNPKG

@stdlib/blas-ext-base-gsort2ins

Version:

Simultaneously sort two strided arrays based on the sort order of the first array using insertion sort.

11 lines (10 loc) 2.4 kB
"use strict";var E=function(q,e){return function(){return e||q((e={exports:{}}).exports,e),e.exports}};var I=E(function(s,H){ var C=require('@stdlib/math-base-assert-is-negative-zero/dist'),G=require('@stdlib/math-base-assert-is-nan/dist');function U(q,e,u,a,O,c,v,z){var g,n,r,p,j,b,o,y,l,h,P,w,f,R,Z,k,A,m,B;if(g=u.data,n=c.data,r=u.accessors[0],j=u.accessors[1],p=c.accessors[0],b=c.accessors[1],e<0&&(a*=-1,v*=-1,O-=(q-1)*a,z-=(q-1)*v),h=O,P=h+(q-1)*a,y=h+a,R=z,Z=R+(q-1)*v,w=R+v,a<0){for(B=1;B<q;B++)if(k=r(g,y),A=p(n,w),G(k)){for(l=y,f=w;l>P;)j(g,l,r(g,l+a)),b(n,f,p(n,f+v)),l+=a,f+=v;j(g,P,k),b(n,Z,A)}else{for(o=C(k),l=y-a,f=w-v;l<=h&&(m=r(g,l),!(m<=k&&!(o&&m===k&&C(m)===!1)));)j(g,l+a,m),b(n,f+v,p(n,f)),l-=a,f-=v;j(g,l+a,k),b(n,f+v,A),y+=a,w+=v}return u}for(B=1;B<q;B++)if(k=r(g,y),A=p(n,w),G(k)){for(l=y,f=w;l<P;)j(g,l,r(g,l+a)),b(n,f,p(n,f+v)),l+=a,f+=v;j(g,P,k),b(n,Z,A)}else{for(o=C(k),l=y-a,f=w-v;l>=h&&(m=r(g,l),!(m<=k&&!(o&&m===k&&C(m)===!1)));)j(g,l+a,m),b(n,f+v,p(n,f)),l-=a,f-=v;j(g,l+a,k),b(n,f+v,A),y+=a,w+=v}return u}H.exports=U });var F=E(function(Y,L){ var J=require('@stdlib/array-base-arraylike2object/dist'),D=require('@stdlib/math-base-assert-is-negative-zero/dist'),K=require('@stdlib/math-base-assert-is-nan/dist'),V=I();function W(q,e,u,a,O,c,v,z){var g,n,r,p,j,b,o,y,l,h,P,w,f,R,Z;if(q<=0||e===0)return u;if(f=J(u),R=J(c),f.accessorProtocol||R.accessorProtocol)return V(q,e,f,a,O,R,v,z),u;if(e<0&&(a*=-1,v*=-1,O-=(q-1)*a,z-=(q-1)*v),p=O,j=p+(q-1)*a,n=p+a,y=z,l=y+(q-1)*v,b=y+v,a<0){for(Z=1;Z<q;Z++)if(h=u[n],P=c[b],K(h)){for(r=n,o=b;r>j;)u[r]=u[r+a],c[o]=c[o+v],r+=a,o+=v;u[j]=h,c[l]=P}else{for(g=D(h),r=n-a,o=b-v;r<=p&&(w=u[r],!(w<=h&&!(g&&w===h&&D(w)===!1)));)u[r+a]=w,c[o+v]=c[o],r-=a,o-=v;u[r+a]=h,c[o+v]=P,n+=a,b+=v}return u}for(Z=1;Z<q;Z++)if(h=u[n],P=c[b],K(h)){for(r=n,o=b;r<j;)u[r]=u[r+a],c[o]=c[o+v],r+=a,o+=v;u[j]=h,c[l]=P}else{for(g=D(h),r=n-a,o=b-v;r>=p&&(w=u[r],!(w<=h&&!(g&&w===h&&D(w)===!1)));)u[r+a]=w,c[o+v]=c[o],r-=a,o-=v;u[r+a]=h,c[o+v]=P,n+=a,b+=v}return u}L.exports=W });var S=E(function(t,Q){ var M=require('@stdlib/strided-base-stride2offset/dist'),_=F();function $(q,e,u,a,O,c){return _(q,e,u,a,M(q,a),O,c,M(q,c))}Q.exports=$ });var x=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),T=S(),N=F();x(T,"ndarray",N);module.exports=T; /** @license Apache-2.0 */ /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map