UNPKG

@stdlib/blas-ext-base-gsort2ins

Version:

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

8 lines (7 loc) 1.95 kB
"use strict";var B=function(g,Z){return function(){return Z||g((Z={exports:{}}).exports,Z),Z.exports}};var E=B(function(Q,D){ var z=require('@stdlib/math-base-assert-is-negative-zero/dist'),C=require('@stdlib/math-base-assert-is-nan/dist');function J(g,Z,v,a,c,f){var h,j,n,r,l,b,o,k,w,q,m,u,p;if(g<=0||Z===0)return v;if(Z<0&&(a*=-1,f*=-1),f<0?(k=(1-g)*f,w=0):(k=0,w=(g-1)*f),b=k+f,a<0){for(r=(1-g)*a,l=0,j=r+a,p=1;p<g;p++)if(q=v[j],m=c[b],C(q)){for(n=j,o=b;n>l;)v[n]=v[n+a],c[o]=c[o+f],n+=a,o+=f;v[l]=q,c[w]=m}else{for(h=z(q),n=j-a,o=b-f;n<=r&&(u=v[n],!(u<=q&&!(h&&u===q&&z(u)===!1)));)v[n+a]=u,c[o+f]=c[o],n-=a,o-=f;v[n+a]=q,c[o+f]=m,j+=a,b+=f}return v}for(r=0,l=(g-1)*a,j=r+a,p=1;p<g;p++)if(q=v[j],m=c[b],C(q)){for(n=j,o=b;n<l;)v[n]=v[n+a],c[o]=c[o+f],n+=a,o+=f;v[l]=q,c[w]=m}else{for(h=z(q),n=j-a,o=b-f;n>=r&&(u=v[n],!(u<=q&&!(h&&u===q&&z(u)===!1)));)v[n+a]=u,c[o+f]=c[o],n-=a,o-=f;v[n+a]=q,c[o+f]=m,j+=a,b+=f}return v}D.exports=J });var H=B(function(S,G){ var A=require('@stdlib/math-base-assert-is-negative-zero/dist'),F=require('@stdlib/math-base-assert-is-nan/dist');function K(g,Z,v,a,c,f,h,j){var n,r,l,b,o,k,w,q,m,u,p,O,R;if(g<=0||Z===0)return v;if(Z<0&&(a*=-1,h*=-1,c-=(g-1)*a,j-=(g-1)*h),b=c,o=b+(g-1)*a,r=b+a,q=j,m=q+(g-1)*h,k=q+h,a<0){for(R=1;R<g;R++)if(u=v[r],p=f[k],F(u)){for(l=r,w=k;l>o;)v[l]=v[l+a],f[w]=f[w+h],l+=a,w+=h;v[o]=u,f[m]=p}else{for(n=A(u),l=r-a,w=k-h;l<=b&&(O=v[l],!(O<=u&&!(n&&O===u&&A(O)===!1)));)v[l+a]=O,f[w+h]=f[w],l-=a,w-=h;v[l+a]=u,f[w+h]=p,r+=a,k+=h}return v}for(R=1;R<g;R++)if(u=v[r],p=f[k],F(u)){for(l=r,w=k;l<o;)v[l]=v[l+a],f[w]=f[w+h],l+=a,w+=h;v[o]=u,f[m]=p}else{for(n=A(u),l=r-a,w=k-h;l>=b&&(O=v[l],!(O<=u&&!(n&&O===u&&A(O)===!1)));)v[l+a]=O,f[w+h]=f[w],l-=a,w-=h;v[l+a]=u,f[w+h]=p,r+=a,k+=h}return v}G.exports=K });var L=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),I=E(),M=H();L(I,"ndarray",M);module.exports=I; /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map