@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.57 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import r from"./../../assert/is-ndarray-like.js";import a from"./../../assert/is-array-like-object.js";import e from"./../../ndarray/base/assert/is-single-segment-compatible.js";import s from"./../../assert/is-float64array.js";import i from"./../../assert/is-float32array.js";import t from"./../../ndarray/base/iteration-order.js";import o from"./../../ndarray/base/singleton-dimensions.js";import f from"./../../ndarray/base/buffer-dtype.js";import n from"./../../ndarray/base/max-view-buffer-index.js";import m from"./../../ndarray/base/min-view-buffer-index.js";import d from"./../base/special/abs.js";import p from"./../strided/special/dabs.js";import l from"./../strided/special/sabs.js";import b from"./../strided/special/abs.js";var y=r,j=a,u=e,c=s,g=i,v=t,h=o,k=f,w=n,x=m,E=d,M=p,T=l,V=b;function q(r){var a,e,s,i,t,o,f,n,m,d;if(y(r)){if(f=r.length,s=r.ndims,i=r.shape,a=r.strides,e=r.offset,t=r.data,m="float64"===(o=r.dtype)?M:"float32"===o?T:V,1===s)return n=a[0],m.ndarray(f,t,n,e,t,n,e),r;if(h(i)===s-1){for(d=0;d<s;d++)if(1!==i[d]){n=a[d];break}return m.ndarray(f,t,n,e,t,n,e),r}if(0!==(n=v(a))&&u(i,a,e))return e=1===n?x(i,a,e):w(i,a,e),m.ndarray(f,t,n,e,t,n,e),r;for(d=0;d<f;d++)r.iset(d,E(r.iget(d)));return r}if(!j(r))throw new TypeError("invalid argument. Must provide either an ndarray or array-like object. Value: `"+r+"`.");return f=r.length,o=k(r)||"generic",(m=c(r)?M:g(r)?T:V)(f,r,1,r,1),r}var z=q;export default z;
//# sourceMappingURL=iabs.js.map