@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 14 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import __var_0__$2 from"./../utils/define-nonenumerable-read-only-property.js";import __var_1__$2 from"./../assert/is-array-like-object.js";import __var_2__$1 from"./../assert/is-typed-array-like.js";import __var_3__$1 from"./../assert/is-buffer.js";import __var_4__$1 from"./../assert/is-nonnegative-integer-array.js";import __var_5__ from"./../assert/is-nonnegative-integer.js";import __var_6__ from"./../assert/is-positive-integer.js";import __var_7__ from"./../assert/is-integer-array.js";import __var_8__ from"./base/assert/is-order.js";import __var_9__ from"./base/assert/is-data-type.js";import __var_10__ from"./base/assert/is-buffer-length-compatible.js";import __var_11__ from"./base/bytes-per-element.js";import __var_12__ from"./base/memoized-ctor.js";import __var_13__ from"./../utils/inherit.js";import __var_0__ from"./../assert/is-integer.js";import __var_1__ from"./base/ind.js";import __var_0__$1 from"./../assert/is-plain-object.js";import __var_1__$1 from"./../assert/has-own-property.js";import __var_2__ from"./../assert/is-array.js";import __var_3__ from"./../assert/is-boolean.js";import __var_4__ from"./base/assert/is-index-mode.js";var codegen=!0,mode="throw",__var_14__={codegen:codegen,mode:mode},isInteger=__var_0__.isPrimitive,getIndex=__var_1__;function wrap(e,r){return function(t){if(!isInteger(t))throw new TypeError("invalid argument. Index must be an integer value. Value: `"+t+"`.");return t=getIndex(t,this._length-1,r),e.call(this,t)}}var isInteger$1=__var_0__.isPrimitive,getIndex$1=__var_1__;function wrap$1(e,r){return function(t,i){if(!isInteger$1(t))throw new TypeError("invalid argument. Index must be an integer value. Value: `"+t+"`.");return t=getIndex$1(t,this._length-1,r),e.call(this,t,i),this}}var isInteger$2=__var_0__.isPrimitive,getIndex$2=__var_1__;function get(ndims,mode){var n=ndims-1,f,i;for(f="(function iife(){return function get(",i=0;i<ndims;i++)f+="i"+i,i<n&&(f+=",");for(f+="){",i=0;i<ndims;i++)f+="if(!f.__isint__(i"+i+")){throw new TypeError('invalid argument. Indices must be integer valued. Argument: "+i+". Value: `'+i"+i+"+'`.');}";for(i=0;i<ndims;i++)f+="i"+i+"=f.__get_index__(i"+i+",this._shape["+i+"]-1,'"+mode[i%mode.length]+"');";for(f+="return this._buffer[this._offset+",i=0;i<ndims;i++)f+="this._strides["+i+"]*i"+i,i<n&&(f+="+");return f+="];",f+="}",f+="})()",f+="//# sourceURL=ndarray.ctor.get.js",f=eval(f),f.__isint__=isInteger$2,f.__get_index__=getIndex$2,f}var isInteger$3=__var_0__.isPrimitive,getIndex$3=__var_1__;function wrap$2(e){return e=e[0],function(r){if(!isInteger$3(r))throw new TypeError("invalid argument. Index must be an integer value. Value: `"+r+"`.");return r=getIndex$3(r,this._shape[0]-1,e),this._buffer[this._offset+this._strides[0]*r]}}var isInteger$4=__var_0__.isPrimitive,getIndex$4=__var_1__;function wrap$3(e){var r=e[0%e.length],t=e[1%e.length];return function(e,i){var n;if(!isInteger$4(e))throw new TypeError("invalid argument. Index for first dimension must be an integer value. Value: `"+e+"`.");if(!isInteger$4(i))throw new TypeError("invalid argument. Index for second dimension must be an integer value. Value: `"+i+"`.");return e=getIndex$4(e,this._shape[0]-1,r),i=getIndex$4(i,this._shape[1]-1,t),n=this._offset+this._strides[0]*e+this._strides[1]*i,this._buffer[n]}}var isInteger$5=__var_0__.isPrimitive,getIndex$5=__var_1__;function wrap$4(e){var r=e[0%e.length],t=e[1%e.length],i=e[2%e.length];return function(e,n,s){var a;if(!isInteger$5(e))throw new TypeError("invalid argument. Index for first dimension must be an integer value. Value: `"+e+"`.");if(!isInteger$5(n))throw new TypeError("invalid argument. Index for second dimension must be an integer value. Value: `"+n+"`.");if(!isInteger$5(s))throw new TypeError("invalid argument. Index for third dimension must be an integer value. Value: `"+s+"`.");return e=getIndex$5(e,this._shape[0]-1,r),n=getIndex$5(n,this._shape[1]-1,t),s=getIndex$5(s,this._shape[2]-1,i),a=this._offset+this._strides[0]*e+this._strides[1]*n+this._strides[2]*s,this._buffer[a]}}var isInteger$6=__var_0__.isPrimitive,getIndex$6=__var_1__;function wrap$5(e){var r=e[0%e.length],t=e[1%e.length],i=e[2%e.length],n=e[3%e.length];return function(e,s,a,_){var o;if(!isInteger$6(e))throw new TypeError("invalid argument. Index for first dimension must be an integer value. Value: `"+e+"`.");if(!isInteger$6(s))throw new TypeError("invalid argument. Index for second dimension must be an integer value. Value: `"+s+"`.");if(!isInteger$6(a))throw new TypeError("invalid argument. Index for third dimension must be an integer value. Value: `"+a+"`.");if(!isInteger$6(_))throw new TypeError("invalid argument. Index for fourth dimension must be an integer value. Value: `"+_+"`.");return e=getIndex$6(e,this._shape[0]-1,r),s=getIndex$6(s,this._shape[1]-1,t),a=getIndex$6(a,this._shape[2]-1,i),_=getIndex$6(_,this._shape[3]-1,n),o=this._offset+this._strides[0]*e+this._strides[1]*s+this._strides[2]*a+this._strides[3]*_,this._buffer[o]}}var isInteger$7=__var_0__.isPrimitive,getIndex$7=__var_1__;function wrap$6(e){var r=e.length;return function(){var t,i,n,s;for(t=arguments.length,i=this._offset,s=0;s<t;s++){if(!isInteger$7(arguments[s]))throw new TypeError("invalid argument. Indices must be integer valued. Argument: "+s+". Value: `"+arguments[s]+"`.");n=getIndex$7(arguments[s],this._shape[s]-1,e[s%r]),i+=this._strides[s]*n}return this._buffer[i]}}var compile=get,get1d=wrap$2,get2d=wrap$3,get3d=wrap$4,get4d=wrap$5,getnd=wrap$6;function get$1(e,r,t){return r?compile(e,t):1===e?get1d(t):2===e?get2d(t):3===e?get3d(t):4===e?get4d(t):getnd(t)}var isInteger$8=__var_0__.isPrimitive,getIndex$8=__var_1__;function set(ndims,mode){var n=ndims-1,f,i;for(f="(function iife(){return function set(",i=0;i<ndims;i++)f+="i"+i+",";for(f+="v){",i=0;i<ndims;i++)f+="if(!f.__isint__(i"+i+")){throw new TypeError('invalid argument. Indices must be integer valued. Argument: "+i+". Value: `'+i"+i+"+'`.');}";for(i=0;i<ndims;i++)f+="i"+i+"=f.__get_index__(i"+i+",this._shape["+i+"]-1,'"+mode[i%mode.length]+"');";for(f+="this._buffer[this._offset+",i=0;i<ndims;i++)f+="this._strides["+i+"]*i"+i,i<n&&(f+="+");return f+="]=v;",f+="return this;",f+="}",f+="})()",f+="//# sourceURL=ndarray.ctor.set.js",f=eval(f),f.__isint__=isInteger$8,f.__get_index__=getIndex$8,f}var isInteger$9=__var_0__.isPrimitive,getIndex$9=__var_1__;function wrap$7(e){return e=e[0],function(r,t){if(!isInteger$9(r))throw new TypeError("invalid argument. Index must be an integer value. Value: `"+r+"`.");return r=getIndex$9(r,this._shape[0]-1,e),this._buffer[this._offset+this._strides[0]*r]=t,this}}var isInteger$a=__var_0__.isPrimitive,getIndex$a=__var_1__;function wrap$8(e){var r=e[0%e.length],t=e[1%e.length];return function(e,i,n){var s;if(!isInteger$a(e))throw new TypeError("invalid argument. Index for first dimension must be an integer value. Value: `"+e+"`.");if(!isInteger$a(i))throw new TypeError("invalid argument. Index for second dimension must be an integer value. Value: `"+i+"`.");return e=getIndex$a(e,this._shape[0]-1,r),i=getIndex$a(i,this._shape[1]-1,t),s=this._offset+this._strides[0]*e+this._strides[1]*i,this._buffer[s]=n,this}}var isInteger$b=__var_0__.isPrimitive,getIndex$b=__var_1__;function wrap$9(e){var r=e[0%e.length],t=e[1%e.length],i=e[2%e.length];return function(e,n,s,a){var _;if(!isInteger$b(e))throw new TypeError("invalid argument. Index for first dimension must be an integer value. Value: `"+e+"`.");if(!isInteger$b(n))throw new TypeError("invalid argument. Index for second dimension must be an integer value. Value: `"+n+"`.");if(!isInteger$b(s))throw new TypeError("invalid argument. Index for third dimension must be an integer value. Value: `"+s+"`.");return e=getIndex$b(e,this._shape[0]-1,r),n=getIndex$b(n,this._shape[1]-1,t),s=getIndex$b(s,this._shape[2]-1,i),_=this._offset+this._strides[0]*e+this._strides[1]*n+this._strides[2]*s,this._buffer[_]=a,this}}var isInteger$c=__var_0__.isPrimitive,getIndex$c=__var_1__;function wrap$a(e){var r=e[0%e.length],t=e[1%e.length],i=e[2%e.length],n=e[3%e.length];return function(e,s,a,_,o){var d;if(!isInteger$c(e))throw new TypeError("invalid argument. Index for first dimension must be an integer value. Value: `"+e+"`.");if(!isInteger$c(s))throw new TypeError("invalid argument. Index for second dimension must be an integer value. Value: `"+s+"`.");if(!isInteger$c(a))throw new TypeError("invalid argument. Index for third dimension must be an integer value. Value: `"+a+"`.");if(!isInteger$c(_))throw new TypeError("invalid argument. Index for fourth dimension must be an integer value. Value: `"+_+"`.");return e=getIndex$c(e,this._shape[0]-1,r),s=getIndex$c(s,this._shape[1]-1,t),a=getIndex$c(a,this._shape[2]-1,i),_=getIndex$c(_,this._shape[3]-1,n),d=this._offset+this._strides[0]*e+this._strides[1]*s+this._strides[2]*a+this._strides[3]*_,this._buffer[d]=o,this}}var isInteger$d=__var_0__.isPrimitive,getIndex$d=__var_1__;function wrap$b(e){var r=e.length;return function(){var t,i,n,s;for(t=arguments.length,i=this._offset,s=0;s<t-1;s++){if(!isInteger$d(arguments[s]))throw new TypeError("invalid argument. Indices must be integer valued. Argument: "+s+". Value: `"+arguments[s]+"`.");n=getIndex$d(arguments[s],this._shape[s]-1,e[s%r]),i+=this._strides[s]*n}return this._buffer[i]=arguments[s],this}}var compile$1=set,set1d=wrap$7,set2d=wrap$8,set3d=wrap$9,set4d=wrap$a,setnd=wrap$b;function set$1(e,r,t){return r?compile$1(e,t):1===e?set1d(t):2===e?set2d(t):3===e?set3d(t):4===e?set4d(t):setnd(t)}function copy(e,r){var t,i;for(t=[],i=0;i<r;i++)t.push(e[i]);return t}var isObject=__var_0__$1,hasOwnProp=__var_1__$1,isArray=__var_2__,isBoolean=__var_3__.isPrimitive,isIndexMode=__var_4__;function validate(e,r){var t;if(!isObject(r))return new TypeError("invalid argument. Options must be an object. Value: `"+r+"`.");if(hasOwnProp(r,"codegen")&&(e.codegen=r.codegen,!isBoolean(e.codegen)))return new TypeError("invalid option. `codegen` option must be a boolean primitive. Option: `"+e.codegen+"`.");if(hasOwnProp(r,"mode")&&(e.mode=r.mode,!isIndexMode(e.mode)))return new TypeError("invalid option. `mode` option must be a recognized mode. Option: `"+e.mode+"`.");if(hasOwnProp(r,"submode")){if(e.submode=r.submode,!isArray(e.submode))return new TypeError("invalid option. `submode` option must be an array containing recognized modes. Option: `"+e.submode+"`.");if(0===e.submode.length)return new TypeError("invalid option. `submode` option must be an array containing recognized modes. Option: `"+e.submode.join(",")+"`.");for(t=0;t<e.submode.length;t++)if(!isIndexMode(e.submode[t]))return new TypeError("invalid option. Each `submode` must be a recognized modes. Option: `"+e.submode[t]+"`.");e.submode=e.submode.slice()}return null}var setReadOnly=__var_0__$2,isArrayLikeObject=__var_1__$2,isTypedArrayLike=__var_2__$1,isBuffer=__var_3__$1,isNonNegativeIntegerArray=__var_4__$1.primitives,isNonNegativeInteger=__var_5__.isPrimitive,isPositiveInteger=__var_6__.isPrimitive,isIntegerArray=__var_7__.primitives,isOrder=__var_8__,isDataType=__var_9__,isBufferLengthCompatible=__var_10__,bytesPerElement=__var_11__,baseCtor=__var_12__,inherit=__var_13__,defaults=__var_14__,igetValue=wrap,isetValue=wrap$1,getValue=get$1,setValue=set$1,copy$1=copy,validate$1=validate,MAX_DIMS=32767;function ctor(e,r,t){var i,n,s;if(!isDataType(e))throw new TypeError("invalid argument. First argument must be a supported ndarray data type. Value: `"+e+"`.");if(!isPositiveInteger(r))throw new TypeError("invalid argument. Second argument must be a positive integer. Value: `"+r+"`.");if(r>MAX_DIMS)throw new RangeError("invalid argument. Number of dimensions must not exceed "+MAX_DIMS+" due to stack limits. Value: `"+r+"`.");if((n={}).codegen=defaults.codegen,n.mode=defaults.mode,arguments.length>2&&(s=validate$1(n,t)))throw s;function a(e,t,n,s,_){var o,d;if(!(this instanceof a))return new a(e,t,n,s,_);if(!isArrayLikeObject(e)&&!isTypedArrayLike(e)&&!isBuffer(e))throw new TypeError("invalid argument. `buffer` argument must be an array-like object, typed-array-like, or a Buffer. Value: `"+e+"`.");if(!isNonNegativeIntegerArray(t))throw new TypeError("invalid argument. `shape` argument must be an array-like object containing nonnegative integers. Value: `"+t+"`.");if(t.length!==r)throw new Error("invalid argument. `shape` length must match the number of dimensions. Expected number of dimensions: "+r+". Shape length: "+t.length+".");if(!isIntegerArray(n))throw new TypeError("invalid argument. `strides` argument must be an array-like object containing integers. Value: `"+n+"`.");if(n.length!==r)throw new Error("invalid argument. `strides` length must match the number of dimensions. Expected number of dimensions: "+r+". Strides length: "+n.length+".");if(!isNonNegativeInteger(s))throw new TypeError("invalid argument. `offset` argument must be a nonnegative integer. Value: `"+s+"`.");if(!isOrder(_))throw new TypeError("invalid argument. `order` argument must be a supported order. Value: `"+_+"`.");if(!isBufferLengthCompatible(e.length,t,n,s))throw new Error("invalid arguments. The input buffer is incompatible with the specified meta data. Ensure that the offset is valid with regard to the stride array and that the buffer has enough elements to satisfy the desired array shape.");return o=copy$1(t,r),d=copy$1(n,r),i.call(this,e,o,d,s,_),setReadOnly(this,"_parent",i),this}return void 0===n.submode&&(n.submode=[n.mode]),i=baseCtor(e,r,n),setReadOnly(a,"BYTES_PER_ELEMENT",bytesPerElement(e)),setReadOnly(a,"dtype",e),setReadOnly(a,"ndims",r),inherit(a,i),setReadOnly(a.prototype,"get",getValue(r,n.codegen,n.submode)),setReadOnly(a.prototype,"iget",igetValue(i.prototype.iget,n.mode)),setReadOnly(a.prototype,"set",setValue(r,n.codegen,n.submode)),setReadOnly(a.prototype,"iset",isetValue(i.prototype.iset,n.mode)),a}var ctor$1=ctor;export default ctor$1;
//# sourceMappingURL=ctor.js.map